How to read this page
- Items marked ASSIGNMENT require you to hand something in, which you will do (most of the time) by adding the relevant
files to your (or your partner's) GitHub repository and pushing up to the GitHub server
- Items marked VIDEO, READING, LAB, or TASK do not require you to hand anything in.
Do these items by the date specified, or during the week in which the video or task appears.
- Items marked QUESTIONS are things for you to think about, and are likely to come up in
our in-class discussions.
- All due dates will be Mondays or Thursdays, and will have a due-time of 11:59PM Central.
Week 0
Things to do right away, on or before the first day of class.
Week 1 (Sep 15-19)
What makes software good or bad? Setting up your computer. Version control.
Week 1.5
[TASK] Start learning the vi/vim editor in a terminal. You'll be glad you did.
Week 2 (Sep 20-26)
Test-driven development. Command-line interface design and implementation.
Week 3 (Sep 27-Oct 3)
Writing good functions. The books project continues.
Week 4 (Oct 4-10)
Code reviews. More design readings. Intro to databases and postgresql.
- [READING 10/4]
- The Commento, from
Code Complete 2 by Steve McConnell
- [READING 10/4] From About Face 3
by Alan Cooper, Robert Reimann, and David Cronin.
Read selections from Chapter 1 (Goal-Directed Design, pages 3-26),
Chapter 10 (Orchestration and Flow, pages 201-202),
and Chapter 11 (Eliminating Excise, pages 223-248).
You have to be
connected to
the Carleton VPN for both of those links.
- [ASSIGNMENT] Reminder: code review preparation
- [LAB 10/8] Intro to PostgreSQL, psql, and SQL
- [VIDEO] (23:58) Intro to databases
- [VIDEO] (23:57) psql details to give you a bit more postgresql info and help with a few problems people sometimes encounter while getting postgres runnning on their machines
- [TASK 10/4] Please fill out this survey about your books.py partnership
Weeks 5-6 (Oct 11-24)
Database design, population, and access from Python. More git. What's a good partnership?
Week 7 (Oct 25-31)
HTTP-based APIs. Getting started on web application.
Week 8 (Nov 1-7)
(Very) Light-weight requirements analysis. HTML & CSS.
Week 9 (Nov 8-14)
Putting your web application together.
- [READING 11/8] Chapters 9 (Usability on 10 cents a day)
and 11 (Usability as common courtesy) from Don't Make Me Think, Revisited.
- [VIDEO] (22:09) SQL Injection
- [VIDEO] (22:43) Our web app architecture
NOTE: the corresponding sample code is in
webapps/app4-for-video/, not in books-webapp/, despite what the video says.
- [ASSIGNMENT 11/11] End-to-end web app setup
- [READING 11/12] Chapters 9 (Usability on 10 cents a day) and 11 (Usability as common courtesy) from
Don't Make Me Think, Revisited.
Week 10 (Nov 15-19)
Wrapping things up