CS 200 
Computer Science
from Ada and Euclid to Quantum Computing and the World Wide Web
cs200@cs.virginia.edu
Schedule - Problem Sets - Exams - Notes - Lectures - Links

CS200 Topics

Language: 1: Introduction [Slides, Notes]; 2: Formal Systems and Languages [SN]; 3: Rules of Evaluation [S, N]

Recursive Definitions: 4: Evaluation and Recursion [SN]; 5: Fibonacci [SN]; 6: Recursing Recursively (GEB Chapter V) [SN]; 7: Defining for [N]

Programming with Lists: 8: Cons car cdr [SN]; 9: Programming with Lists [SN]; 10: Barista Assista [N]

Measuring Complexity: 11: Sorting [S, N]; 12: Quicksorting [SN]; 13: Astrophysics and Cryptology [SN]; 14: P = NP? [SN]; 15: Intractable Problems [SN]; 16: Knapsack Problem (Exam Review) [N]

Programming with Mutation: 18: Mutation [SN]; 19: Environments [SN]; 20: Objects [SN]; 21: Inheritance [SN]

Computability: 22: Gödel's Theorem [ SN]; 23: Computability [SN]; 24: Problem Classification Practice [N]

Metalinguistic Abstraction: 25: Metalinguistics [SN]; 26: The Metacircular Evaluator [SN]; 27: Lazy Evaluation [SN]; 28: Types [SN]; 29: Type Checking [SN]

Web: 31: Networks, The Internet and the World Wide Web [SN]; 32: How to Build a Dynamic Web Site [SN]

Models of Computation: 34: Modeling Computation [SN]; 35: Lambda Calculus [SN]; 36: The Meaning of Truth [SN]; 37: Making Numbers and Lists from Glue Alone [SN]; 38: Fixed Points and Biological Computation [SN]


CS 655 University of Virginia
Department of Computer Science
CS 200: Computer Science
David Evans
evans@virginia.edu
Using these Materials