Programming and Data Structures

PDF version of this text.

This document was built on Sep 08, 2024.

List of Lectures

  1. Introduction and C++

  2. Types, Control Structures, and Procedural Abstraction

  3. Machine Model I

  4. Machine Model II

  5. Const, Structs, and ADTs in C

  6. Streams and I/O

  7. Program Design

  8. Abstract Data Types in C++

  9. Derived Classes and Inheritance

  10. Polymorphism

  11. Containers and Iterators

  12. Time Complexity, Arrays, and Pointer Arithmetic

  13. Array-based Containers I

  14. Array-based Containers II

  15. Memory Models and Dynamic Memory

  16. Managing Dynamic Memory

  17. The Big Three

  18. Linked Lists

  19. Implementing Iterators

  20. Function Objects and Impostor Syndrome

  21. Recursion

  22. Structural Recursion

  23. Binary Search Trees and Maps

  24. Error Handling and Exceptions

About

These notes were written by Amir Kamil in Winter 2019 for EECS 280. They are based on the lecture slides by James Juett and Amir Kamil, which were themselves based on slides by Andrew DeOrio and many others.

This text is licensed under the Creative Commons Attribution-ShareAlike 4.0 International license.