Skip to content

Tech-at-DU/ACS-1320-JavaScript-Foundations

 
 

Repository files navigation

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/15/24 to 3/4/24

Class Times: Tuesday and Thursday 9:30 AM to 12:15 PM

Class Date Topics Assignment
1 Tue, Jan 16 JavaScript Basics Break Out: Tutorial
2 Thr, Jan 18 JavaScript Professional Best Practice Break Out: ESLint
3 Tue, Jan 23 JavaScript OOP Break Out: OOP
4 Thr, Jan 25 OOP and Classes Lab (optional Functional Breakout)
5 Tue, Jan 30 JS OOP Inheritence Break Out: OOP Inheritance
6 Thr, Feb 1 Bundling JS Break out: Bundling JavaScript
7 Tue, Feb 6 breakout-typescript breakout-typescript
8 Thr, Feb 8 Single Page Applications React: Fundamentals Tutorial
9 Tue, Feb 13 Component Architecture Final Project: Getting started
10 Thr, Feb 15 Components and State -
11 Tue, Feb 20 Forms and user input -
12 Thr, Feb 22 Building and Publishing -
13 Tue, Feb 27 Tailwind -
14 Thr, Feb 29 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 Tue, Oct 26 Break Out: Tutorial Your completed breakout game linted!
2 Thu, Nov 4 Break Out: OOP Inheritance Your completed breakout game updated with OOP and inheritence
3 Tue, Nov 9 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.

Releases

No releases published

Packages

No packages published

Languages

  • HTML 35.9%
  • JavaScript 34.6%
  • CSS 21.3%
  • SCSS 8.2%