ICS 45C Spring 2019
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
Tu 4/2 Course Introduction
Tu 4/2
Th 4/4
C++ Basics
Tu 4/9 Strings
Tu 4/9 Standard Input and Output
Tu 4/9
Th 4/11
Separate Compilation
Th 4/11 Behind the Scenes
Tu 4/16 More About Functions
Tu 4/23 Pointers and the Heap
Th 4/25 Single-Dimension Arrays
Tu 4/30 Constness
Tu 4/30 Structures
Th 5/2 Illuminating the Dark Corners
Tu 5/7 Classes
Tu 5/14 Functions and Lambdas
Tu 5/14 Linked Data Structures
Tu 5/14 Unit Testing
Th 5/16
Tu 5/21
Well-Behaved Classes
Tu 5/21
Th 5/23
C++ Standard Library
Th 5/23
Tu 5/28
Inheritance and Polymorphism
Tu 5/28 Abstract Base Classes
Th 5/30 Type Conversions
Th 5/30 Static Members
Th 5/30 Contracts and Exceptions
Tu 6/4 RAII
Th 6/6 Templates