Programming and Data Structures

PDF version of this text.

This document was built on Apr 26, 2019.

List of Lectures

  1. Introduction and Machine Model

  2. Procedural Abstraction and Testing

  3. Pointers

  4. Arrays

  5. Strings, Streams, and I/O

  6. Compound Objects

  7. Abstract Data Types in C

  8. Abstract Data Types in C++

  9. Inheritance

  10. Polymorphism

  11. Container ADTs I

  12. Container ADTs II

  13. Memory Models and Dynamic Memory

  14. Managing Dynamic Memory

  15. Midterm Review (No notes)

  16. The Big Three

  17. Linked Lists

  18. Iterators

  19. Function Pointers, Functors, and Impostor Syndrome

  20. Recursion

  21. Structural Recursion

  22. Solving Problems with Recursion

  23. Error Handling and Exceptions

  24. Containers of Pointers

  25. Final Review (No notes)


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.