[an error occurred while processing this directive]

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