[Rice Logo]

Comp 212: Intermediate Programming

Spring 2007

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

LabPM

Assignment Due

Week 1      
Mon 01/08/07 Lec 01 The Best Little Pizza House in Texas Lab 01: DrJava, Java Syntax  
Tue 01/09/07    
Wed 01/10/07 Lec 02: Administrivia; OO Pizza Design    
Fri 01/12/07 Lec 03: More Java Syntax; Pizza Code    
Week 2      
Mon. 01/15/07 MLK Holiday.  No Classes!    
Tue 01/16/07   Lab 01.5: UML and More Java Syntax
Tuesday Lab meets as usual.
Wednesday Lab meets in Sewall 101 from 4:30 PM to 6 PM.

 

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