CS 257 Software Design S22 Schedule
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 |