Slides Hub

Lecture summaries from 00 upward.

Work top to bottom the first time. Each lecture page gives you a read, trace, check, and practice loop tied back to the lecture code.

13 lectures shown

Use the same method for every lecture

ReadBuild the concept from the summary before opening questions.
TraceFollow the related files in lecture_code/ line by line.
RecallClose the summary and answer the embedded questions out loud.
PracticeUse Exam Practice until missed cards become known.

Lecture Order

The slide decks appear in numeric order from 00 through 13.

00

00_intro: Course Intro

Course logistics, grading, slip days, excused absences, and support workflow.

Orientationslides/00_intro.pdf
01

01_shell: Shell and Bash Basics

Operating systems, shell commands, paths, streams, redirection, pipes, permissions, SSH, and Bash scripts.

Shell and CLIslides/01_shell.pdf
02

02_c_pl: C Programming Foundations

C as a compiled, statically typed language; number systems; basic syntax; functions; and memory layout.

C Coreslides/02_c_pl.pdf
03

03_pointers: Pointers, Arrays, Input, and Strings

Pointers, address-of and dereference, scanf, robust input loops, array decay, pointer arithmetic, and C strings.

C Coreslides/03_pointers.pdf
04

04_dynamic_mem: Dynamic Memory Management

Heap allocation, malloc/free, lifetimes, dangling pointers, leaks, growing arrays, and doubling capacity.

Data and Memoryslides/04_dynamic_mem.pdf
05

05_cmd_line: Command Line Args and Multi-Dimensional Arrays

argc/argv, double pointers, strings from the OS, pointer-to-pointer 2D arrays, and flat 1D matrix storage.

Shell and CLIslides/05_cmd_line.pdf
06

06_mutation: Mutation and Double Pointers

Returning extra values through pointer parameters, output parameters, and using double pointers to mutate caller-owned pointers.

Data and Memoryslides/06_mutation.pdf
07

07_structs: Structs and ADTs

C structs, member access, struct pointers, arrow operator, linked lists, ADT design, and encapsulation motivation.

Data and Memoryslides/07_structs.pdf
08

08_sep_comp: Separate Compilation and Headers

Declarations versus definitions, preprocessing, object files, linking, headers, incomplete types, and C encapsulation.

Build and Modularityslides/08_sep_comp.pdf
09

09_cpp: Introduction to C++

Modern C++ style, g++, streams, stream state, manipulators, new/delete, function overloading, and operator overloading.

C++ Coreslides/09_cpp.pdf
10

10_refs: References and Pass by Reference

References as aliases, reference rules, pass-by-reference, const references, returning references, and stream operators.

C++ Coreslides/10_refs.pdf
11

11_classes: Basic Classes

Classes, objects, methods, constructors, member initialization lists, access control, headers, getters/setters, and friends.

C++ OOPslides/11_classes.pdf
13

13_big5: The Big 5

Destructors, copy constructors, copy assignment, move operations, copy elision, and the rule of five for resource-owning classes.

C++ OOPslides/13_big5.pdf