Outline of Online Notes

7, 9 Sep Requirements and Specifications
Case Study: Unicode
assignment 1
14, 16 Sep Software Activities and Processes
waterfall, iterative, extreme, scrum
assignment 2
21, 23 Sep Teamwork
psychology of computer programming
code reviews
assignment 3
28, 30 Sep Plan to Throw One Away
prototyping, refactoring
assignment 4
5, 7 Oct Abstraction Barriers
interchangeable parts and black-box testing
unit testing and integration testing
assignment 5
12, 14 Oct Object-Oriented Programming
polymorphism
reuse
inheritance considered harmful
19, 21 Oct Efficiency
asymptotic notation
three rules of optimization
how to write more efficient programs
first midterm exam
assignment 6
26, 28 Oct Correctness, Safety, and Liveness
correctness of small modules
invariants
2, 4 Nov Formal and Executable Specifications
automation of programming chores
assignment 7
9, 11 Nov Scaling Up
standard libraries; reusable software
configuration management
16, 18 Nov Review
second midterm
assignment 8
23, 25 Nov No class: Thanksgiving break
30 Nov, 2 Dec Reliability and Security assignment 9
7, 9 Dec Code Reviews assignment 10

For debugging: Click here to validate.