ESC190-Homepage

Course notes for ESC190 Computer Algorithms and Data Structures

ESC190 Lecture Notes

These are official course notes for ESC190: Computer Algorithms and Data Structures.

I will do my best to update notes within 24 hours of the lecture recording being posted. If you have any feedback, questions, clarifications, or if you see a typo or a mistake, feel free to email me at youssef.rachad@mail.utoronto.ca. Thanks to QiLin for starting the notes!

Cheers!

Youssef

Table of Contents

Lectures

  1. Jan 6 - Introduction
    • The C Programming Language
    • Hello World
    • Data Types
  2. Jan 8 - Working with variables
    • Data Types
    • Pointers
    • Strings
    • Arrays
  3. Jan 9 - Arrays, Strings, Functions: passing by reference and passing by reference
    • Arrays
    • Strings
    • Functions
  4. Jan 13 - Exercise 1: Passing by reference and by value
  5. Jan 15 - Strings and pointers. Exercise 2: Pointers
    • Mutability of strings
    • const char * type and read only memory
  6. Jan 16 -
    • const char * correctness
    • printf formatting
    • custom and compound data types with typedef and struct
    • passing arrays to functions
  7. Jan 20 -
    • structs and memory usage
    • pointers to structs
  8. Jan 22 -
  9. Jan 23 -
  10. Jan 27 - String Methods:
    • strcpy
  11. Jan 29 - Memory Management, String Methods
    • realloc
    • error checking
    • strcat
  12. Jan 30 - Increment/Decrement Operators, String Methods, Structs (and in arrays)
    • ++, -- and precedence
    • Iterating through strings in increasingly silly ways
    • strcpy
    • storing strings in structs
    • arrays of structs
  13. Feb 10 - Better Strings in C
    • Creating, changing, appending and destroying
  14. Feb 12 -
  15. Feb 13 -
  16. Mar 5 - Dynamic Programming Introduction
  17. Mar 6 - Dynamic Programming House Painting
  18. Mar 10 - Dynamic Programming Problems
  19. Mar 12 -