Lecture notes contents Greedy Algorithms Dynamic programming We need to define simple cases in order to build up to more complex cases Key takeaways a Lecture slides