Schedule

Class meets Wednesday at 9:30-10:20 and Friday at 8:30-10:20 in SRYC 3310.

The schedule is subject to change.

Week Date Materials Due Extra
1 Sep 9 Introduction
A taste of modern C++
What a programmer does
C++ Seasoning
Embracing Algorithms
Sep 11 A taste of modern C++
Build Systems
Last day to drop (Tues, Sep. 15)
2 Sep 16 Build Systems
Complexity
Sep 18 Complexity
Agile?
Exercise 0
Background Survey
3 Sep 23 Your Project
Term Project Discussion
A Tour of Architecture
(R) Pragmatic Programmer 1, 2, 8
Sep 25 A Tour of Architecture
Object Oriented Programming
In class OOP example
Team contracts due
Exercise 1
4 Sep 30 NO CLASS
Oct 2 Object Oriented Programming
In class OOP example
Unit Testing
5 Oct 7 Traits Demo
Generic Programming & Templates
Composition, Polymorphism, and Types
(R) Pragmatic Programmer 3, 4, 9
Exercise 2 (yesterday)
Oct 9 MIDTERM (1 hour)
Composition, Polymorphism, and Types
6 Oct 14 Composition, Polymorphism, and Types 1.1, 1.2, & 3 of
On Understanding Types, Data Abstraction, and Polymorphism
(The whole thing is classic.)
Oct 16 Design Patterns Exercise 3
7 Oct 21 Visitor example
Design Patterns
(R) Pragmatic Programmer 5, 6, 7
Peer and self review
Iteration 1
Oct 23 Thinking in Sequences:
find, filter, map, & reduce
8 Oct 28 Antipatterns from Iteration 1
Oct 30 Designing APIs for Simplicity
& Preventing Errors
Exercise 4
9 Nov 4 Code Review 1
Nov 6 Designing APIs for Simplicity
& Preventing Errors

Thinking about correctness
10 Nov 11 NO CLASS
Nov 13 Code Review 2 Iteration 2
Peer and self review
11 Nov 18 Thinking about correctness Exercise 5
Nov 20
12 Nov 25 Code Review 3
Nov 27 Designing for security
13 Dec 2 Code Review 4
Dec 4 All questions anwered
Programming with Agents
Epilogue
Iteration 3 (!)
Exercise 6?
Peer and self review