This is a rough schedule of topics for each week and the expected completion of assignments. It will continue to be filled in throughout the term.

Class topics and homework information may change over the course of the term. Please treat this schedule as a rough guide for seeing what we’ll be focusing on, and expect that there will be shifts as the term progresses.

Readings should be completed before the class day that they are listed. Class is structured expecting that you have completed the reading. You also will need to complete a preparation activity before class, which you’ll find on Moodle.

“Krug” refers to our textbook Don’t Make Me Think! Revisited, by Steve Krug. “Martin” refers to our textbook Clean Code, by Robert C. Martin. Other readings will be linked through Moodle.

Date Assignments Due In Class Assignments Out
Week 1 Getting Started    
M 3/28 Reading: Syllabus, this schedule; Fill out Background Survey Course overview and discussion  
W 3/30 Project Aristotle, Agile Effective teams and Agile, start setting up computers  
F 4/1 Unix and Vim Tutorials Unix Scavenger Hunt  
Week 2 Project Foundations    
M 4/4 Looking for Datasets Start on Project Proposal Project Proposal Part 1 (due 4/11)
W 4/6 Reading about Git 1,2,3 Git Practice Labs  
F 4/8 Reading about CLI 1, 2 Start on CLI Design  
Week 3 Core Functionality    
M 4/11 Reading about TDD 1, 2, (Optional) Martin Ch 9 </br> Project Proposal Part 1 due TDD Lab Team - Command Line, Individual - Tests
W 4/13 Read Martin Ch 3 Function Design  
F 4/15 Read about Ethics in Tech: 1, 2 Intro to Tech Ethics  
Week 4 Flask Component    
M 4/18 Command Line project due; Flask readings 1, 2, 3 Intro to Flask Flask app project, Individual component
W 4/20 Code review readings Code review  
F 4/22 Individual component, HTML with Flask readings HTML Flask Lab  
Week 5 Front-End Component    
M 4/25 Flask app, Krug Ch 1-3 and 6 Webpage analysis Individual front-end, Team front-end
W 4/27 HTML and CSS readings: 1, 2, 3 HTML and CSS lab  
F 4/29 Readings: 1, 2, 3 Flask Forms Lab  
Week 6 Front-End Component Cont’d    
M 5/2 Midterm break!    
W 5/4 Individual front-end; Readings: Krug Ch 12, 1, two stories from 2 Accessibility Analysis  
F 5/6 Readings: Various resources Working on Front-end component  
Week 7 Database Component    
M 5/9 Team front-end; Readings: MVC, sections of SQL Starting with Databases Individual Database; Team Database
W 5/11 Readings: Database normalization More with Databases  
F 5/13 Individual back-end; Readings: psycopg2 Connecting Flask and Database  
Week 8 Refactoring    
M 5/16 Readings: Martin Ch 2 and 4 Naming and comments  
W 5/18 Team back-end; Readings: Martin Ch 17 Code Smells  
F 5/20 Code review prep Code review  
Week 9 More Refactoring    
M 5/23 Readings: Martin Ch 10 Designing classes  
W 5/25 Readings: TBD Design Patterns  
F 5/27 Readings: TBD    
Week 10 Wrapping Up    
M 5/30 Readings: TBD    
W 6/1 No readings Final project showcase  
Exam Week      
M 6/6 Exam Slot 12-2:30 Optional help time  
Final project due at 5pm