CS 257: Software Design

Spring 2016

Help

Samples

Class Notes

Thoughs on improving the course next time

Week 1

Two tools, a perspective, and a habit

Week 1.5

Start learning vim or emacs in a terminal. Every programmer should know how to use one or both of these venerable editors. They're both old, extremely widely available, and very powerful.

Week 2

Functional and command-line interfaces

Week 3

APIs, REST, design-by-contract, style

Week 4

The web app assignment, databases, WSGI frameworks

Week 5

PostgreSQL from Python, HTML, CSS, Javascript

Weeks 6, 7

HTML, CSS, templates in flask, Javascript

Week 8

Usability. Design patterns. JavaFX.

Weeks 9, 10

MVC, final project, miscellaneous