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 2024 1/21/24 to 3/7/24
Class Times: Tuesday and Thursday 1:00 PM to 3:45 PM
Class | Date | Topics | Assignment |
---|---|---|---|
1 | Tue, Jan 21 | JavaScript Basics | Break Out: Tutorial |
2 | Thr, Jan 23 | JavaScript Professional Best Practice | Break Out: ESLint |
3 | Tue, Jan 28 | JavaScript OOP | Break Out: OOP |
4 | Thr, Jan 30 | OOP and Classes Lab | (optional Functional Breakout) |
5 | Tue, Feb 4 | JS OOP Inheritence | Break Out: OOP Inheritance |
6 | Thr, Feb 6 | Bundling JS | Break out: Bundling JavaScript |
7 | Tue, Feb 11 | breakout-typescript | breakout-typescript |
8 | Thr, Feb 13 | Single Page Applications | React: Fundamentals Tutorial |
9 | Tue, Feb 18 | Component Architecture | Final Project: Getting started |
10 | Thr, Feb 20 | Components and State | - |
11 | Tue, Feb 25 | Forms and user input | - |
12 | Thr, Feb 27 | Building and Publishing | - |
13 | Tue, Mar 4 | Tailwind | - |
14 | Thr, Mar 6 | Final Assessment: Test your Knowledge |
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.