Skip to content

Latest commit

 

History

History
144 lines (109 loc) · 6.97 KB

README.md

File metadata and controls

144 lines (109 loc) · 6.97 KB

ACS 1320 - Foundation JavaScript

Course Description

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.

Why you should take this course

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.

Prerequisites:

ACS 1700 or equivalent

Learning Outcomes

By the end of the course will be able to:

  1. Write fundamental JavaScript including variables, loops, conditionals, and classes with professional syntax
  2. Design & Implement web games with JS
  3. Write functions and differentiate function types; closures, callbacks, and handlers
  4. Modify the DOM with JavaScript
  5. Define scope and differentiate between function and block scope
  6. Use developer tools to debug projects

Schedule

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

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

Projects

  • Project 1 - Break Out - Assignments 1-5
  • Project 2 - Single Page Application Tutorial - Assignment 6
  • Project 3 - Final Project - Assignment 7

Video Lectures

You can follow video lectures for this course here:

Evaluation

To pass this course you must meet the following requirements:

  • Achieve a passing score according to the rubric on each of the three projects.