CS 257: Software Design

Winter 2021

Code samples

Help

Class Notes

How to read this page

Ideas for improving the course

Week 0

Things to do right away, on or before the first day of class.

Week 1 (Jan 4-10)

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 (Jan 11-17)

Command-line interface design and implementation. Writing good functions.

Week 3 (Jan 18-24)

Code review. More UI design. Databases.

Week 4 (Jan 25-31)

Database design and population. PostgreSQL access from Python. HTTP-based APIs

Week 5 (Feb 1-7)

Implementing HTTP-based APIs using Flask. Intro to HTML and CSS.

Week 6 (Feb 8-14)

Midterm break. Starting the web application project. Requirements-gathering techniques.

Week 7 (Feb 15-21)

Web app project: server side. Test-Driven Development. Accessibility.

Week 8 (Feb 22-28)

Web app project: end-to-end system in place, and then start iterating.

Week 9 (Mar 1-7)

Web app project: getting to a first draft. Miscellaneous topics along the way.

Week 10 & finals week (Mar 8-16)

Code review and wrapping things up