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
Jan 6 - Introduction
The C Programming Language
Hello World
Data Types
Jan 8 - Working with variables
Data Types
Pointers
Strings
Arrays
Jan 9 - Arrays, Strings, Functions: passing by reference and passing by reference
Jan 13 - Exercise 1 : Passing by reference and by value
Jan 15 - Strings and pointers. Exercise 2: Pointers
Mutability of strings
const char * type and read only memory
Jan 16 -
const char * correctness
printf formatting
custom and compound data types with typedef and struct
passing arrays to functions
Jan 20 -
structs and memory usage
pointers to structs
Jan 22 -
Jan 23 -
Jan 27 - String Methods:
Jan 29 - Memory Management, String Methods
realloc
error checking
strcat
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
Feb 10 - Better Strings in C
Creating, changing, appending and destroying
Feb 12 -
Feb 13 -
Mar 5 - Dynamic Programming Introduction
Mar 6 - Dynamic Programming House Painting
Mar 10 - Dynamic Programming Problems
Mar 12 -