CS1 Introduction to Computation
http:/www.cs.caltech.edu/courses/cs1
Day 1: September 29, 2008 Automated Processing of Information
Add cards signed at end of class.
Caltech CS 1 - Fall 2008
Outline
[15] Administrative details [10] Pep talk [10] What clas
CS1: Introduction to Computation
Day 16: November 19, 2008 Matter Computes
Caltech CS 1 Fall 2008
Caltech CS 1 Fall 2008
Hitchhikers Guide to the Galaxy (1981)
Deep Thoughts
Deep Thought: a physical computer
Computing the answer to the question of life,
CS1: Introduction to Computation
Day 15: November 17, 2008 More Environments & OOP
Caltech CS1 - Fall 2008
Caltech CS1 - Fall 2008
Monty Python and the Holy Grail (1975)
Last week
set!
allows us to change existing bindings breaks our substitution model
CS1: Introduction to Computation
Day 14: November 14, 2007 Environment Model and Local State
Caltech CS1 - Fall 2007
Today
Review environment model
frames environments procedures
Encapsulation of state Message-passing style
Caltech CS1 - Fall 2007
Bind
CS1: Introduction to Computation
Day 13: November 12, 2008 Mutation and Local State
Caltech CS1 - Fall 2008
Caltech CS1 - Fall 2008
Godzilla vs. Mothra (1964)
Mutation!
Very powerful
Not just for giant radioactive mutant lizards.
Computer languages hav
CS1: Introduction to Computation
Day 10: October 29, 2008 More list processing
Caltech CS 1 - Fall 2008
Caltech CS 1 - Fall 2008
Plan 9 From Outer Space (1959)
List processing in Scheme
Last time:
Introduced lists Worked with lists
growing lists recurs
CS1: Introduction to Computation
(Special pre-Halloween Lecture) Day 9: October 27, 2008 List Processing
I CS 1!
Caltech CS 1 - Fall 2008
Today
More new Scheme constructs type predicates, error New data type: lists Extended example
collecting experiment
CS1: Introduction to Computation
Day 8: October 22, 2008 Introduction to Data Abstraction
Caltech CS 1 - Fall 2008
Previously
Functions Evaluation model Recursion First-class functions Types:
numbers, booleans, functions
A sufficient set to compute any
CS1: Introduction to Computation
Day 7: October 20, 2008 Higher Order Procedures pt. 2 (returning lambdas)
Caltech CS1 - Fall 2008
Today
Some new Scheme constructs let, display, begin More on lambda
procedures that return other procedures
Caltech CS1 -
CS1: Introduction to Computation
Day 6: October 15, 2008 Higher Order Procedures
Caltech CS 1 - Fall 2008
Star Wars (1977)
Caltech CS 1 - Fall 2008
Today
A really, REALLY big idea: procedures (functions) are data
can be passed to other procedures as arg
CS1: Introduction to Computation
Day 5: October 13, 2008 Computational Complexity
Caltech CS 1 - Fall 2008
Caltech CS 1 - Fall 2008
This is Spinal Tap (1984)
Nigel Tufnel's problem
Doesn't understand the way a function (the volume of his amplifier, V) sc
CS1: Introduction to Computation
Day 4: October 8, 2008 Dynamic Evolution of Computations
Caltech CS 1 - Fall 2008
Before we begin.
Let's select house ombudspeople! Meet at noon on Thursday at the Athenaeum (olive walk entrace) Starting tomorrow!
Caltech
CS1: Introduction to Computation
Day 2: October 1, 2008 Substitution Model
Caltech CS 1 - Fall 2008
Before we begin
Caltech CS 1 - Fall 2008
Caltech CS 1 - Fall 2008
Monty Python and the Holy Grail (1975)
Precision
Human (natural) language is imprecise
CS1: Introduction to Computation
Day 17: November 24, 2008 Mutable Data Structures [and extra goodies]
Caltech CS 1 - Fall 2008
Four lectures ago
Introduced one Scheme command set!
which forced us to adopt a new model gave us new power potentially compl