Rice University
COMP 200
Elements of Computer Science
Fall 2006
Lecture Notes & Handouts


This page contains the lecture notes that I use as a guide to each day's class.  If you discover that some are either missing or not accessible, please contact me directly.


Date

Lecture

Note

Assignment Due

Mon. 8/28/06 Lec 01: Welcome, Administrivia    
Wed. 8/30/06 Lec 02: Rudiments of PowerPoint   1. Send an e-mail to instructor.
Fri. 9/01/06 Triumph of the Nerds  (part 1) Documentary film on the history of the PC.  
       
Mon.9/04/06 Labor day: no classes    
Wed. 9/06//06 Lec 03: Rudiments of Excel - Download Sample.   2. Write a single-space one-page essay on what you think Computer Science is.
Fri. 9/08/06 Lec 04: Modeling and Abstraction    
       
Mon. 9/11/06 Lec 05 Modeling And Abstraction (cont.)    
Wed. 9/13/06 Lec 06: Functional Programming in Scheme We do a lot of hands-on exercises here.  
Fri. 9/15/06 Lec 07: Function Composition More in class exercises  
       
Mon. 9/18/06 Lec 08: Design Recipe - Case study We spent more time on the design process than expected and could not get to conditionals.  
Wed. 9/20/06 Lec 09: Case study (cont.)    
Fri. 9/22/06 Lec 10: Excel Solution of Case Study (using Solver); Conditionals   Homework 3 due: upload to OWL-space and turn in print out.
       
Mon. 9/25/06 Lec 12: More on Conditionals and Boolean Algebra (See Section 4 of HTDP)    
Wed. 9/27/06 Lec 13: Boolean algebra (cont.) Check out OWL-space for homework 4.  
Fri. 9/29/06 Lec 14: Solving logic problems using logic gates and boolean algebra    
       
Mon. 10/02/06 Lec 15: Solving logic problems using EXCEL logic functions.    
Wed. 10/04/06 Finish Chapter 4 on Conditionals in HTDP; Review for Exam #1: Mock Exam 1 (doc) Solution to mock exam 1 Homework 4 due
Fri. 10/06/06 Old Exam #1    
       
Mon. 10/9/06 Exam #1  in class

NOTE: it is open-book and will not cover "TURING." 

Bring your laptop if possible; this is in case the computer in the lab fails.  
Wed. 10/11/06 Lec 16: Relational Databases    
Fri. 10/13/06 Lec 17:Using MS Access to create databases. A lot of hands-on exercises in class. Homework 5 due: upload to OWLSPACE only
       
Mon. 10/16/06 Fall break: no classes    
Wed. 10/18/06 Lec 18: Building a relational database model    
Fri. 10/20/06 Lec 19: Relational Databases (cont.); One-to-many relationship; referential integrity.

Download the address book database and the soccer database here.

The Instructor will be out of town next Monday and next Wednesday.  The TA will lecture on OOP instead.  
       
Mon. 10/23/06 Lec 20:  Object-Oriented Programming (part 1) Download DrJava on Desktop.  What is a class?  
Wed. 10/25/06 Lec 21: Object-Oriented Programming (part 2) What is an object?Review of syntax  
Fri. 10/27/06 Lec 22: Many-to-many relationship; Querying a relational database.

 

   
       
Mon. 10/30/06 Lec 22: More database

 

   
Wed. 11/01/06 Lec 23: Complete the CD database.  Static queries and parameterized queries.

 

A lot of hands-on exercises; download the database document and database solution here.  
Fri. 11/03/06 Lec 24: Discussion of Final Project.

 

   
       
Mon. 11/06/06 Lec 25: In class exercises Java coding  
Wed. 11/08/06 Lec 26: More in class exercises in Java    
Fri. 11/10/06 Lec 27: Pizza deal Assignment (=) Rules; How to express Pizza deal in Java Final Project Milestone 1 due
       
Mon. 11/13/06 Lec 28: What is XNA? Presentation by Dr. Brad Jensen of Microsoft  
Wed. 11/15/06 Lec 29: Pizza Deal (cont.) Back to coding Pizza Deal; writing javadoc comments; the power of abstraction expressed in the abstract class AShape: can compare a pizza of any shape to another pizza of any shape!  Can add new shapes, such as a donut shape, to the system, and the pizza deal code would still work;  
Fri. 11/17/06 Lec 30: Object-Oriented Programming (part 3) Did not do much Java.  Spent most of the time answering questions on database project.  
       
Mon. 11/20/06 Lec #31: Inheritance and Polymorphism; a lot of hands-on exercises on using polymorphic shapes.

Here are the code done in class:

Shapes and Pizza

Person

Review of Java part in the evening review session: 6:30 PM Duncan Hall.

Exam #2 Review Old Exam #22 005 exam #2 has a part on Turing machines: ignore it.

solution for old exam #2

 
Wed. 11/22/06 Review the database part for the upcoming Exam #2.

Exam #2: Take-home

Go over the database part of 2005 final exam. Final Project Milestone 2 due
Fri. 11/24/06 Thanksgiving Holiday: No Class    
       
Mon. 11/27/06 Lec 32:  The Halting Problem    
Wed. 11/29/06 Lec 33: Turing Machines   Take-home Exam #2 due
Fri. 12/01/06 Lec 34: finish Turing Machines and review Halting Problem.    
       
Mon. 12/04/06 Lec 35:Artificial Intelligence

 

   
Wed. 12/06/06 Lec 36: Eliza

 

   
Fri. 12/08/06 Lec 37: Discussion of WEB interface for the final project.

 

   
       
Wed. 12/13/06 Click here to view the take home Final Exam Take-home exam is comprehensive.  
Wed. 12/20/06 Take home Final Exam due at 5 PM.  No late submission will be accepted.   Upload to OWL-space all exam files together in one submission.  No multiple submissions is allowed.

Final Project due: OWL-space upload PLUS a print out.

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