Tentative Schedule
Week 1
By the end of this week students should understand:
- HTML/CSS basics
- basic navigation and tasks in Terminal
- using basic Git and GitHub workflows
- large PSD-to-semantic-markup-and-css projects
- pixel perfect work on any layout their given
- quality documentation and resources (MDN, Stackoverflow, etc.)
Week 2
By the end of this week students should understand:
- Responsive web development
- SCSS syntax, Sass mixins, variable, and functions like
darken
and
lighten
.
- refactoring plain CSS into well-written SASS
- Bourbon and Neat
Week 3 Goals
By the end of this week students should understand:
- ES3/5/6/7
- 3: core
- 5: array/object methods
- 6: so many new things, syntax
- 7: async, observe, comprehensions
- to use: transpiler (compatibility), linter (safety), modules (reusability)
- MS TypeScript, FB Flow, Google SandScript??? (types, typechecking)
- CoffeeScript (moon orbit.. compiles to JS)
- Dart (comet orbit ... OOP, imperative)
- CLJS (functional, immutable, etc)
- basic JavaScript types, operators, statements, and expressions
- jQuery-less DOM traversal (
getElementById
, querySelectorAll
, etc.)
- iteration in JS
Array.prototype.map
, Array.prototype.reduce
, Array.prototype.filter
,
etc.
- Handlebars.js
Week 4 Goals
By the end of this week students should understand:
- DOM-related jQuery
- Underscore as a fallback for native methods like
Array.prototype.map
- Underscore chaining
- datamining a large set of JSON objects using Underscore to find average
prices, materials etc (generally done with data from Etsy.com)
- Gulp basics
- the basics of HTTP and AJAX
- non-DOM-related jQuery
- building a simple, polling-based chat application using GET and POST HTTP
methods
- JS promises (jQuery-flavored)
Week 5 Goals
By the end of this week students should understand:
- team-based workflow with Git/GitHub
git rebase
, git pull --rebase
, git merge
- JS constructors and the
new
keyword
this
- scope
- closures
- currying and partial application
Week 6 Goals
By the end of this week students should understand:
Backbone.Router
hashbangs vs HTML5 Pushstate API
Backbone.Model
Backbone.Collection
using Backbone's Model and Collection constructors to refactor a previous
AJAX project
basics of JavaScript unit testing
Mocha and Chai
Backbone.View
Building a small JavaScript MVC "todo" app.
Using REST APIs (with jsonp, CORS, or some other x-domain circumvention
method)
Week 7 Goals
By the end of this week students should understand:
- all aspects of Backbone.js
- reading and understanding the Backbone.js source code
- using Parse's REST API and datastore
- relational vs non-relational databases
Week 8 Goals
By the end of this week students should understand:
- basics of user authentication, cookies, and localStorage
- building a small-scale social network with Parse.
- complex queries on relational Parse data
- ember-cli
- Ember object model and computed properties
- using Ember Components to refactor a previous Backbone project
Week 9 Goals
This week is a week for review and catch-up. Things will fall through the cracks
during the previous 8 weeks, and so we have this week as a flex week to make
sure we cover everything we've missed.
By the end of this week students should understand:
- ember-data-lite
- Ember Router and Routes
- Using JavaScript libraries with Ember (e.g. Google Maps)
- ember-cli addons
- Deploying ember-cli apps
- cloud modules with Parse
- building an HTTP proxy in node.js
Week 10, 11, 12
The last three weeks are for final projects. Each student will design, build and
deploy a major project of their own, using as much tech from the previous nine
weeks as possible. Lecture is light and mostly Q&A based on problems students
encounter. The rest of the time is spent working on final projects and prepping
demos