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 |