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.
Many of the links will be dead-ends until closer to the relevant date.
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.
The slide links are all restricted to Carleton folks, so make sure you’re logged in to your Carleton account if you have one. If you are outside of Carleton and would like to see them, just shoot me an email!
Date |
Assignments Due |
In Class |
Assignments Out |
Week 1 |
Getting Started |
|
|
M 9/11 |
Intro to Software Design Prep |
Slides, Course overview and discussion |
|
W 9/13 |
Agile and Effective Teams Prep |
Slides, Development Processes and Getting Started, start setting up computers |
|
F 9/15 |
Unix and Vim Prep |
Slides, Unix Scavenger Hunt |
|
Week 2 |
Project Foundations |
|
|
M 9/18 |
Data and Team Prep |
Slides, Start on Project Proposal |
Project Proposal (due 9/25) |
W 9/20 |
Git Prep |
Slides, Git Practice Lab |
|
F 9/22 |
TDD Prep |
Slides, TDD Lab |
Individual - Tests |
Week 3 |
Core Functionality |
|
|
M 9/25 |
Command Line Prep, Individual Deliverable 1 due 10pm, Project Proposal due 10pm |
Slides, Start on CLI Design |
Team - Command Line |
W 9/27 |
Function Design Prep |
Slides, Function Design |
|
F 9/29 |
Ethics in Tech Prep |
Slides, Intro to Tech Ethics |
|
Week 4 |
Flask Component |
|
|
M 10/2 |
Command Line project due 10pm; Flask Prep |
Slides, Intro to Flask |
Flask app project, Individual component |
W 10/4 |
Code Review Prep |
Slides, Code review |
|
F 10/6 |
Individual component, HTML with Flask Prep |
Slides, HTML Flask Lab |
|
Week 5 |
Front-End Component |
|
|
M 10/9 |
Flask app, Usability Prep |
Slides, Webpage analysis |
Individual front-end, Team front-end |
W 10/11 |
CSS and HTML Prep |
Slides HTML and CSS lab |
|
F 10/13 |
HTTP Prep |
Slides, Flask Forms Lab |
|
Week 6 |
Front-End Component Cont’d |
|
|
M 10/16 |
Midterm break! |
|
|
W 10/18 |
Individual front-end; Web Accessibility Prep |
Slides, Accessibility Analysis |
|
F 10/20 |
More Front-End Prep |
Slides, Working on Front-end component |
|
Week 7 |
Database Component |
|
|
M 10/23 |
Team front-end; Intro Databases Prep |
Slides, Starting with Databases |
Individual Database; Team Database |
W 10/25 |
No prep |
Slides, Database Connections and Relations |
|
F 10/27 |
Individual back-end; Database Normalization |
Slides, More with Databases |
|
Week 8 |
Refactoring |
|
|
M 10/30 |
Naming and Commenting Prep |
Slides, Naming and comments |
|
W 11/1 |
Team back-end; Code Smells Prep |
Slides, Code Smells |
|
F 11/3 |
Code Review 2 Prep |
Code review |
|
Week 9 |
More Refactoring |
|
|
M 11/6 |
Classes Prep |
Slides, Designing classes |
|
W 11/8 |
Design Patterns Prep |
Slides, Design Patterns |
|
F 11/10 |
Specific Patterns Prep |
Slides, More design patterns |
|
Week 10 |
Wrapping Up |
|
|
M 11/13 |
User Story Prep |
Slides, User stories |
|
W 11/15 |
Usability Testing Prep |
Slides, Usability testing, Final project showcase |
|
Exam Week |
|
|
|
M 11/20 |
Exam Slot 12-2:30 |
Optional help time |
|
Final project due at 5pm |
|
|
|