 |
COMP 200 |
Elements of Computer Science |
Fall 2004 |
Lecture Notes & Handouts |
|
This page contains the lecture notes that I use as a guide to each
day's class. It also includes pdf copies of any handouts given
in class (except, of course, exams).
If you discover that some are either missing or not accessible,
please contact me directly.
The primary purpose of the lecture notes is to provide a record of
the material covered in class.
They are not a definitive record of class.
Instead, they are the actual notes that I use to guide the lecture.
- Introductory lecture
General Information Handout
- Algorithms versus Problems
Recipe Slides from Lecture 2
- Expressing Algorithms
- Formalizing Pizza Arithmetic into Scheme
- Methodology of Programming, part I
Installing Dr. Scheme on the Mac
- Finish Conditionals, On to the Matter of Names,
Digression on Spreadsheets
Scheme code for FirstClassMail
Scheme code for Abvalue
- Introduction to Structures in Scheme,
includes an additional example, not given in class
- More Work with Structures and a brief
attempt to relate Scheme programming to Chapter 2
Scheme code for LineLength
- Programming with Lists
Solution to Homework 2
- More Work with Lists
Material above this line may appear on the first exam
- Reconnecting with the Book, material from Chapter 2
- Abstraction and Data Structures
with a quick review of built-in list constructs (See also Homework 3)
- More abstractions: trees & graphs
- Recursion over the counting numbers
Solution to Homework 3
- Introduction to Search: Traversing Binary Trees
- Divide & Conquer as an Algorithmic Strategy
- Finishing Divide & Conquer, Starting Greedy Algorithms
Driving Problem,
Scheme for MergeSort (v1), and
Scheme for MergeSort (v2)
- More Greedy Algorithms
Homework 4 is
available.
- Dynamic Planning
- Introduction to Algorithmic Complexity
- More on Algorithmic Complexity
- Worst, Best, and Average Case Complexity
- Upper & Lower Bounds, NP-Complete Problems
- Biological Analogies in Computing
Material above this line may appear on the second exam
- Intelligence & the Turing Test
- Review for Second Exam & Intro to Models of Computation
- Friday, we spent most of the period talking about final projects.
- Universal Turing Machines
- Programs->Executions
- From a Turing machine to a PC and the
PowerPoint introduction
- Introduction to Cryptography
- Public-key cryptography
- Deterministic Finite Automata
- Regular Expressions and Context-Free Grammars
- Wrap up and Review
The last week of lectures is devoted to student presentations
Material above this line may appear on the third exam
Maintained by the professor; see
contact information on the course home page