ICS 45C Fall 2016
Notes and Examples

Notes and examples, from lecture and otherwise

Over the course of the quarter (and in lieu of a course textbook), I'll be providing notes and commented code examples for you, on all of the topics that we cover in the course. When we write code in lecture, you can assume that they will be turned into full-scale code examples and posted here; for other topics, I'll provide a detailed set of lecture notes.

Note that you are not permitted to simply copy and paste this code into your own projects, but, of course, the techniques employed may also be of general use to you in your work. These examples are intended to give you clean, well-documented examples of some of the things we cover in lecture (and possibly a few things that we don't, time permitting), so that you can be free in lecture to avoid trying to take detailed notes when we're writing code together, instead concentraing on understanding the process and the bigger-picture concepts at work.

Lecture Date(s) Title
Th 9/22 Course Introduction
Th 9/22
Tu 9/27
C++ Basics
Th 9/29 Behind the Scenes
Tu 10/4 Separate Compilation
Th 10/6 Standard Input and Output
Th 10/6 Strings
Th 10/6 More About Functions
Tu 10/11 Pointers and the Heap
Th 10/13 Single-Dimension Arrays
Tu 10/18 Constness
Tu 10/18 Structures
Th 10/20
Tu 10/25
Tu 10/25
Th 10/27
Well-Behaved Classes
Tu 11/1 Functions and Lambdas
Tu 11/1 Linked Data Structures
Tu 11/1 Unit Testing
Tu 11/8 C++ Standard Library
Th 11/10
Tu 11/15
Inheritance and Polymorphism
Tu 11/15 Abstract Base Classes
Th 11/17 Type Conversions
Th 11/17 Static Members
Tu 11/22 Contracts and Exceptions
Tu 11/29 RAII
Th 12/1 Templates