CS 257: Software Design Schedule (Fall 2024)

Adapated 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, and "Martin" refers to Clean Code, Robert C. Martin. 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/16 Intro to Software Design Prep Slides
Wed 9/18 Development Processes Prep Slides
Getting Started Lab
Fri 9/20 Unix and Vim Prep Slides
Unix Scavenger Hunt
Week 2 Project Foundations
Mon 9/23 Data and Team Prep Slides
Starting Project Proposal
Team Deliverable - Project Proposal (Due 9/30)
Wed 9/25 Git and Version Control Prep Slides
Git Practice Lab
Fri 9/27 Finish Part 1: Individual of Git Practice Lab Slides
Work on the Part 2: Team Git Practice Lab
Week 3 Sprint 1: Command Line Component
Mon 9/30 Command Line Prep
Team Deliverable - Project Proposal due 10pm
Slides
Command Line Interface Design Lab
Team Deliverable - Command Line (Due 10/7)
Wed 10/2 Test-Driven Development Prep Slides
Start working on Individual Deliverable - Tests
Individual Deliverable - Tests (Due 10/7)
Fri 10/4 User-Centered Design Approaches Prep Slides
CIDER Assumption Elicitation Technique Lab
Week 4 Sprint 2: Flask Component
Mon 10/7 Flask Prep
Individual Deliverable - Tests due 10pm
Team Deliverable - Command Line due 10pm
Slides
Start on Individual Deliverable - Flask
Individual Deliverable - Flask (Due 10/11)
Team Deliverable - Flask (Due 10/14)
Wed 10/9 Function Design Prep
Slides
Function Design Lab
Fri 10/11 HTML + Flask Prep
Individual Deliverable - Flask due 10pm
Slides
HTML + Flask Lab
Week 5 Sprint 3: Database Component
Mon 10/14 Intro to Databases Prep
Team Deliverable - Flask due 10pm
Slides
Task #1 of Individual Deliverable - Database
Individual Deliverable - Database (Due 10/23)
Team Deliverable - Database (Due 10/28)
Wed 10/16 Finish Task #1 of Individual Deliverable - Database Slides
Task #2 of Individual Deliverable - Database
Fri 10/18 Normalization Prep Slides
Work on Team Deliverable - Database
Week 6 Sprint 4: Front-End Component
Mon 10/21 Mid-Term Break!
Wed 10/23 Usability Prep
Individual Deliverable - Database due 10pm
Slides
Work on Team Deliverable - Database or CSS and HTML Prep
Fri 10/25 CSS and HTML Prep Slides
Work on Individual Deliverable - Front-End
Individual Deliverable - Front-End (Due 11/1)
Team Deliverable - Front-End (Due 11/4)
Week 7 Sprint 4: Front-End Component Continued
Mon 10/28 HTTP Prep
Team Deliverable - Database due 10pm
Slides
Flask Forms Lab
Wed 10/30 Web Accessibility Prep Slides
Fri 11/1 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/4 Code Smells Prep
Team Deliverable - Front-End due 10pm
Slides
Code Smells Lab
Team Deliverable - Final Project (Due 11/23)
Tues 11/5 Election Day! Vote if you're eligible!
Wed 11/6 Naming and Commenting Prep No Prep! Slides
Naming and Commenting Lab
Fri 11/8 Code Review Prep No Prep! Slides
Code Review Lab
Week 9 Sprint 5: Refactoring and User Testing
Mon 11/11 User Story Prep Slides
User Stories Lab (link on Moodle)
Wed 11/13 Usability Testing Prep Slides
Usability Testing Lab
Fri 11/15 Classes Prep Slides
Class Design Lab
Week 10 Sprint 5: Refactoring and User Testing
Mon 11/18 Design Patterns Prep
Final Round of Revisions for Team Deliverables - Front-End, Database, Flask, and/or Command-Line due 10pm
Slides
Wed 11/20 Prep your project for the Final Project Showcase! Slides
Final Project Showcase
Exam Week Team Deliverable - Final Project due Sat 11/23 6pm
Sat 11/23 Optional Help Time during Exam Slot: 3:30-6pm