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

## Lectures

Flat List (without descriptions)
Lectures by Topic
Course Summary (with links to lectures)

 Through Exam 1 What is Computer Science?    Euclid, Ada and Bill Why Computer Science is Not Engineering    The Apollo Guidance Computer Recursive Definitions and antifloccipoccinihilipilification Drinking from the Firehose Class 2: Formal Systems and Languages (Notes) Survey Results Formal Systems What are languages made of? History of Computer Programming    Admiral Grace Hopper, John Backus Describing Languages    Backus-Naur Form Scheme Class 3: Rules of Evaluation (Notes) Language Elements - which are hardest to learn? Rules of Evaluation Guest visitor: Radhika Nagpal    Origami Programming Class 4: Evaluation and Recursion (Notes) Rules of Evaluation (example continued from Class 3 Problem Sets 1 and 2 Defining Recursive Procedures Class 5: Beware the Bunnies! (Notes) Problem Set 1 (making procedures) Fibonacci Example Class 6: Recursing Recursively (GEB Chapter V) (Notes) Why begin is a Special Form RTNs and BNFs Music and Recursion Class 7: Do be do be (no slides) (Notes) Defining a procedure for what for loops are for and do loops do Class 8: Cons car cdr sdr wdr (Notes) History of Scheme (Lots of Insipid Silly Parentheses) From Pairs to Lists Defining Sum using Lists Class 9: The Great Lambda Tree of Knowledge and Power (Notes) Defining insertl Programming with Lists Lindenmayer Systems and PS 3 Class 10: Barista Assista (Notes only) Programing with Lists Practice Class 11: All Sorts (Notes) Sorting Orders of Growth Θ Class 12: Quicksorting (Notes) Bubblesort Insertsort Quicksort Class 13: Astrophysics and Cryptology (Notes) How much work is Quicksort? DeGrasse Tyson's Science's Endless Golden Age Cryptology Class 14: P = NP? (Notes) Goal-den Age Permute Sort O, Θ, and Ω Problems and Procedures Complexity Classes P and NP Class 15: Intractable Problems (Smiley Puzzles and Curing Cancer) (Notes) P and NP Why O(2n) is intractable Smileys Puzzle 3SAT NP-complete Problems Class 16: Knapsack Problem (Exam Review) (Notes) Class 17: Exam 1 Through Exam 2 Mutation Primitives Differences between Functional and Imperative Programming Advantages and Disadvantages of Mutation Class 19: Environments (Notes) Exam 1 Environments Evaluation Rules Class 20: Objects (Notes) Packaging State and Procedures Object-Oriented Programming Class 21: Inheritance (Notes) Programming with Objects Inheritance Problem Set 6 Class 22: Gödel's Theorem (Notes) Mechanizing Reasoning Gödel's Theorem Class 23: Computability (Notes) Proofs in Axiomatic Systems Undecidable Problems The Halting Problem Class 24: Problem Classification Practice (Notes only) Hard problems about how hard problems are Class 25: Metalinguistics (Notes) Problem Classification Summary Metalinguistic Abstraction Class 26: The Metacircular Evaluator (Notes) Metacicular Evaluator Implementing Environments Class 27: In Praise of Idleness (Notes) Lazy Evaluation Quantum Mechanics for Dummies Class 28: Types of Types (Notes) Types Type Checking Mini-Scheme Class 29: Typed Scheme (Notes from Class 28) Type Checking Evaluator Class 30: Exam 2 After Exam 2 Brief History of Networking Latency and Bandwidth Class 32: How to Build a Dynamic Web Site (Notes) Dynamic Web Sites HTML, PHP and SQL Class 34: Modeling Computation (Notes) Modeling Computation Finite State Machines Turing Machines Universal Turing Machine Class 35: Lambda Calculus (Notes) Lambda Calculus Substitution and Reduction Church-Turing Thesis Class 36: The Meaning of Truth (Notes) Lambda Calculus Review Proving Lambda Calculus is equivalent to a Turing Machine The Meaning of Truth Class 37: Making Numbers, Lists and Recursion from Glue Alone (Notes) Lambda Calculus Review Making Numbers and Lists Fixed Points, Y operator Class 38: Fixed Points and Biological Computing (Notes) Fixed Points Computing with DNA How Biology Programs Class 39: Review (Notes) Class 40: Jeopardy (Notes)