Course Outline (subject to change)
I'm currently in the process of updating the course, adding more modern and relevant topics. The following may not reflect the changes implemented in the class yet.
Course Modules
1. Source Version Control (git)
- Development Environment Setup
- Source Version Control Using Git/Github
- Assignment: Online Portfolio
- Quiz 1: Syllabus
- Quiz 2: Source Version Control
2. JavaScript Fundamentals
- Web History/Architecture
- JavaScript Fundamentals
- Assignment: JS Exercise
- Quiz: JS Fundamentals
3. DOM and Forms
- DOM
- jQuery
- Web forms
- Input validation
- Regular Expressions
- Assignment: Rock Paper Scissors
- Quiz: DOM and Forms
4. Introduction to React.js
- React.js
- Assignment: Rock Paper Scissors (Re-creation)
- Quiz: React.js
X. JSON, Networking, and React Hooks
- JSON methods
- Asynchronous JavaScript
- fetch
- Assignment: Chatting Application (Lab)
- Quiz: JSON and Networking
- Check-in Survey1
6. Canvas and Animation
- Canvas
- CSS Animation
- WebGL
- Quiz: Canvas API and Animation
- Assignment: Hangman
X. Browser API
- Navigator
- Geolocation
- WebVR
- Web Workers
- Notification
- Web Storage:
- LocalStorage
- WebSQL
- IndexedDB
- PouchDB
- localForage
- Quiz: Web Storage and API
X. Phaser - Game Engine
- What is Phaser?
- What does Phaser offer
- How to get set up
- Build your first game
- Assignment: Phaser Tutorial (Lab)
- Final Project: Teams and Ideas
X. Phaser Continued
- Colliders
- Input Options
- Audio
- Physics
- Assignment: Phaser Game
- Final Project: Final Project Proposal
X. Debugging, Tooling and Testing
- Debugging applications with the Chrome Developer Tools
- Testing applications with Jest
- Automatically browser testing
- Tooling (Webpack and Babel)
X. Mobile Application Development
- What is Cordova?
- Building your first Cordova application
- Native Plugins
- Application Deployment
- Ionic Framework
X. Framework Comparison
- Framework vs Library
- Model-View-Controller
- Angular.js
- Angular
- React
X. Where to go from here?
- Server-side programming
- Desktop Application Development
- Electron
- Mobile Application Development
- Virtual Reality in JavaScript
- Machine Learning in JavaScript
- IoT in JavaScript
- TypeScript