Course Calendar

Filter by:          

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)