Topic List; PDFs

The “Slides with commentary” is the most complete representation of the material you are to learn in CS135.

The slides portion of those pages are also available as 1up and 3up PDFs. They work better with screen readers and print better, but lack the commentary, videos, and self-check exercises.

New for Winter 2024 Additional notes during lectures that were not originally part of the slides are posted here as well.

Title
Slides
Description
Slides with Commentary & Videos
Post-Lecture Supplements
M01 Syllabus Details about how the course works.
Slides with commentary
M02 Functions Writing functions is at the heart of using a functional programming language.
Slides with commentary
M03 Simple data We start with numbers, but also need strings, symbols, and booleans.
Slides with commentary
M04 The design recipe Our process for developing programs.
Slides with commentary
M05 Lists Working with a list of data; data definitions.
Slides with commentary
M06 Natural numbers -- recursively Working with natural numbers based on a self-referential data definition.
Slides with commentary
M07 More lists Lists of lists, processing multiple lists, etc.
Slides with commentary
M08 Patterns of recursion Looking beyond simple patterns of recursion to accumulative recursion and generative recursion.
Slides with commentary
M09 Structures Data that belongs together.
Slides with commentary
M10 Binary Trees Extending lists to include branches.
Slides with commentary
M11 Mutual Recursion Extending lists to include branches.
Slides with commentary
M12 General Trees Trees with more than two branches.
Slides with commentary
M13 Local definitions and lexical scope Software engineering.
Slides with commentary
M14 Functions as first class values Functions that consume or produce functions and more.
Slides with commentary
M15 Lambda Making anonymous functions.
Slides with commentary
M16 Functional abstraction Going beyond function templates.
Slides with commentary
M17 Generative recursion Recursion that is not based on the form of the data.
Slides with commentary
M18 Graphs Directed graphs (not the Excel kind). OPTIONAL CONTENT
Slides with commentary
M19 Computing history Major milestones leading to functional and imperative programming. OPTIONAL CONTENT
Slides with commentary