CS106L Standard C++ Programming
Website
- Fall 2019 YouTube videos ✅
- Winter 2018 course website slides ✅ | assignments ✅
Overview
Prerequisite: Corequisite is CS 106B or equivalent. This class can be taken with or after taking CS 106B. Lectures are aligned with CS 106B schedule, and may build on the most recent CS 106B lectures.
Description:
Quoted from Spring 2020 Course Information:
What makes C++ one of the most popular, complex, and expressive programming languages in 2020? Over the course of 9 weeks, we will explore the language and library features of C++, with a particular focus on modern developments that have revitalized interest in C++. By studying the STL and exploring ways to extend it, we hope that you will be able to build similarly powerful libraries for your own projects, research, internships, and beyond.
Schedule
0. History and Philosophy of C++ | slide | code |
1. Streams I | slide | code |
2. Streams II | slide | code |
3. Sequence Containers | slide | code |
4. Associative Containers and Iterators | slide | code |
5. Advanced Associative Containers | slide | code |
6. Templates | slide | code |
7. Algorithms | slide | code |
8. Stylometry | slide | code |
9. Classes | slide | code |
10. Functions | slide | code |
11. ParticleSimulator | slide | code |
12. Templatised Classes | slide | code |
13. Const Correctness | slide | |
14. Constructors and Assignment | slide | code |
15. RAII | slide | code |
16. Final Topics | slide | code |
Assignment
Assignment 1: GraphViz | handout | starter code |
Assignment 2 (First Part): WikiRacer | handout | starter code |
Assignment 2 (Second Part): WikiRacer | handout | starter code |
Assignment 3: KDTree | handout | starter code |