LectureBlog
Home Assignments Lecture Blog Resources Project
Tue Dec 9
- Thu demos in 3rd floor elevator lobby
- Handouts:
- FP writeup details at ProjectDocumentation; sample at Project-Title-Goes-Here
- Quiz 3 answers distributed (but they're not graded yet)
- crib sheets from Q3
- garbage collection
- derived expressions (e.g. cond)
- normal vs. applicative order
- analyze
Thu Dec 4
- more on metacirc: how environments work, persistence when defining in the environment, how a primitive bottoms out as a variable lookup to a binding in the-global-environment, driving around the interpreter from the listener, how user-defined procedures work.
Tue Dec 2
- more on the metacircular evaluator: eval & apply, implementation of environments, and procedures
- PS9 assigned
- discussion of final projects
Tue Nov 25
- metacircular evaluator notes
- Attach:mceval-with-let.ss This is for PLT-Scheme 3.x with R5RS.
Thu Nov 20
- Quiz 3 administered
Tue Nov 18
- ProjectProposal
- Quiz 2 handed back & review
- Quiz 3 topics
- Project is due the last day of class, Thu Dec 11
Thu Nov 13
- no class
Tue Nov 11
- more streams
Thu Nov 6
- Attach:streams-lecture-pt2.txt
- Revised PS8.
- Class final is Thu Dec 18 at 3 pm, room TBA.
- Quiz 3 is Thu Nov 20.
- No class on Tue Nov 11 - Veteran's Day.
- No class on Thu Nov 13 -- work on your projects.
Tue Nov 4
- Streams stuff! did
cons-stream
,stream-car
,stream-cdr
,stream-enumerate-interval
,stream-filter
. Saw how evaluating the stream-car forces the evaluation of the car element, and also mutates the stream. Discussed the memo-izatio process. - Assigned PS8.
- Attach:stream-examples.ss
Thu Oct 30
- Attach:simple-oo.ss
- looked at SICP Figure 3.11,
sqrt
procedure with internal definitions (and its environment diagram) - Handed out Attach:environment-diagrams.pdf again
Tue Oct 28
- quiz 2 administered
Thu Oct 23
- handed out PS7, OO notes document, PS4 & PS5 answers
- attempted to understand speaker/lecturer/arrogant-lecturer object hierarchy
- attempted missing environment diagram from OO notes document
- prepped for quiz 2
Tue Oct 21
Thu Oct 16
Tue Oct 14
- Attach:rectangular-polar.ss
- http://impromptu.moso.com.au/gallery.html
- Attach:multiple-representations.txt
Thu Oct 9
- Quiz 1
Tue Oct 7
- Attach:yaron_minsky-cufp_2006.pdf
- Attach:quiz1-review.txt
- PS5
- Project
- Extended differentiator by modifying
make-sum
; e.g.(+ x x)
gets converted to(* 2 x)
. Look at the secondand
condition:
(define (make-sum a1 a2) (cond ((=number? a1 0) a2) ((=number? a2 0) a1) ((and (number? a1) (number? a2)) (+ a1 a2)) ((and (and (symbol? a1) (symbol? a2)) (eqv? a1 a2)) (make-product '2 a1)) (else (list '+ a1 a2))))
- Also did this in
make-product
such that(* x x)
gets converted to(** x 2)
. - Noted that directly entering expressions such as
'(+ x 3)
is an abstraction violation; e.g., one should use(make-sum 'x 3)
instead.
Thu Oct 2
Symbolic data and differentiation
- Holly's AdUni on Google video note the last half hour is cut off
- 200 MB Real video download; not truncated
- symbolic differentiation code
Tue Sept 30
- Henderson picture language
- Attach:fredm-henderson-lecture.ss
Thu Sept 25
Tue Sept 23
- lecture notes for compound data
- closures (two meanings)
- let and lambda (again)
- OO in Python (sample code)
Thu Sept 18
- lecture notes
- scheme code
- lists, cons, car, cdr, cons cells & printed representation
- "cdr'ing down a list"
- wrote list functions: length, length-iter, nth, last, and append
- started to look at trees
- PS1 back
- PS2 collected
- PS3 out
Tue Sept 16
- clarified question 9 of PS2; added new problem 16
- discussed higher-order procedures -
sum
with a, b, term, next args - attempted to describe how
let
can be implemented withlambda
- created
expnt
procedure, which outputs a procedure to perform exponentiation
Thu Sept 11
- discussed PS1 -- fred should fix problem 3 & substitution model
- scheme numerics (see link below)
- applicative order demo of fibonacci
- recursive vs iterative processes
- in-class working of 1st problems from PS2
- intro to python
- parens vs. indentation
- infix vs. prefix vs. postfix
- fred will post his office hrs
Tue Sept 9
- please join class google group
- introduced lists, incl. cons, car, and cdr
- introduced lambda and naming functions
- showed a function that accepts a function as input
- looked at run-away recursive example
- discussed substitution model of execution
- looked at Scheme numerics, including big numbers and rational numbers -- how does it do it? See http://www.cs.grinnell.edu/~rebelsky/Courses/CS151/2003F/Readings/numbers.html.
- PLT Scheme destroys the environment on recompile -- how can we stop this?
Thu Sept 4
- read Paul Graham's essay in class
- talked about 5 "big ideas" of the class