Pages

List of all pages in a concise list.

Syllabus

The “Syllabus” is an official University form with pre-defined questions. This information has been posted on the official University systems (AEFIS and Canvas). As a student, you are probably more interested in the detailed Policies or the Calendar. More generally, all of the things you want are somewhere on the course web page . In particular, you might want to look at: The Class Overview page Overview The Class Policies page Policies The Course Schedule page Calendar The Course Learning goals page (which has details of the topics) Learning Goals The content of the official syllabus is provided as a PDF Read formatted page...

Software

It will be really worth your time to set you computer up for class. The tools you need are discussed at Tools. Here are some steps that I used to set up a new Windows laptop for working on class projects. This can give you a sense of how to get the things on the Tools page setup on your machine. It will probably be different for you. If you have a Mac or are running Linux, I can’t provide as much help. Read more…

Typed JavaScript and CS559

JavaScript does not require you to declare the types of your variables, function arguments, objects, object properties, or much of anything. However, if you give it some hints as to what you expect (as comments in your code), you can help a reader understand your program, and software tools find mistakes. This page describes some programming practices that are recommended for CS559. We (the course staff) will try to use this in all of the example code and framework code that we provide to you. Read more…

Learning Goals

This class is meant to teach you about Computer Graphics. Computer Graphics is the study of how we make pictures with computers. The focus of the class is teaching you the key ideas of computer graphics. The class will also teach you about how to do interactive graphics programming. We will use web technologies for this. On one hand, doing interactive web programming is a means to an end: you need to program graphics in order to really learn it. Read more…

Visual Studio Code (VSCode) for CS559

We recommend using Visual Studio Code (VSCode) for doing the programming assignments in CS559. For other suggestions, see the Tools page. You will need to use some text editor for editing JavaScript programs and web pages (e.g., html and css files). It is worth investing your time in learning to use good tools (like VSCode). Why I recommend VSCode: VSCode has great support for JavaScript editing. It does the basics very well (autoformatting, syntax highlighting, …) as well as more advanced editing features (code refactoring, …). Read more…

Tools

Preface: For programming in this class, you will want to have good tools. Good tools make programming easier, and let you focus on the (more fun and interesting) content. You will also need to have tools to work with GIT for source control as this will be our mechanism for handing in assignments. Some ideas on how to install the recommended tools (on Windows) are provided at Software. Overview of Programming Tools for CS559 In CS559, you will do a substantial amount of JavaScript programming. Read more…

Course Pre-Requisites (should you be here?)

Pre-Requisites: what you need to know before taking this class. Officially the prerequisites are: (MATH 222 or MATH 276) and (COMP SCI 367 or 400) or graduate/professional standing or declared in the Capstone Certificate in Computer Sciences for Professionals The Programming requirements We require CS400. Not necessarily because we want all the specific things they teach you in the class, but rather, we expect you to be a mature enough programmer that you can write non-trivial programs. Read more…

Javascript in CS559

What’s on this page If you’re not already a JavaScript programmer, you may prefer to start at the end of the page Advice on learning JavaScript. A short explanation about the use of JavaScript in CS559 A short description of the rules for using JavaScript in CS559 The motivation for using JavaScript in CS559 The rationale for the rules about using JavaScript in CS559 A discussion of versions of JavaScript (which will explain what we’re using and help you use it) A discussion of tools you can use for JavaScript Advice on learning JavaScript - including books and online resources Basic Idea of JavaScript in CS559 You must do all of the programming assignments for CS559 in JavaScript. Read more…

Git and GitHub in CS559

In CS559 this semester, we will use GitHub as a mechanism for distributing framework code (the starter code for assignments) as well as to have students hand in their assignments. If you’ve never used GIT, some of this might not make sense yet, since we are using GIT terminology. See “Learning GIT and GitHub” below for help in getting started. Learning enough about GIT is a requirement for the class. Technically, knowing the basics of GIT is a pre-requesite (since it is covered in CS400). Read more…

Books

You are not required to purchase books for this class. All required readings will be provided online. Some of the readings are provided under academic fair use, and are only for students in the class. For this reason, they will be provided via the course Canvas page. We will be using portions of some textbooks, but these are available online through the UW library. We will make selected chapters (the ones required for class) available through Canvas (Files on Canvas). Read more…