Schedule

Class meets Monday at 12:30-2:20 in SRYC 3170 and Wednesday at 12:30-1:20 in SRYC 3310.

The schedule is subject to change.

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