Lecture Notes
Note: This page links to lecture outlines. They will
be provided only when feasible and useful. Lecture outlines are my raw
outlines. I can quickly put these on the web site, but they are not written
out, like a book or handout. The topics are not necessarily in order, or
all repesented, or all covered in lecture.
The outlines will have typos, though they should be basically correct.
Outlines that apply to multiple lecture days
may replace earlier versions, so recheck this list.
In general, this material will not be comprehensible without the lecture;
it is provided to supplement, not replace, the lecture presentation and
help compensate for our large crowded classrooms and my crummy
handwriting. For example, you might want to correct your notes of code
examples, or simply refer to these notes for the code examples instead of trying to copy them from the board.
The example code is also available in the course afs directory:
/afs/umich.edu/class/eecs381/examples
If the title of the lecture notes includes an asterisk(*), then the posted
version was modified on or subsequent to the lecture date. If you downloaded the previous version,
you should download the new version and check for any differences.
- C Coverage (pdf)
Multiple Sources and the Linker (pdf)
- C++ Introduction - Stroustrup Prefaces, Tour Highlights (pdf)
- Basic Facilities Highlights - Stroustrup Ch 6-12 (pdf)
- Exceptions, Classes, Objects that manage dynamic memory - Stroustrup Chs 13, 16, 17 (pdf)
- Operator Overloading & Templates - Stroustrup Chs 18, 19, 23 (pdf)
- Library Organization & Standard Containers Highlights: Stroustrup Chs 30, 31, 34 (pdf)
- Strings and Streams Highlights: Stroustrup Chs 36, 38 (pdf)
- Algorithms & Function Objects: Stroustrup Chs 32, 33 highlights (pdf)
- Basic class design guidelines (pdf)
- Inheritance and virtual functions. Stroustrup Chs 20 highlights (pdf)
- * Basic OOP Concepts (pdf) See also Handout version in Handout Section.
- Multiple Inheritance and RTTI. Stroustrup Ch 21, 22 highlights (pdf)
- Exceptions, RAII, Smart Pointers: Stroustrup Ch 34 (pdf)
- Idioms and Design Patterns - Creational (pdf)
- Idioms and Design Patterns - Structural (pdf)
- Idioms and Design Patterns - Behavioral (pdf)
- Non-Technical Issues in Software Development (pdf)