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 1/5 |
Intro to Software Design Prep |
Slides, Course overview and discussion |
|
| W 1/7 |
Agile and Effective Teams Prep |
Slides, Development Processes and Getting Started, start setting up computers |
|
| F 1/9 |
Data and Team Prep |
Slides, Start on Project Proposal |
TD0: Project Proposal |
| Week 2 |
Project Foundations |
|
|
| M 1/12 |
Unix and Vim Prep, Dataset due 10pm |
Slides, Unix Scavenger Hunt |
|
| W 1/14 |
Git Prep |
Slides, Git Practice Lab |
|
| F 1/16 |
TDD Prep |
Slides, TDD Lab |
ID1: Tests |
| Week 3 |
Core Functionality |
|
|
| M 1/19 |
Command Line Prep, TD0 due 10pm |
Slides, Start on CLI Design |
TD1: Command Line |
| W 1/21 |
Function Design Prep |
Slides, Function Design |
|
| F 1/23 |
Ethics in Tech Prep, ID1 due 10pm |
Slides, Intro to Tech Ethics |
|
| Week 4 |
Flask Component |
|
|
| M 1/26 |
TD1 due 10pm; Flask Prep |
Slides, Intro to Flask |
TD2: Flask, ID2: Flask |
| W 1/28 |
Classes Prep |
Slides, Designing classes |
|
| F 1/30 |
ID2 due 10pm, Code Review Prep |
Slides, Code review |
|
| Week 5 |
Database Component |
|
|
| M 2/2 |
TD2 due 10pm, Intro Databases Prep |
Slides, Starting with Databases |
ID3: Database, Midterm Reflection |
| W 2/4 |
No prep |
Slides, Database Connections and Relations |
|
| F 2/6 |
Midterm Reflection due 10pm, ID3 due 10pm; Database Normalization |
Slides, Team Database Lab |
TD3: Back-end |
| Week 6 |
Connecting Components |
|
|
| M 2/9 |
Midterm break! |
|
|
| W 2/11 |
Web Usability Prep |
Slides, Webpage analysis and design |
|
| F 2/13 |
HTML with Flask Prep |
Slides, HTML Flask Lab |
|
| Week 7 |
Front-End Component |
|
|
| M 2/16 |
CSS and HTML Prep, TD3 due 10pm |
Slides, HTML and CSS lab |
ID4: Front-end, TD4: Front-end |
| W 2/18 |
HTTP Prep |
Slides, Flask Forms Lab |
|
| F 2/20 |
ID4 due 10pm; Web Accessibility Prep |
Slides, Accessibility Analysis |
|
| Week 8 |
Refactoring |
|
|
| M 2/23 |
More Front-End Prep |
Slides, Working on Front-end component |
|
| W 2/25 |
TD4 due 10pm, Naming and Commenting Prep |
Slides, Naming and comments |
|
| F 2/27 |
Code Smells Prep |
Slides, Code Smells |
TD5: Improvements and Final Reflection (due 6/9) |
| Week 9 |
More Refactoring |
|
|
| M 3/2 |
Code Review 2 Prep |
Slides, Code review |
|
| W 3/4 |
Design Patterns Prep |
Slides, Design Patterns |
|
| F 3/6 |
Specific Patterns Prep |
Slides, More design patterns |
|
| Week 10 |
Wrapping Up |
|
|
| M 3/9 |
User Story Prep |
Slides, User stories |
|
| W 3/11 |
Usability Testing Prep, All revisions due 10pm |
Slides, Usability testing, Final project showcase |
|
| Exam Week |
|
|
|
| |
Nothing scheduled, final project submissions due 3/16 8:30pm (+1 hour grace period) |
|
|
| |
|
Any request for an extension must go through the Dean of Students office as I am not otherwise permitted to consider work submitted after this time. |
|