[Rice Logo]

Comp 212: Intermediate Programming

Spring 2008

Webpage maintained by Dung X Nguyen
Email dxnguyen at rice edu for problems Note
Home News Course Description Lectures Labs Assignments Textbooks Resources Syllabus Staff OWLSPACE

This is a tentative schedule for the topics to be covered in lecture, labs and assignments.   This schedule will constantly be changing and is given only as a reference for past topics and as a guideline for future topics.

New assignments are given on the day after the previous assignment is due.   The first assignment is given on the second day of class.  Always check what assignment is due next!

Assignments are due by the BEGINNING of class on the due date.

Date

Lecture

Lab

Assignment Due

Week 1      
Mon 01/07/08 Lec 01 The Best Little Pizza House in Texas Lab 01: DrJava, Java Syntax  
Tue 01/08/08    
Wed 01/09/08 Lec 02: Administrivia; OO Pizza Design    
Fri 01/11/08 Lec 03: More Java Syntax; Pizza Code    
Week 2      
Mon. 01/14/08 Lec 04: OOP Fundamentals; From FP to OOP Lab 02: UML and More Java Syntax
 

 

 
Tue 01/15/08    
Wed 01/16/08 Lec 05: Composite Design Pattern and the Immutable List Structure    
Fri. 01/18/08 Lec 06: Interpreter Design Pattern and List Algorithms   HW 01: Pizza Code and UML Class Diagrams
Week 3      
Mon 01/21/08 MLK Holiday - No class    
Tue 01/22/08   Lab 02.5: JUnit Testing, Javadoc, Package, List algorithms  
Wed 01/23/08 Lec 07: Using Helpers; delegation  
Fri 1/25/08 Lec 08: Decoupling Data Structures from Algorithms; The Visitor Pattern    
Week 4      
Mon. 1/28/08 Lec 09: Information Hiding and Abstract Factory Design Pattern Lab 03: Visitor Design Pattern HW 02: Ultimate Pizza Experience
Tue. 1/29/08    
Wed. 01/30/08 Lec 10: Inner Classes and Closure    
Fri. 02/01/08 Lec 11: More Inner Classes    
Week 5      
Mon. 2/04/08 Lec 12:State Pattern and Mutable Linear Recursive Structure (LRStruct) Lab 04: Visitors and Inner Classes HW 03: Composite Immutable Structures and Visitors
Tue. 2/05/08    
Wed. 2/06/08 Lec 13: Implementation of LRStruct     
Fri. 2/08/08 Lec 14: LRStruct Visitors - Of OOT and NOOT    
Week 6      
Mon. 2/11/08 Lec 15: Introduction to Java GUI (part 1) Lab 05: Review for Exam 1  
Tue. 2/12/08   Exam #1: Herzstein 212 - from 7:30 PM to 10 PM  
Wed. 2/13/08 Lec 16: Introduction to Java GUI (part 2): MVC    
Fri. 2/15/08 Lec 17: Simple Java Drawing   HW 04: Abstract Syntax Tree
Week 7      
Mon. 2/18/08 Lec 18: Java Generics Lab 06: MVC and Hangman Model  
Tue. 2/19/08    
Wed. 2/20/08 Lec 19: Generic list framework    
Fri. 2/21/08 Lec 20: Discussion of Solutions to Exam1    
Week 8      
Mon. 2/25/08 Lec 21: Restricted Access Container (RAC) Lab 07: UML Sequence Diagram and Hangman View Project #1: Hangman (milestone 1)
Tue. 2/26/08    
Wed. 2/27/08 Lec 22: Ordering and Priority Queue    
Fri. 02/29/08 Lec 23: Programming for Change    
Week 9      
3/02/08-3/09/08 Spring Break, No Classes!    
Week 10      
Mon. 3/10/08 Lec 24: Discussion of Koch Curves Project; Binary Tree Structure and Binary Search Tree Lab 08: Design Patterns for Koch Curves  
Tue. 3/11/08   Hangman (milestone 2)
Wed. 3/12/08 Lec 25: Dictionary    
Fri. 3/14/08 Lec 26: Java Dynamic Class Loading; "Big Oh"    
Week 11      
Mon. 3/17/08 Lec 27: Array-based Dictionary Lab 09: Koch Curves MVC  
Tue. 3/18/08    
Wed. 3/19/08 Lec 28: Hash Table and Hash Functions   Project #2: Koch Curves (milestone 1)
Fri. 3/21/08 Lec 29: "Finding Nemo": The Marine Biology Simulation    
Week 12      
Mon. 3/24/08 Lec 30: Java I/O Stream Lab 10: Exam 2 Review  
Tue. 3/25/08    
Wed. 3/26/08 Lec 31: More Hash Functions Exam #2: Herzstein 212 - from 7:30 PM to 10 PM  
Fri. 3/28/08 Lec 32: Design Patterns for Self-Balancing Trees (part 1)     Koch Curves (milestone 2)
Week 13      
Mon. 03/31/08 Lec 33: Design Patterns for Self-Balancing Trees (part 2) Lab 11: Design Patterns for the Rice Marine Biology Simulation  
Tue. 4/01/08    
Wed. 4/02/08 Lec 34: Balancing Binary Trees    
Fri. 4/04/08 Spring Recess.  No Classes!
Week 14      
Mon. 4/07/08 Lec 35: Finite State Machine: A Cheap Calculator Lab 12: Finite State Machine: A Cheap Calculator  
Tue. 4/08/08    
Wed. 4/09/08 Lec 36:  Design Patterns for Sorting   Project #3: Marine Biology Simulation (milestone 1) 
Fri. 4/11/08 Lec 37:Heap Sort and the Heap Structure; Merge Sort; Quick Sort    
Week 15      
Mon. 4/14/08 Lec 38: Design Patterns for Games Lab 13: Facade of the Game  
Tue. 4/15/08    
Wed. 4/16/08 Lec 39:  Min-Max Principle; Alpha-Beta Pruning    Marine Biology Simulation (milestone 2)
Fri. 4/18/08 Lec 40: Iterative Sort    
Week 16      
Mon. 4/21/08 Lec 41: Design Patterns for Parsing (part 1) Lab 14: Facade of the Game (cont.)  Project #4: Games 4 Two (milestone 1)
Tue. 4/22/08    
Wed. 4/23/08 Lec 42: Iterative Sort (cont.) Check out Othello Tournament Rules here! Games 4 Two (milestone 2)
Thu 4/24/08   Take-home Final Exam Posted in the evening  
Friday 04/25/2008 Review of old exams 3:

Exam 3 of Spring 07

Exam 3 of Spring 06

   
Wed 04/30/08     Take-home final due at noon for all degree candidates.
Friday 05/02/08   Othello Tournament in Symonds 2 from 11 AM to 3 PM.  
Mon 05/05/08     Take-home final due at 5 PM for all non-degree candidates.