Build and expand your understanding of JS one of the most important languages in use today.
During this course you will build three games with the mindset of someone working on, maintaining, and updating a codebase that you are responsible for. Along the way, you will work with many core features of the JavaScript language.
The course will cover foundational JavaScript, debugging JavaScript and working with various JavaScript Libraries to build applications and games. Classes and Object Oriented Programming (OOP) are introduced with a closer look at how OOP is uniquely implemented in JavaScript.
JavaScript is one of the most important languages in use today. You work with it daily in everything you interact with from web sites to mobile applications, to embedded IoT devices. Applications built with JavaScript have the highest potential impact and the lowest barrier to entry. If you want to create an application and put in front of the widest array of users you'll probably want to build it with JavaScript.
ACS 1700 or equivalent
By the end of the course will be able to:
- Write fundamental JavaScript including variables, loops, conditionals, and classes with professional syntax
- Design & Implement web games with JS
- Write functions and differentiate function types; closures, callbacks, and handlers
- Modify the DOM with JavaScript
- Define scope and differentiate between function and block scope
- Use developer tools to debug projects
Course Dates: Spring A 2026 1/20/26 to 3/6/26
Class Times: Monday and Wednesday 1:00 PM to 3:45 PM
| Class | Date | Topics | Assignment |
|---|---|---|---|
| 1 | Wed, Jan 21 | JS Modules. | Shopkeeper Part 1 |
| 2 | Mon, Jan 26 | JS Event Listeners | Shopkeeper Part 2 |
| 3 | Wed, Jan 28 | JS Exercises 0 | Shopkeeper Part 3 |
| 4 | Mon, Feb 2 | Shopkeeper Part 4 | |
| 5 | Wed, Feb 4 | Shopkeeper Part 5 | |
| 6 | Mon, Feb 9 | Shopkeeper Part 6 | |
| 7 | Wed, Feb 11 | TypeScript | [Shopkeeper TypeScript] |
| 8 | Mon, Feb 16 | Presidents Day No Class | React: Fundamentals Tutorial |
| 9 | Wed, Feb 18 | Component Architecture | Final Project: Getting started |
| 10 | Mon, Feb 23 | Components and State | - |
| 11 | Wed, Feb 25 | Forms and user input | - |
| 12 | Mon, Mar 2 | Building and Publishing | - |
| 13 | Wed, Mar 4 | Tailwind | - |
Assignments will be made available at the date listed and must be turned in one week after becoming available (with exception to the final project which must be turned in by the last day of class).
Assignments must be turned in via Gradescope for credit!
| Topic | Due Date | Assignment |
|---|---|---|
| 1 | Thr, Jan 23 | Break Out: Tutorial Your completed breakout game linted! |
| 2 | Tue, Feb 4 | Break Out: OOP Inheritance Your completed breakout game updated with OOP and inheritence |
| 3 | Thr, Feb 11 | Break out: Bundling JavaScript |
| 4 | Tue, Nov 23 | React: Fundamentals Tutorial |
| 5 | Thu, Dec 9 | Final Project: Getting started |
- Project 1 - Break Out - Assignments 1-5
- Project 2 - Single Page Application Tutorial - Assignment 6
- Project 3 - Final Project - Assignment 7
You can follow video lectures for this course here:
To pass this course you must meet the following requirements:
- Achieve a passing score according to the rubric on each of the three projects.