Detailed Course Schedule
This schedule is tentative! Each topic links to a PDF with slides, once available.
Date | Topic | Assigned | Due | |
---|---|---|---|---|
Week 1 | ||||
Tu | 9/10 |
Introduction, Javascript
SW development, SaaS, “agile” processes, learning a new language |
Getting Started
Background Survey |
|
Th | 9/12 |
Javascript, cont.
Event loop, closures, functional programming, common syntactic sugar Suggested Reading |
P1: Javascript
Programming Assignment 1 |
|
Week 2 | ||||
Tu | 9/17 |
Testing, TDD, Static Analysis
Unit, integration, end-to-end tests, Jest, linting with ESLint Suggested Reading |
P2: Testing
|
|
Th | 9/19 |
Introduction to React
React, props and callbacks, color picker examples Suggested Reading |
P3: React Page
Programming Assignment 2 |
P1: Javascript
Programming Assignment 1 |
Week 3 | ||||
Tu | 9/24 |
React components
Presentation/container components, hooks Suggested Reading |
P2: Testing
|
|
Th | 9/26 |
React testing, NextJS
Front-end testing, Testing library, Promises, async/await Suggested Reading |
P4: React Testing
Programming Assignment 3 |
P3: React Page
Programming Assignment 2 |
Week 4 | ||||
Tu | 10/1 |
Consuming REST APIs
HTTP, REST APIs, AJAX, Promises, useEffect Hook Suggested Reading |
P5: Fetch
Project Proposal |
|
Th | 10/3 |
Behavioral testing, User stories, Lo-fi Mockups
BDD, INVEST user stories, Cucumber-like behavioral testing, UI design strategies |
Programming Assignment 4
|
P4: React Testing
Programming Assignment 3 |
Week 5 | ||||
Tu | 10/8 |
Version control, CI/CD, deployment and DevOps
Git workflows, CI/CD, introduction to DevOps Suggested Reading |
P6: Deployment
|
P5: Fetch
|
Th | 10/10 |
Agile development processes agile and scrum video working as a team video Scrum, point estimation, pair programming, workflows |
Project Preferences
|
Programming Assignment 4
|
Fr | 10/11 |
⚠️ Friday Due Date ⚠️ Project Preferences |
||
Week 6 | ||||
Tu | 10/15 |
Sprint 0 planning project proposals |
P6: Deployment
|
|
Th | 10/17 |
Servers, Creating REST APIs, Models (M in MVC)
NextJS API routes, Middleware and AOP, OO modeling with CRC cards |
P7: Server
|
|
Fr | 10/18 |
⚠️ Friday Due Date ⚠️ Sprint 0 Deliverables |
||
Week 7 | ||||
Tu | 10/22 |
Sprint 1 planning
|
||
Th | 10/24 |
Databases, Models, Associations, RDBMS
SQL vs. NoSQL, Schema, Migrations, ORM |
P8: RDBMS
|
P7: Server
|
Fr | 10/25 |
⚠️ Final Due Date for Practicals and Assignments ⚠️ P1: Javascript P2: Testing P3: React Page P4: React Testing P5: Fetch P6: Deployment Programming Assignment 1 Programming Assignment 2 Programming Assignment 3 Programming Assignment 4 |
||
Week 8 | ||||
Tu | 10/29 |
RDBMS, ORM (cont.)
|
||
Th | 10/31 |
Deployment, Monitoring, Performance
DevOps, *aaS, Performance metrics, Indexes, caching and other optimizations |
P9: CSS frameworks
|
P8: RDBMS
|
Week 9 | ||||
Tu | 11/5 |
Sprint 1 Demo, Sprint 1 Retrospective, Sprint 2 planning
|
||
Th | 11/7 |
Authentication (authn) and Authorization (authz)
3rd party authn/z, Google single-sign on, basic security practices |
P10: Authentication
|
P9: CSS frameworks
|
We-Fr | 11/6 - 11/8 | |||
Week 10 | ||||
Tu | 11/12 |
Code hygiene, Refactoring, Legacy code
SOFA, Code metrics, Exploring legacy codebases, Characterization testing |
||
Th | 11/14 |
Design patterns, SOLID
Design patterns, “Gang of Four” patterns, SOLID principles for OOP |
P10: Authentication
|
|
Week 11 | ||||
Tu | 11/19 |
Sprint 2 Demo, Sprint 2 Retrospective, Sprint 3 planning
|
||
Th | 11/21 |
Usability Testing
activity |
||
Week 12 | ||||
Tu | 12/3 |
SW development case study
|
||
Th | 12/5 |
Responsible developer?, Wrap-up
|
||
Week 13 | ||||
Mo | 12/9 |
⚠️ Final Due Date for Practicals and Assignments ⚠️ P7: Server P8: RDBMS P9: CSS frameworks P10: Authentication |
||
We-Fr | 12/11 - 12/13 | Optional Take-Home Retest | ||
Th | 12/12 |
Final Project Deliverables
|
||
Sat | 12/14 |
Final Project Presentations! 9AM-12PM (section A) and 7PM-10PM (section B) |