Computer Sience III
Programming Patterns

CS 44001/54001
Fall 2015

lecture instructor: Mikhail Nesterenko
office:MSB 356
office hours:MW 12:30-2:00pm
phone:(330) 672-9101
email:mikhail AT cs.kent.edu
.
lectures: MW 11:00-12:15am, MSB 121
labs: WF 2:15-3:30pm, MSB 162
.
lab instructor:Jordan Adamek
email:jadamek2 AT kent.edu
.

Textbook:

syllabus, course topics and tentative schedule, final exam and consultation times, labs, programming thesaurus

Example midterm, Example final, Final exam notes

Mailing list: list info/subscription, archive

lecture notes/textbook references/examples

Procedural Programming Ch 1 up to classes references, increments, static vars
Object-Based Programming Ch1 from classes, Ch 6, Ch 7 copy-and-swap idiom
Introduction to Templates Templates in Ch 11 swap, list
Standard Template Library: Containers Ch 11, Ch 12 container examples
STL: Algorithms algorithm examples
STL: Extending exending algorithms, writing containers
Singleton Design Pattern Ch 7 and 29, P3* classic and meyer's singleton
Inheritance, Polymorphism, Abstract Classes, Template Method Pattern Ch 8, P5 inheritance, templated figures, templated games
Abstract Factory Design Pattern Ch 29, P3 GUI, pizza factory, car factory
Delegation, Bridge Design Pattern P4 figures, appliances
Access Methods and Inheritance, Multiple Inheritance, Adapter Design Pattern P4 figures using object and class adapter
Covariance, Prototype Design Pattern P3 prototyped figures
State Design Pattern P5 the state of Zork
Decorator Design Pattern ch 29, P4 decorating a web-page
Observer Design Pattern, Push and Pull communication methods ch 29, P5 observing messages and name change
Chain of Responsibility Design Pattern ch 29, P4 handling events in figures
Strategy Design Pattern P5 elementary, sorting
Command Design Pattern P5 history
Memento Design Pattern, PIMPL idiom, nested classes P5 snapshot, pimpl
Visitor Design Pattern, double dispatch P5 inspecting car parts
Smart Pointers 22 (3d edition) unique_ptr, shared_ptr, PIMPL with smart pointers
Composite P4 calculator, genealogical tree
Implementing Design Patterns Using Templates singleton, factory
Metaprogramming ch 20 branching, factorial, loop unrolling
*Chapters starting with P, e.g. P3 or P4, are from the Design Patterns textbook.