Pages

List of all pages in a concise list.

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…

Workbooks

Workbooks are the main assignments for CS559. There will be approximately a workbook each week (12 in total, although the last workbook is a bigger “final” workbook). Workbooks are small web sites with web pages and code that you will read and write. Each week, you will get a workbook from Github (see { Git and GitHub in CS559 (How things will work)). You’ll read the text of the workbook, experiment with the code in the workbook, and make additions as directed. Read more…