University of Virginia, Department of Computer Science 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.

 ```(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)))))) ```
What is an object?

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

 CS 200: Computer Science Department of Computer Science University of Virginia Circle Fractal by Ramsey Arnaoot and Qi Wang cs200-staff@cs.virginia.edu Using these Materials