Learn CS

CS106L Standard C++ Programming

Website

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++slidecode
1. Streams Islidecode
2. Streams IIslidecode
3. Sequence Containersslidecode
4. Associative Containers and Iteratorsslidecode
5. Advanced Associative Containersslidecode
6. Templatesslidecode
7. Algorithmsslidecode
8. Stylometryslidecode
9. Classesslidecode
10. Functionsslidecode
11. ParticleSimulatorslidecode
12. Templatised Classesslidecode
13. Const Correctnessslide
14. Constructors and Assignmentslidecode
15. RAIIslidecode
16. Final Topicsslidecode

Assignment

Assignment 1: GraphVizhandoutstarter code
Assignment 2 (First Part): WikiRacerhandoutstarter code
Assignment 2 (Second Part): WikiRacerhandoutstarter code
Assignment 3: KDTreehandoutstarter code
Assignment 1: GraphViz