CSCI 1200, Spring 2003 Syllabus

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/20EXAM 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/25Spring Break
R 3/27Spring Break
T 4/1EXAM 2
R 4/3Cryptography (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

FINAL EXAM: Saturday, May 3, 4:30 pm - 7 pm