Lectures take place every Monday, Wednesday, and Friday from 1-1:50PM in MacMillan Hall 115. The lecture notes will be updated after every class. Be there or be square!

Date Topic Lecture Capture
Jan. 22 Apollo 11 and playing cards Lecture Capture
Jan. 24 Insertion sort, homework 1 Lecture Capture
Jan. 27 Insertion sort in Python Lecture Capture
Jan. 29 Loops and recursion Coming soon
Jan. 31 Recursion and mutability Coming soon
Feb. 3 Breaking down problems Lecture Capture
Feb. 5 Project 1, more problem solving Lecture Capture
Feb. 7 Introduction to objects Lecture Capture
Feb. 10 Classes and encapsulation Lecture Capture
Feb. 12 Polymorphism and inheritance Lecture Capture
Feb. 14 Is-A vs. Has-A, Trees Lecture Capture
Feb. 17 No class N/A
Feb. 19 Intro to search trees, quiz 1 Lecture Capture
Feb. 21 Implementing binary search trees Lecture Capture
Feb. 24 Abstract data types Lecture Capture
Feb. 26 Modules, intro to exceptions Lecture Capture
Feb. 28 More exceptions Lecture Capture
Mar. 2 Sequences Lecture Capture
Mar. 4 How LinkedLists execute Lecture Capture
Mar. 6 More program execution, iteration and recursion Lecture Capture
Mar. 9 Recursion revisited Lecture Capture
Mar. 11 Dynamic programming Lecture Capture
Mar. 13 More dynamic programming Lecture Capture
Mar. 30 Scala Intro Lecture Capture
Apr. 1 Scala: Functional programming Lecture Capture
Apr. 3 Scala: Data structures and classes Lecture Capture
Apr. 6 Scala: Encapsulation and testing Lecture Capture
Apr. 8 Polymorphism in Scala, Introduction to Graphs Lecture Capture
Apr. 10 Project 3, Distances in graphs Lecture Capture
Apr. 13 Breadth-first search Lecture Capture
Apr. 15 More breadth-first search Lecture Capture
Apr. 17 More paths Lecture Capture
Apr. 20 Shortest paths (notes delayed) Lecture Capture