This is a 10-week part-time course.
JavaScript is one of the strongest weapons in an engineer's arsenal. It can run both in the browser and on servers and is quickly becoming the go-to language to power web and mobile apps. If you want to be a web developer, JavaScript is a must-know.
Unit 1: Fundamentals of JavaScript
Installfest
- Install and configure Node.js, npm, Git and other command line tools
- Install and configure Slack and join class room
- Computational thinking exercise and introduction to computer science topics
Working with JavaScript on the Command Line
- Internet fundamentals
- Understanding the client-server model
- Understanding JavaScript in the browser vs. the command line
- Running JavaScript code on the command line
- Introduction to variables
Data Types
- Working with variables
- Working with conditionals
- Understanding data types
Collections and Loops
- Working with collections
- Working with loops
- Iterating over collections
Functions and Scope
- Working with functions
- Understanding scope
Unit 1 Project, Slackbot
- Using the provided scaffolding, build a basic Slackbot that responds to user input and run it locally from your machine in the class Slack channel
Unit 2: The Browser and APIs
Objects and JSON
- UWorking with objects and methods
- Intro to JSON
- Working with JSON-formatted data
Intro to the DOM and jQuery
- Intro to jQuery
- Understanding the DOM
- Forms and user input
DOM and jQuery, continued
- Events and listeners
- Manipulating objects in the DOM
AJAX and APIs
- Intro to AJAX
- Making API calls
- Consuming and working with API data
Asynchronous JavaScript and Callbacks
- Understanding asynchronous vs. synchronous
- Working with asynchronous APIs
- Working with callbacks
Unit 2 Take Home Project: API Consuming App
- Build a simple, single-page application that consumes data from an open, third-party API
Unit 3: Persisting Data and Advanced Topics
Advanced APIs
- Authentication
- Working with tokens and API keys
- Working with Oauth
Prototypical Inheritance
- Intro to prototypical inheritance
- Working with prototypes
- Working with constructors
This and Anonymous Functions
- Understanding “This”
- Working with anonymous functions
Intro to CRUD and Firebase
- Understanding CRUD
- Intro to Firebase
- Writing user data to Firebase
- Retrieving and updating user data
In-Class Lab
- Begin working on your final project: a single-page application that consumes data from at least one API and persists user data via Parse
Unit 4: Building and Deploying Your App
Deploying Your App
- Working with CSS frameworks
- Deploying your app to GitHub Pages/Heroku
- Using a custom domain name with GitHub Pages/Heroku
Instructor/Student Choice
- Instructor will choose a topic that is not covered in the syllabus and prepare and teach an original lesson on that topic
- Sample topics include introductions to various frameworks, libraries and tools not covered in class
Lab Time
- Work on your final project with assistance from your peers and the instructional team
Final Project Presentations
- Present your final project: a single-page application that consumes data from at least one API and persists user data via Parse
School Notes:
For students enrolling in 12 week part time and immersive classes, it is not recommended that you book more than one class simultaneously.