Syllabus
(Fall 2015)
Week 1
Mon 7/13
- Topics:
- JS Console, Node REPL;
- Operators, Expressions, & Statements;
- Variables, Assignment & Equality; Boolean expressions;
- Primitive types; String concatenation; Auto-conversion
- Reading: Eloquent Javascript
- Introduction
- Chapter 1
- Chapter 2
- Topics:
Wed 7/15
- Topics:
- Git: Overview, Installation, Homework workflow
- ScratchPad;
- Debugging with
console.log
- Conditionals & Branching; Truthiness;
- Boolean/Branching Operators (
&&
,||
);
- Homework 1: Expressions, Types, & Simple Computations
- Topics:
Sat 7/18
- Challenge Day!
Week 2
Mon 7/20
- Topics:
- Blocks; Loops (
while
,for
); - Array basics, indexing
- Blocks; Loops (
- Reading: Eloquent Javascript, Chapter 3
- Homework 2: Arrays, Functions, and Loops
- Topics:
Wed 7/22
- Topics:
- Function basics: parameters, return values, definition vs. call;
- Local variables, scope, and shadowing
- Defensive Programming; Parameter checking;
- Basic Testing with Assertions
- Codewars
- Topics:
Week 3
Mon 7/27
- Topics:
- JS within HTML; Codepen
- Objects: incremental creation, literal notation, nesting;
- Properties, membership operators (
[]
and.
), reference chains; - Property creation, deletion, enumeration (
in
operator,for...in
loops); Properties vs. Variables
- Homework 3: Objects
- Reading: E-JS Chapter 4 through mutability
- Topics:
Wed 7/29
- Topics:
- References; Object linking and sharing, shallow copy and compare,
null
, reference arguments - Arrays as Objects; Array methods
- String methods; String wrapper objects
- Custom methods,
this
keyword & dynamic scoping; - Example roles of objects
- References; Object linking and sharing, shallow copy and compare,
- Topics:
Sat 8/1
- JS Topics (Afternoon):
- Functions as Objects; aliasing methods
- Function details: Evaluation Phases, Call Objects/Scopes, Lexical Scoping, preview of closures;
- JS Topics (Afternoon):
Week 4
Mon 8/3
- Topics:
- Functions as Arguments, Callbacks; Anonymous Functions;
- Call operator, parentheses types;
-
this
as Global Object; Global variables vs. properties
- Homework 4: Callbacks and Factories
- Topics:
Wed 8/5
- Topics:
- Factory Functions; Duplicate vs. Shared Methods
- Reading: E-JS Chapter 5 through "Transforming with Map"
- Topics:
Week 5
Mon 8/10
- Topics:
- Access control with Closures; Private variables and functions
- Homework 5: Closures and modules
- Reading:
- Topics:
Wed 8/12
- Topics:
- Closure Modules (IIFEs); More closure examples
- Retrospective #1
- Topics:
Week 6
Mon 8/17
- Topics:
- Constructors,
new
; - Wrapper Objects and Converters;
- Prototypes
- Constructors,
- Homework 6: Constructors, Subclassing; Memory Game
- Reading: E-JS Chapter 6
- Topics:
Wed 8/19
- Topics:
- Inheritance and Subclassing;
- Instance vs. Class Methods
- Underscore.js, _.extend
- Topics:
Week 7
Mon 8/24
- Topics:
- Intro to the DOM: manipulation, retrieval, events
- Homework 7: Client-side GUI with DOM + jQuery
- Topics:
Wed 8/26
- Topics:
- Event Handlers
- Overloading and Chaining
- Introduction to JQuery
- Reading: JQuery Fundamentals and Traversing & Manipulating
- Topics:
Sat 8/29
- DOM mini-project;
- Whiteboarding, tech interview practice
Week 8
Mon 8/31
- Topics:
- TDD/BDD
- Testing with Mocha
- Chai Assertion libraries
- Topics:
Wed 9/2
- Topics:
- Introduction to using APIs
- JSON
- Ajax calls with jQuery;
- Cross-domain calls & jsonp
- Topics:
Intermission
Mon 9/7
- Labor Day Break!
Wed 9/9
- More Break!
Week 9
Mon 9/14
- Topics
- MVC design pattern
- Intro to Backbone; Simple Views and Models
- Backbone Events
- Nested views in Backbone, Backbone Collections
- Homework 9: Backbone Issue Tracker (Stage 1)
- Topics
Wed 9/16
- Git workflow & project management
- Git merge conflicts
- Backbone Templates; more Backbone Examples
Week 10
Mon 9/21
- Topics:
- Internet concepts (http, server, client);
- Request types; REST/CRUD;
- curl & REST clients;
- Homework 10: Backbone Issue Tracker (Stage 2)
- Topics:
Wed 9/23
- Topics:
- Backbone routes; Collection persistence
- Topics:
Sat 9/26
- Backbone project development
Week 11
Mon 9/28
- Topics:
- Introduction to Node
- Node modules
- Asynchronous callbacks
- Basic Node servers
- File servers and streamers
- Topics:
Wed 9/30
- Topics:
- Static site servers
- Serving up Backbone app as static web page
- Topics:
Week 12
Mon 10/5
- Topics:
- Server-side Routing; Queries;
- Server routes, REST apis
- Integrating Backbone with Server APIs
- Topics:
Wed 10/7
- Topics:
Week 13
Mon 10/12
- Capstone begins; group formation; brainstorming; API research
- Git workflow review
Wed 10/14
- Topics:
- The need for persistence
- Key-value stores
- Integrating Orchestrate into applications
- Orchestrate <-> Server <-> Backbone transactions
- Topics:
Week 14
Mon 10/19
- Capstone waypoint 1:
- Initial design conception, commit to domain; explore feature space;
- At least 3 user stories ("As a
role
, I wantfeature
so thatreason
"); - Wireframes and/or mockups of your site's pages;
- Details about which APIs you plan to use;
- Some exploratory code;
- Clear division of labor
- Capstone waypoint 1:
Wed 10/21
- Topics:
- Authentication basics
- Password salting and hashing; 'pwd' module
- Server sessions, cookies
- Authentication server example
- Topics:
Week 15
Mon 10/26
- Capstone waypoint 2:
- Final design proposal; identify MVP and variants;
- project synopsis due;
- code in progress for all components from all team members
- Clear data structure design; models and collections created;
- Orchestrate app and keys set up
- BDD descriptions under way
- Capstone waypoint 2:
Wed 10/28
- Topics:
- Intro to Heroku
- Heroku config variables
- Topics:
Week 16
Mon 11/2
- Capstone waypoint 3:
- working alpha-level code for all components, MVP integration in progress;
- BDD descriptions finished; unit-tests in progress
- Capstone waypoint 3:
Wed 11/4
- Topics: TBD
Sat 11/7
- Capstone group tech talks
Week 17
Mon 11/9
- Capstone waypoint 4:
- Functional MVP complete
- Unit tests complete
- Bonus feature integration
- Capstone waypoint 4:
Wed 11/11
- Finish those projects!
Mon 11/16 - Wed 11/18
- Date range for final Capstone event