ASSIGNMENTs are due at 11:59PM on the listed date. Submissions via GitHub.
Read/watch the READING/VIDEO items and do the TASK items before class on the date where they appear.
M Sep 12
- [ASSIGNMENT 9/12] Fill out this survey about course logistics
- [READING] Course information
- [READING] Other People's Code
- [VIDEO] (5:40) Course overview (recorded for Fall 2020; still pretty much the plan)
- Class notes
W Sep 14
- [VIDEO] (11:34) How to set up your development environment (the Windows part of this video shows Windows 10, not 11, but the details should be about the same)
- [TASK] Set up your development environment
- [VIDEO] (27:15) Intro to Unix, part 1
- [TASK] (We'll start this in class today.) Intro Unix tutorial, through Tutorial Three.
- Class notes
F Sep 16
- [READING] The Guiding Principles section (i.e. Chapters 1-5) of Steve Krug's Don't Make Me Think, Revisited (3rd edition)
- [VIDEO] (35:12) Intro to git and version control, part 1
- [ASSIGNMENT 9/17] Getting started with git
- Class notes
M Sep 19
- [READING] Readings about command-line design and test-driven development
- [ASSIGNMENT 9/20] Books phase 1: CLI design
- [TASK] Start learning the vi/vim editor in a terminal. You'll be glad you did.
- [TASK] Survey about your git/GitHub partnership
- Class notes
W Sep 21
- [READING] High-Quality Routines from Code Complete, 2nd edition by Steve McConnell. You have to be connected to the Carleton network for this link.
- [LAB] Lab: Python's unittest & TDD
- Class notes
F Sep 23
- [READING] The Commento, from Code Complete 2 by Steve McConnell. (Restricted to the the Carleton network/VPN.)
- [VIDEO] (18:50) Intro to Unix, part 2. File permissions, redirecting input/output streams, environment variables, start-up files.
- [LAB] Lab: argparse (start during class; continue later as needed)
- [ASSIGNMENT 9/24] Books phase 2: unit tests
- [VIDEO] (20:14) Some help on the unit tests assignment
- Class notes
M Sep 26
W Sep 28
- [ASSIGNMENT 9/29] Books phase 3: implementation
- [VIDEO] (11:14) Tabs & spaces
- [VIDEO] (7:17) git config & git log
- Class notes
F Sep 30
- Class notes
- [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
M Oct 3
- [ASSIGNMENT 10/3] Books phase 4: code review
W Oct 5
- [LAB] (start during class) Intro to PostgreSQL, psql, and SQL
- [VIDEO] (16:18) A miniscule introduction to database design
- Class notes
F Oct 7
- [ASSIGNMENT 10/7] Books phase 5: revision
- Class notes
M Oct 10
- [ASSIGNMENT 10/11] Database design and population
- [READING] Database normalization: what are the 1st, 2nd, and 3rd normal forms? Start with this simple database of kids and their pets, then this multipage introduction to normal forms (follow the links to First Normal Form, Second Normal Form, and Third Normal Form to get the full story).
- Class notes
W Oct 12
- Class canceled
F Oct 14
- [LAB] Lab: accessing postgres from Python using psycopg2. Start work on this lab before class, and we'll address questions and work more during class.
- Class notes
M Oct 17
- Woohoo! Midterm break!
W Oct 19
- [TASK] Please fill out this survey
- [ASSIGNMENT 10/20] A database-driven command-line application using psycopg2
- [VIDEO] (19:38) A brief introduction to HTTP
- Class notes
F Oct 21
M Oct 24
- [ASSIGNMENT 10/25] Web application: data selection
- [LAB] Implementing APIs with Flask
- [VIDEO] (25:12) Mini-intro to APIs and Flask
- Class notes
W Oct 26
- [READING] User stories, up through section 6 (Limitations)
- [READING] Use cases, sections 1 (History), 2 (General principle), 7 (Examples), 8 (Advantages), and 9 (Limitations)
- [READING] Requirements analysis
- Class notes
F Oct 28
- [ASSIGNMENT 10/29] Web application: requirements and wireframes
M Oct 31
- [VIDEO] (27:44) A brief intro to HTML and CSS
- [LAB] (Start during class) Lab: intro to HTML and CSS
- Class notes
W Nov 2
- [ASSIGNMENT 11/3] Web application: mockups
- [VIDEO] (42:29) Intro to Javascript
- [LAB] (Start during class) Intro to Javascript
- Class notes
F Nov 4
- [READING] Chapter 6 (Street Signs and Breadcrumbs) of Don't Make Me Think, Revisited
- [READING] Blind Users Struggle with State CoronavirusWebsites, Adrianne Jeffries, April 2020
- [READING] 10 Ways to Make Your Website Accessible, Ellice, July 2020
- Class notes
M Nov 7
- [ASSIGNMENT] (Due BEFORE class time today!) Web application: design of API & database
- [VIDEO] (22:43) Our web app architecture This is intended to help with the end-to-end assignment, so watch it in the next day or two. NOTE: the corresponding sample code is in webapps/app4-for-video/, not in books-webapp/, despite what the video says.
- Class notes
W Nov 9
- [READING] 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).
- [READING] Chapters 9 (Usability on 10 cents a day) and 11 (Usability as common courtesy) from Don't Make Me Think, Revisited.
- [ASSIGNMENT] Web application: end-to-end setup
- Class notes
F Nov 11
- [VIDEO] (22:09) SQL Injection
- Class notes
M Nov 14
- [ASSIGNMENT] Web application: first draft
- Class notes
W Nov 16
- Last day of classes. ⏰✈️
- [ASSIGNMENT] Web application: code review of first drafts
- Class notes
F Nov 18
- [Th 11/17] Office hours 9:30-11:00
- [Fr 11/18] Office hours 9:30-12:00
M Nov 21
- [ASSIGNMENT] (Due 5:00PM) Web application: final version
- Have a great break!
W Nov 23
- (Jeff hopes he's done grading by now.)
F Nov 25
- 😴