Lectures

All lectures are distributed via pre-recorded videos available each week. You are welcome to work ahead of the schedule, however, some videos will be updated as the semester progresses. Watching the videos closely (I recommend taking notes) is essential to being able to complete the labs, assignments, and exams in this course.

Week 00 - Syllabus; Honors Content; Programs; Functions

Week 01 - Types, Variables, and Arithmetic; Scope and Const; Basic Input Output; Formatting and Navigation

Week 02 - Pointers, Arrays, and References; Tests; Mapping to Hardware

Week 03 - Introduction to Vectors and Functions; Strings; Input/Output; Files and The Terminal

Week 04 - Structures; Classes; File Redirection

Week 05 - Separate Compilation; Function Arguments and Return Values; Debugging in Codio

Week 06 - Exceptions and Invariants; Error Handling Alternatives and Assertions; Unix Skills

Week 07 - Classes and Concrete Types; Destructors, Initializer Lists, Compiler Options

Week 08 - Essential Operations; Streams; Version Control

Week 09 - Friends; Templates and Lambda Expressions; Library Overview

Week 10 - Vector Details, Maps

Week 11 - Algorithms

Week 12 - Numerical Algorithms; Random & Numbers

Week 13 - Recursion; C++ After CSE 232

Old Lectures (pre 2023, not maintained)

Week 00 - Syllabus, H-Option, What is C++?

Week 01 - Names and Types, Fundamental Types, Expressions, Boolean and IO Ops

Week 02 - Control Conditionals, Repetition, Non-Local Exits, The Switch Statement

Week 03 - Functions, Scope, Type Modifiers and References, Pointers

Week 04 - Pointers Visualized, Const, Type Inference, The Unsigned Type, Chars, Strings

Week 05 - Functions with References and Pointers, Overloaded Functions, Templates, Multi-File Compilation

Week 06 - Vectors, 2D Vectors, Range Based For Loops, Exceptions, String Streams

Week 07 - Iterators, Generic Algorithms, Lambdas

Week 08 - Streams, File Streams, Streams Live Code, Maps, Sets, Multi and Unordered Containers

Week 09 - Classes, Class Attributes, Member Functions, The “this” Pointer, Iterating Over Maps

Week 10 - Constructors, Synthetic Default Constructor and Initializer Lists, Converting Constructors, Code Walkthrough

Week 11 - Encapsulation, Const Member Functions, Friend Functions, Overloaded Operators, Rule of Three

Week 12 - Arrays, Arrays and Pointers, Arrays and Functions, Dynamic Memory, Leaking Memory, Growing Arrays

Week 13 - Rule of Three Review, Composite Class, Bad Dynamic Memory, Copy and Swap Idiom, Growing the Stack, Templates and Classes, Templated Friends, Stack Using a Linked List

Week 14 - Recursion, What We’ve Learned, What We Didn’t Teach You Yet, Where To Go From Here