T 1/14 | Introduction to course: what is computing about? |
R 1/16 | What a computer is: digital logic, registers, and finite
state machines |
| |
T 1/21 | What a computer is, part 2: memory and programs,
parallelism |
R 1/23 | Programming languages, part 1: types of languages,
how languages are constructed |
| |
T 1/28 | Programming languages, part 2: central ideas (loops,
recursion, procedures, data abstraction), debugging |
R 1/30 | Translating a problem into computational terms: what does
it mean for a problem to be hard? (Introduction to
ideas of well-definedness; unsolvability, time complexity) |
| |
T 2/4 | Turing machines; the Universal Turing Machine; decidability
and the halting problem; order of growth notiation;
P vs. NP |
R 2/6 | Algorithms: a few illustrative examples (Euclids GCD algorithm,
minimum spanning tree, convex hull), and heuristics
(i.e., what to do when you don't have an algorithm) |
| |
T 2/11 | Simulation and an introduction to the idea of differential
equations |
R 2/13 | Cellular automata (Game of Life; Wolfram's classes of 1D
automata), Boolean networks |
| |
T 2/18 | Neural networks and backpropagation |
R 2/20 | EXAM 1 |
| |
T 2/25 | Fractals and how to generate them; the Julia and Mandelbrot sets;
fractals in dynamical systems |
R 2/27 | Artificial intelligence and the question of whether computers can
think |
| |
T 3/4 | Vision by machine: detecting edges, binocular depth perception,
shape and object recognition |
R 3/6 | Computation and language: context free grammars, language
acquisition |
| |
T 3/11 | Artificial life: Braitenberg's vehicles, Reynold's "boids",
Dawkins' blind watchmaker program,
Ray's "Tierra" simulation of evolution |
R 3/13 | Game-playing by computer: minimax and pruning search
algorithms. What makes some games hard and others easy? |
| |
T 3/18 | Computer Graphics I:
Basic computational geometry (how to represent 2- and 3-
dimensional shapes), representation of color |
R 3/20 | |
| Computer Graphics II
Basic ideas of animation |
T 3/25 | Spring Break |
R 3/27 | Spring Break |
| |
T 4/1 | EXAM 2 |
R 4/3 | Cryptography (Guest lecture?) |
| |
T 4/8 | I/O: the not-so-peripheral part of computing. New output devices:
3D printing, circuit printing. New types of input: gesture
recognition, eye tracking, etc. |
R 4/10 | Computer networks and communication |
| |
T 4/15 | Writing big programs: the problems of software design, software
testing, and software maintenance |
R 4/17 | Simulating society: the prisoner's dilemma and Axlerod's computer
tournament |
| |
T 4/22 | Children and computers: children's programming, AI and toy
design, intelligent tutoring systems |
R 4/24 | Computers inside things: embedded systems, augmented reality,
ubiquitous computing |
| |
T 4/29 | Smart stuff: piezoelectric materials, shape memory alloys,
and other controllable materials |
R 5/1 | The future: quantum computing, biological computing, spintronics |
| |