Basic Info

Exams (policy)

in Policies
  1. There will be 3 exams, given online. Two will be given on Wednesday evenings during the semester, one will be given in the official University Final Examination time slot.
  2. Each exam will be administered using Canvas Quizzing.
  3. Each exam will consist of 3 short segments. You must complete all 3 segments within the exam time window.
Read more…

Course Staff

in CS559 2022 Home Page
The staff for CS559 this semester includes the Professor, 4 Teaching Assistants (graduate students), and 3 Peer Mentors (undergraduate students). We work together as a team, and are all available to help you. Feel free to contact the course staff via Piazza. At least one member of the course staff will be available during Consulting Hours. If you would like to make an appointment to meet with a peer mentor or teaching assistant use the Appointment Scheduling Form Read more…

Workbooks

in Pages

Workbooks are the main assignments for class and the required reading. Understanding them is realy important.

Read more…

Syllabus

in Pages
A Syllabus may mean different things to different people. To the University, it is an official document that explains how the class meets some official rules. Officially, that is on AEFIS (since officially, that’s where syllabi are). A copy of that document will be available as a PDF here. What you are probably looking for (what I thought a syllabus is): If you want a concise description of how the course works, see the Course Overview. Read more…

Git and GitHub in CS559

in Pages

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-requisite (since it is covered in CS400). However, we will help you learn.

Read more…

Software

in Pages
It will be really worth your time to set you computer up for class. The tools you need are discussed at Tools for 559. 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 for 559 page setup on your machine. It will probably be different for you. Read more…

Course Pre-Requisites (should you be here?)

in Pages
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…

Visual Studio Code (VSCode) for CS559

in Pages

We recommend using Visual Studio Code (VSCode) for doing the programming assignments in CS559.

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).

Read more…

Typed JavaScript and CS559

in Pages

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.

Read more…

Books

in Pages

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.

Read more…