CS 257: Software Design

Spring 2018

Help

Samples

Class Notes

Thoughts 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

More TDD, debugging in an IDE, getting more comfortable with git

Week 3

Code quality, HTTP APIs

Week 4

git branching and workflows, usability

Week 5

The web application project: more git, API design, database design, flask

Week 6

Midterm break, UI design, HTML, CSS Javascript

Week 7

Javascript, and finishing the web applicaiton

Week 8

Usability & interaction design. JavaFX. Design patterns.

Weeks 9, 10

MVC, final project, miscellaneous