These are, in general, the notes from which I lecture. They are, at best, only fairly complete. They certainly are not a substitute for attending class, taking notes, attending lab lecture, and reading the book. Their only purpose here is to help remind you of what was covered in class.
The material in these notes may not correspond exactly to what was discussed
in class due to the nature of class discussions, modified examples, and time
constraints. You are responsible for all material whether presented in
class or on the web pages.
Lesson # |
Date |
|
Welcome! Administrivia, computing, simple programs
|
||
Mon 1/20/03
|
MLK Holiday -- no classes!
|
|
Functions on compound data structures, intro to lists
|
||
Recursion, examples of functions on lists
|
||
Recursive construction of lists, Law of Scheme, lists
of mixed data
|
||
Mixed data cont., Natural numbers
|
||
accumulator algorithms
|
||
Review
|
||
Exam #1 -- in class
|
||
Review of templates for structures, Family Trees
|
||
Family Trees cont., Functions of Two Non-Trivial Arguments,
Process Flow Analysis
|
||
Mutual Recursion: Descendent Trees, more Process Flow
|
||
More mutual recursion: Whole-part hierarchies
|
||
Locals
|
||
More local, closures, functions as objects
|
||
More closures, lambda functions, higher order functions
|
||
Mapping, folding & visiting
|
||
Visitors cont.
|
||
Review
|
||
3/10/03-3/14/03
|
MIDTERM RECESS!!!
|
|
Review -- Exam 2: Time-limited take-home, due by Monday.
|
||
Generative recursion: Divide-and-conquer -- Sorting
|
||
Generative recursion: Sierpinski gaskets
|
||
Sierpinski gaskets continued.
|
||
Sierpinski gaskets continued, incl. functional-style drawing
of fractals
|
||
Depth and Breadth-first traversals
|
||
set-[struct]-[field]!
and mutable data
|
||
Mutable data continued, graphs, depth-first traversal
|
||
set!, using
locals, factories and closures to control mutation
|
||
breadth-first traversal; why to use
set! |
||
Restricted Access Containers
|
||
RACs and tree traversals
|
||
State Design Pattern
|
||
Mutable lists: LRStruct
|
||
Review
|
||
Review. Take-home Exam 3
|
||
Strategy Designs,
GUIs in Scheme
|
||
Last day of classes!! Exam 3 due, Exam 3 solution discussion
To infinity...and beyond! (representing infinite lists -- lazy evaluation) |
||
You can also look at the lecture notes from last fall or even earlier.