CS 257: Software Design Schedule (Fall 2025)

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/15 Intro to Software Design Prep Slides
Wed 9/17 Development Processes and Project Ideation Prep Slides
Getting Started Lab
Fri 9/19 Unix and Vim Prep Slides
Unix Scavenger Hunt
Week 2 Project Foundations
Mon 9/22 Team Expectations Prep Slides
Starting Project Proposal
Team Deliverable - Project Proposal (Due 1/20)
Wed 9/24 Git and Version Control Prep Slides
Individual Git Practice Lab
Fri 9/26 Finish Individual Git Practice Lab Slides
Team Git Practice Lab
Week 3 Sprint 1: Command Line Component
Mon 9/29 Test-Driven Development Prep
Team Deliverable - Project Proposal due 10pm
Slides
Start working on Individual Deliverable - Tests
Individual Deliverable - Tests (Due 10/3)
Wed 10/1 Command Line Prep Slides
Command Line Interface Design Lab
Team Deliverable - Command Line (Due 10/6)
Fri 10/3 User-Centered Design Approaches Prep
Individual Deliverable - Tests due 10pm
Slides
CIDER Assumption Elicitation Technique Lab
Week 4 Sprint 2: Flask Component
Mon 10/6 Flask Prep
Team Deliverable - Command Line due 10pm
Slides
Start on Individual Deliverable - Flask
Individual Deliverable - Flask (Due 10/10)
Team Deliverable - Flask (Due 10/13)
Wed 10/8 Function Design Prep
Slides
Function Design Lab
Fri 10/10 HTML + Flask Prep
Individual Deliverable - Flask due 10pm
Slides
HTML + Flask Lab
Week 5 Sprint 3: Database Component
Mon 10/13 Intro to Databases Prep
Team Deliverable - Flask due 10pm
Slides
Task #1 of Individual Deliverable - Database
Individual Deliverable - Database (Due 10/22)
Team Deliverable - Database (Due 10/27)
Wed 10/15 Finish Task #1 of Individual Deliverable - Database Slides
Task #2 of Individual Deliverable - Database
Fri 10/17 Normalization Prep Slides
Work on Team Deliverable - Database
Week 6 Sprint 4: Front-End Component
Mon 10/20 Mid-Term Break!
Wed 10/22 Usability Prep
Individual Deliverable - Database due 10pm
Slides
Work on Team Deliverable - Database or CSS and HTML Prep
Fri 10/24 CSS and HTML Prep Slides Individual Deliverable - Front-End (Due 10/31)
Team Deliverable - Front-End (Due 11/3)
Week 7 Sprint 4: Front-End Component Continued
Mon 10/27 HTTP Prep
Team Deliverable - Database due 10pm
Slides
Flask Forms Lab
Wed 10/29 Web Accessibility Prep Slides
Fri 10/31 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
Mon 11/3 Code Smells Prep
Team Deliverable - Front-End due 10pm
Slides
Code Smells Lab
Team Deliverable - Design Improvements (Due 11/24)
Wed 11/5 Naming and Commenting Prep Slides
Naming and Commenting Lab
Fri 11/7 Prep your projects for code review! Slides
Code Review Lab
Week 9 Sprint 5: Refactoring and User Testing
Mon 11/10 User Story Prep Slides
User Stories Lab (link on Moodle)
Wed 11/12 Usability Testing Prep Slides
Usability Testing Lab
Fri 11/14 Classes Prep Slides
Class Design Lab
Week 10 Sprint 5: Refactoring and User Testing
Mon 11/17 Design Patterns Prep
Final Revisions for Team Deliverables - Front-End, Database, Flask, and/or Command-Line due 10pm
Slides
Wed 11/19 Prep your project for the Final Project Showcase! Slides
Final Project Showcase
Exam Week Team Deliverable - Design Improvements due Mon 11/24 6pm