Introduction
Announcements

Schedule
Labs
Assignments
TA office hours

Tests, exam

Topic videos
Some course notes
Extra problems
Lecture recordings

Discussion board

Grades so far

Software tools principles, after Doug McIlroy (with some text from Ian Darwin):

  1. Write small programs that do one thing well.
  2. Expect the output of every program to become the input to another, as yet unknown, program.
  3. Make programs' input formats easy to generate or type. If every file has the same format, users only need one set of tools. If the format is simple, the tools are easy to write.
    If everything in the system is a file, users can go further with one set of tools.
  4. Use programs to write programs.
Don't force people to use the system in one way.