CS 257: Software Design Schedule (Fall 2026)

Adapted from materials courtesy of Profs. Anya E. Vostinar, Amy Csizmar Dalal, & Jeff Ondich.

Important Notes


  • You can find a lot of important information, such as student drop-in hours (aka office hours) and course grade determination, on the syllabus.
  • Class topics and homework information may change over the course of the term. Please treat this schedule as a rough guide for what we'll be focusing on and expect changes as the term progresses.
  • Before Class: Complete the readings and/or preparation activities. Class is structured expecting that you have completed these tasks.
  • Readings: "Krug" refers to Don't Make Me Think! Revisited, Steve Krug, "Martin" refers to Clean Code, Robert C. Martin, and "Costanza-Chock" refers to Design Justice, Sasha Costanza-Chock. Other readings will be linked through Moodle.
  • Restricted Access: Most of the links will require a Carleton login to view. If you're external to Carleton and want access, just shoot me an email.
  • Revisions: If you are submitting a revision for a deliverable, submit this form to let me and the course staff know where to look for changes.

Date Assignments Due In-Class Activities Assignments Released
Week 1 Getting Started
Mon 9/14 Intro to Software Design Prep Slides
Wed 9/16 Development Processes and Project Ideation Prep Slides
Getting Started Lab
Fri 9/18 Unix and Vim Prep Slides
Unix Scavenger Hunt
Week 2 Project Foundations
Code Review 1 Opens Monday
Mon 9/21 Team Expectations Prep Slides
Starting Project Proposal
Team Deliverable - Project Proposal
Wed 9/23 Git and Version Control Prep Slides
Individual Git Practice Lab
Fri 9/25 Finish Individual Git Practice Lab Slides
Team Git Practice Lab
Week 3 Sprint 1: Command Line Component
Mon 9/28 Test-Driven Development Prep
Team Deliverable - Project Proposal due 10pm
Slides
Start working on Individual Deliverable - Tests
Individual Deliverable - Tests
Wed 9/30 Command Line Prep Slides
Command Line Interface Design Lab
Team Deliverable - Command Line
Fri 10/2 User-Centered Design Approaches Prep
Individual Deliverable - Tests due 10pm
Slides
CIDER Assumption Elicitation Technique Lab
Week 4 Sprint 2: Flask Component
Code Review 1 Closes Sunday
Mon 10/5 Flask Prep
Team Deliverable - Command Line due 10pm
Slides
Start on Individual Deliverable - Flask
Individual Deliverable - Flask
Team Deliverable - Flask
Wed 10/7 Function Design Prep
Slides
Function Design Lab
Fri 10/9 HTML + Flask Prep
Individual Deliverable - Flask due 10pm
Slides
HTML + Flask Lab
Week 5 Sprint 3: Database Component
Code Review 2 Opens Monday
Mon 10/12 Intro to Databases Prep
Team Deliverable - Flask due 10pm
Slides
Task #1 of Individual Deliverable - Database
Individual Deliverable - Database
Team Deliverable - Database
Wed 10/14 Finish Task #1 of Individual Deliverable - Database Slides
CIDER on Dataset Lab
Task #2 of Individual Deliverable - Database
Fri 10/16 Normalization Prep Slides
Work on Team Deliverable - Database
Week 6 Sprint 4: Front-End Component
Mon 10/19 Mid-Term Break!
Wed 10/21 Usability Prep
Individual Deliverable - Database due 10pm
Slides
Work on Team Deliverable - Database or CSS and HTML Prep
Fri 10/23 CSS and HTML Prep Slides Individual Deliverable - Front-End
Team Deliverable - Front-End
Week 7 Sprint 4: Front-End Component Continued
Code Review 2 Closes Sunday
Mon 10/26 HTTP Prep
Team Deliverable - Database due 10pm
Slides
Flask Forms Lab
Wed 10/28 Web Accessibility Prep Slides
Fri 10/30 Fancy Front-End Prep
Individual Deliverable - Front-End due 10pm
Slides
Work on Team Deliverable - Front-End
Week 8 Sprint 5: Refactoring and User Testing
Code Review 3 Opens Monday
Mon 11/2 Code Smells Prep
Team Deliverable - Front-End due 10pm
Slides
Code Smells Lab
Team Deliverable - Design Improvements
Wed 11/4 Naming and Commenting Prep Slides
Naming and Commenting Lab
Fri 11/6 Prep your projects for code review! Slides
Code Review Lab
Week 9 Sprint 5: Refactoring and User Testing
Mon 11/9 User Story Prep Slides
User Stories Lab
Wed 11/11 Usability Testing Prep Slides
Usability Testing Lab
Fri 11/13 Classes Prep Slides
Class Design Lab
Week 10 Sprint 5: Refactoring and User Testing
Code Review 3 Closes Wednesday
Mon 11/16 Design Patterns Prep
Final Revisions for Team Deliverables - Front-End, Database, Flask, and/or Command-Line due 10pm
Slides
Wed 11/18 Prep your project for the Final Project Showcase!
Team Deliverable - Design Improvements due 10pm
Slides
Final Project Showcase