|
|
|
|
Mon, Jan 15 | Martin Luther King Jr. Day, no classes | - |
|
Introduction: Lecture #1 Wed, Jan 17 |
modules, notation, projects, examination, grading, Handouts | skim CPPPL chp 1-9 read CPPPL 2, 3, CPPSL 2 |
|
Language Survey: Lecture #2 Mon, Jan 22 |
classes, object model, templates, references, streams | CPPPL 2, 3, 10 Web Notes |
|
Encapsulation: Lecture #3 Wed, Jan 24 |
Encapsulation Principle, interfaces, object factories | CPPPL 2, 3, 10 Web Notes |
|
Abstraction: Lecture #4 Mon, Jan 29 |
Abstract Data Types, simulating support for native types | CPPPL 10, 11, CPPSL 11 Web Notes |
|
Overloading: Lecture #5 Wed, Jan 31 |
operator model, overloading, std::string | CPPPL 11 Web Notes |
|
Templates: Lecture #6 Mon, Feb 5 |
templates, binding time, software reuse | CPPSL 2, CPPPL 13 Web Notes |
|
Template Applications: Lecture #7 Wed, Feb 07 |
Template pollicies, traits, Containers, smart pointers, reference counted objects | CPPPL 13 Web Notes |
|
Hierarchy: Lecture #8 Mon, Feb 12 |
relationships between classes | CPPPL 12, 15 Web Notes |
|
Inheritance & Composition: Lecture #9 Wed, Feb 14 |
Inheritance & Composition examples, initialiation | CPPPL 10 Web Notes |
|
Liskov Substitution Principle: Lecture #10 Mon, Feb 19 |
Inheritance examples, initialization, polymorphism, Liskov Substitution Principle (ISP) | CPPPL 12, 15 Web Notes |
|
Open/Closed Principle: Lecture #11 Wed, Feb 21 |
Open/Closed Principle (OCP), design for OCP | Web Notes |
|
Interfaces: Lecture #12 Mon, Feb 26 |
Depencency Inversion Principle (DIP), interfaces and object factories again | CPPPL 12 Notes Appendix |
|
Interface Segregation Principle: Lecture #13 Wed, Feb 28 |
components, interfaces, Interface Segregation Principle (ISP), Exceptions | CPPPL 12 Web Notes |
|
Streams: Lecture #14 Mon, Mar 05 |
Exceptions, iostreams | CPPPL 13, CPPPL 2, 3 Web Notes |
|
Streams Details: Lecture #15 Wed, Mar 07 |
iostreams, stringstreams, manipulators | CPPSL 13, CPPPL 2, 3 Web Notes |
|
Mon, Mar 12 | Spring Break |
|
|
Wed, Mar 14 | Spring Break |
|
|
Review for Midterm: Lecture #16 Mon, Mar 19 |
Review last year's exam | CPPSL, CPPPL Notes |
|
Midterm Exam: Lecture #17 Wed, Mar 21 |
You may bring in one page of notes. Write on both sides if you wish. |
|
|
Standard Template Library: Lecture #18 Mon, Mar 26 |
Standard Template Library (STL), STL containers, iterators | CPPSL 5, 6, 7 CPPPL 16, 17, 19 Web Notes |
|
Sockets, Pr#3: Lecture #19 Wed, Mar 28 |
Win32 Sockets, Sockets Class | CWeb Notes |
|
Sockets and Threads Lecture #20 Mon, Apr 02 |
Sockets, Threads and Locking classes | Web Notes |
|
STL iterators, STL algorithms: Lecture #21 Wed, Apr 04 |
iterators, algorithms, performance | CPPSL 8, 9, CPPPL 18 Web Notes |
|
Review Midterm Results: Lecture #22 Mon, Apr 9 |
We will go over instructor's solutions. | Web Notes |
|
Managed C++: Lecture #23 Wed, Apr 11 |
Managed C++, Syntax and Example Applications, Framework Class Libraries | Web Notes |
|
Template Metaprogramming: Lecture #24 Mon, Apr 16 |
compile-time functions, selection, type lists | Web Notes |
|
Applications of Template Metaprogramming: Lecture #25 Wed, Apr 18 |
Typelists, functors, smart pointers, Loki Library | Web Notes |
|
Help with Projects 4a,b,c,d Lecture #26 Mon, Apr 23 |
Some ideas, a little prototype code, suggested layered approach | Web Notes |
|
Documenting OO Designs: Lecture #27 Wed, Apr 25 |
Diagrams: packages, classes, activities, modules, examples | Web Notes |
|
Wrap-up: Lecture #28 Mon, Apr 30 |
Where do we go from here? | Web Notes |
|