CS200: Computer Science, Spring 2003
Notes: Friday 14 March 2003
- Now: Problem Set 5: Wahoo! Auctions
- Wednesday, 19 March: Read GEB, Aria with Diverse Variations and Chapter 13. This chapter proves that the halting problem is not decidable, and introduces the Church-Turing Thesis (which we will explore more in Classes 32-36). You will not be assigned to read Chapter XIV, but it goes into more depth on Gödel's proof and it recommended.
- Monday, 31 March: Problem Set 8 team requests. For PS8, you will work in teams of 1-6 people (preferably 3 in most cases) to build a dynamic, database-backed web site. If you want to request your own team, you need to decide as a group to be a team, and send me a single request that you cc: to all your potential team members. In order to increase the chances I honor your request, your email should not only list the team members but should give a brief description of the web site you have agreed as a group to build. Students who do not request teams, will be arbitrarily grouped into teams.
What is an object?
(define (make-ocounter) ((lambda (count) (lambda (message) (if (eq? message 'reset) (set! count 0) (if (eq? message 'next) (set! count (+ 1 count)) (if (eq? message 'how-many) count))))) 0)) (define (make-ocounter) (let ((count 0)) (lambda (message) (if (eq? message 'reset) (set! count 0) (if (eq? message 'next) (set! count (+ 1 count)) (if (eq? message 'how-many) count))))))
How to Smalltalk-ers add 2 + 3?
Why is it useful to package state and procedures together?
Recommended Reading: Howard Rheingold, Tools for Thought, Chapter 11: The Birth of the Fantasy Amplifier.
The best way to predict the future is to invent it. — Alan Kay
If you have an idea, and its not a good idea, take a nap instead of implementing it. — Alan Kay
Using these Materials