Computer Sience III
Programming Patterns

CS 44001/54001
Fall 2018

lecture instructor: Mikhail Nesterenko
office:MSB 356
office hours:T 2:15-4:15pm, R 2:15-3:30pm
phone:(330) 672-9101
email:mikhail AT cs.kent.edu
.
lectures: TR 11:00-12:15am, CPA-0D303
labs: WF 2:15-4:10pm, MSB 162
.
lab instructor:Tamim Islam
email:mislam4 AT kent.edu
.

Textbook:

syllabus, course topics and tentative schedule, labs

programming thesaurus, board contents

Example midterm, Example final, Final exam notes

Mailing list: list info/subscription, archive, last years' 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, template friend
Standard Template Library: Sequential Containers Ch 11, Ch 12 vectors, deques, adapters, lists, roster example
STL: Associative Containers maps, multimaps, sets, hashes
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, constructor delegation, templated figures, templated games
Abstract vs. Concrete Classes, Abstract Factory Design Pattern Ch 29, P3 GUI, car factory
Type Casting, Delegation, Bridge Design Pattern P4 casting, 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
Forward Class Declaration, 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
Registry Design Pattern in Prototype and Observer
Chain of Responsibility Design Pattern ch 29, P4 approving loans, dispensing cash
Strategy Design Pattern P5 elementary, sorting
Command Design Pattern P5 history
Memento Design Pattern P5 snapshot,
PIMPL idiom, nested classes, Smart Pointers 22 (3d edition) pimpl, unique_ptr, shared_ptr, PIMPL with smart pointers
Visitor Design Pattern, double dispatch P5 inspecting car parts
Composite P4 calculator, genealogical tree
Flyweight P4 officer ranks, digits
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.