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
videos
Suggested Reading
|
|
|
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 |
Sat |
12/14 |
Final Project Presentations! 10:30AM-12PM (section A) and 7PM-8:30PM (section B)
|
Sun |
12/15 |
Final Project Deliverables
|