Schedule

Class meets Monday at 2:30-3:20 and Thursday at 2:30-4:20 in SRYE 3016. Recorded lectures are not supported in our room this semester.

The schedule is subject to change.

Week Date Materials Due Extra
1 Sep 8 Introduction
A taste of modern C++
What a programmer does
C++ Seasoning
Embracing Algorithms
2 Sep 12 Build Systems
Sep 15 Complexity
Agile?
Exercise 0 (tomorrow night)
Background Survey
3 Sep 19 Queen's Funeral
CLASS CANCELLED
Last day to drop
Sep 22 Your Project
Term Project Discussion
A Tour of Architecture
(R) Pragmatic Programmer 1, 2, 8
Exercise 1 (tomorrow night)
4 Sep 26 Object Oriented Programming
In class OOP example
Sep 29 Team contracts due tomorrow
ALL CS CLASSES CANCELLED
5 Oct 3 Unit Testing Exercise 2
Oct 6 Generic Programming & Templates (R) Pragmatic Programmer 3, 4, 9
6 Oct 10 NO CLASS, Thanksgiving
Oct 13 Traits Demo
Generic Programming & Templates
Composition, Polymorphism, and Types
1.1, 1.2, & 3 of
On Understanding Types, Data Abstraction, and Polymorphism
(The whole thing is classic.)
Exercise 3
7 Oct 17 Strategic and Tactical Programming Iteration 1
Oct 20 Design Patterns (R) Pragmatic Programmer 5, 6, 7
Peer and self review
8 Oct 24 Visitors
Visitor example
Exercise 4
Oct 27 Antipatterns from Iteration 1
9 Oct 31 Thinking in Sequences:
find, filter, map, & reduce
Nov 3 Code Review 1
10 Nov 7 Designing APIs for Simplicity
& Preventing Errors
Exercise 5
Iteration 2
Nov 10 Code Review 2
11 Nov 14 Exercise 5 Discussion (If needed)
Nov 17 Individual team meetings
12 Nov 21 Thinking about correctness Exercise 6
Nov 24 Code Review 3
13 Nov 28 Designing for security
Dec 1 Code Review 4
14 Dec 5 Epilogue
All questions anwered
Iteration 3 (!)
Exercise 7