ICS 45C Spring 2022
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 Week Title
Week 1 Course Introduction
Week 1 C++ Basics
Week 2 Strings
Week 2 Standard Input and Output
Week 2 Separate Compilation
Week 2 Behind the Scenes
Week 3 More About Functions
Week 3 Pointers and the Heap
Week 4 Single-Dimension Arrays
Week 4 Constness
Week 4 Structures
Week 4 Illuminating the Dark Corners
Week 5 Classes
Week 5 Functions and Lambdas
Week 5 Linked Data Structures
Week 5 Unit Testing
Week 6 Well-Behaved Classes
Week 7 C++ Standard Library
Week 7 Inheritance and Polymorphism
Week 8 Abstract Base Classes
Week 8 Type Conversions
Week 8 Static Members
Week 8 Contracts and Exceptions
Week 9 RAII
Week 9 Templates