Course Calendar
Matt says: yes, the filtering leaves the day even if there’s nothing there. Working on it!
Course Introduction
- M Apr 3
-
- LectureCourse Introduction
- Lecture Notes, Slides
Functional Programming
- W Apr 5
-
- LectureIntro to FP and Haskell
- Lecture Notes, Slides
- W Apr 5
-
- PostedHW 1
- Gradescope
- F Apr 7
-
- SectionDiscussion (Haskell, FP Review)
- Discussion Resources
- M Apr 10
-
- LectureFP: Functions, Binding, Control Flow
- Lecture Notes, Slides
- W Apr 12
-
- LectureFP: Advanced Functions (first-class, higher-order, lambdas, closures, currying)
- Lecture Notes, Slides
-
- DueHW 1
- Solutions
-
- PostedHW 2
- Gradescope
- F Apr 14
-
- SectionDiscussion (ADTs, Immutable Data Structures)
- Discussion Resources
Python
- M Apr 17
-
- LecturePython Basics & OOP
- Lecture Notes, Slides
- T Apr 18
-
- PostedProject 1
- Project Info
-
- LectureReview Lecture: ADTs
- Lecture Notes, Slides
- W Apr 19
-
- LectureAdvanced Python + Types
- Lecture Notes, Slides
-
- DueHW 2
- Solutions
-
- PostedHW 3
- Gradescope
- F Apr 21
-
- SectionDiscussion (Project Overview, More FP)
- Discussion Resources
Data Palooza
- M Apr 24
-
- LectureTyping Deep Dive, Guest Brian Kernighan
- Lecture Notes, Slides
- W Apr 26
-
- LectureTyping Deep Dive
- Lecture Notes, Slides
-
- DueHW 3
- Solutions
-
- PostedHW 4
- Gradescope
- F Apr 28
-
- SectionDiscussion (Data Topics, Midterm Review)
- Discussion Resources
- M May 1
-
- LectureScoping, Garbage Collection
- Lecture Notes, Slides
Function Palooza
- W May 3
-
- LectureParameter passing
- Lecture Notes, Slides
-
- DueHW 4
- Solutions
-
- PostedHW 5
- Gradescope
- R May 4
-
- ExamMidterm (6-7:30 PM, Dodd 147)
- Midterm Solutions
- F May 5
-
- SectionDiscussion (Project 1 + Data Palooza)
- Discussion Resources
- U May 7
-
- DueProject 1
- Submission
-
- PostedProject 2
- Project Info
- M May 8
-
- LectureFirst-class Functions, Returning Values, Error Handling
- Lecture Notes, Slides
- W May 10
-
- LectureGuest Robert Griesemer + Returning Values, Error Handling
- Lecture Notes, Slides
-
- DueHW 5
- Solutions
-
- PostedHW 6
- Gradescope
- F May 12
-
- SectionError Handling and Project 2
- Discussion Resources
- M May 15
-
- LectureParametric Polymorphism
- Lecture Notes, Slides
OOP Palooza
- M May 15
-
- LectureIntro to OOP
- Lecture Notes, Slides
- W May 17
-
- LectureClasses
- Lecture Notes, Slides
-
- DueHW 6
- Solutions
-
- PostedHW 7
- Gradescope
- F May 19
-
- SectionDiscussion (OOP topics)
- Discussion Resources
- S May 21
-
- DueProject 2
- Submission
-
- PostedProject 3
- Project Info
- M May 22
-
- LectureInheritance
- Lecture Notes, Slides
- W May 24
-
- LectureSubtype Polymorphism, Dynamic Dispatch
- Lecture Notes, Slides
-
- DueHW 7
- Solutions
-
- PostedHW 8
- Gradescope
- F May 26
-
- SectionDiscussion (OOP, Project 3)
- Discussion Resources
Control Palooza
- W May 31
-
- LectureExpressions, Control Flow, Iterators
- Lecture Notes, Slides
-
- DueHW 8
- Solutions
-
- PostedHW 9
- Gradescope
- F Jun 2
-
- SectionDiscussion (control topics)
- Discussion Resources
- S Jun 4
-
- DueProject 3
- Submission
- M Jun 5
-
- LectureConcurrency
- Lecture Notes, Slides
Logical Programming
- M Jun 5
-
- LectureLogic Programming
- Lecture Notes, Slides
- W Jun 7
-
- LectureLogic Programming
- Lecture Notes, Slides
- F Jun 9
-
- SectionDiscussion (Prolog, Final)
- Discussion Resources
-
- DueHW 9
- Solutions
Finals Week
- R Jun 15
-
- ExamFinal (8-11AM)