Project details
Project checklist

Schedule

This is a living schedule and subject to change

Date Topic Reading Notes Assignment
02/14 Introductions EJ 1   Attendance
02/16 More JavaScript EJ 3-4 examples Attendance
02/21 JavaScript and the DOM     Attendance
02/23 More DOM, Intro to React   color picker Assignment 01 due [solution]
02/28 More React   react color picker Assignment 02 due
03/02 React, JSX, CSS   film explorer  
03/07 Container components, Component design     Assignment 03 due
03/09 Input Components, Loading data      
03/14 Mutating state     Assignment 04 due
03/16 REST, node+express   simple-server Project proposals due
03/21 Project pitches     Project choice
03/23 Agile development Scrum Guide slides Assignment 05 due
03/28 Spring break      
03/30 Spring break      
04/04 Project start: Sprint planning     Demo scheduling form
04/06 Backend development, MongoDB   film-explorer-server Demo scheduling form part II
04/11 MongoDB   film-explorer-server  
04/13 Relational Databases, SQLite   film-explorer-server-sql  
04/18 Demos/Sprint retrospective     Individual report 1 due
04/20 Sprint planning      
04/25 SQLite exercise      
04/27 SQLite exercise cont.      
05/02 Demos/Sprint retrospective     Individual report 2 due
05/04 Sprint planning      
05/09 Testing      
05/11 Testing exercise      
05/16 Final Demos 11:00 - 01:00      
05/22 Project due      

Resources

Installing Node
Follow these instructions to get node running on the linux machines or on your personal machines.
W3 Schools
This is a good place to go for basic introduction to HTML and CSS if you are someone for whom this material is brand new.
JavaScript MDN Reference
This is a great breakdown of all of the features in JavaScript. If you search for particular aspects of the language, you will probably wind up here.
Git Refcard
I am a big fan of single page cheat sheets with all of the important commands on them.
Git Reference
This is somewhere between a quick reference and detailed explanations.
React.js
Documentation for React
Node.js
The homepage for Node.js.
npm
Home of npm. You will find all of the packages you can install here as well as the documentation.
Express.js
Home of the web framework Express.
MongoDB
Home of MongoDB
SQLite
Home of SQLite
You Might Not Need JQuery
A guide to how to do many of the things that JQuery can do in vanilla JavaScript. Also useful as a cookbook for how to do some common operations even if you weren't already using JQuery…

Books

There are many books about the topics we will be dealing with. Many have something to offer, and I urge you to check out some of them for different perspectives/ more details. I will be growing this list as the semester progresses.

Eloquent JavaScript
A good basic (and free) introduction to JavaScript.
JavaScript: The Good Parts
This is a good distillation of the good, the bad and the ugly of JavaScript.
Pro Git
An online textbook all about using Git.
Testable JavaScript
A general approach to writing code that is testable. (Available from the library with Middlebury credentials)
Learning JavaScript Design Patterns
This has a good collection of common JavaScript design patterns with examples.
The Scrum guide
The definitive guide to what Scrum is
The Little MongoDB Book
An open source book on MongoDB