Date
|
Lecture
|
Lab
|
Assignment Due
|
Wed. 1/11/06 |
Lec01:
Administrivia, getting Java and DrJava |
Lab01: Java Syntax Primer, Using DrJava |
|
Thurs. 1/12/06 |
|
|
Fri. 1/13/06 |
Lec02: Data Abstraction using Primitives |
|
|
|
|
|
|
Mon. 1/16/06 |
MLK Holiday. No Classes! |
|
|
Wed.
1/18/06 |
Lec03: Functional Abstraction using Methods |
Lab02: Unit Tests, Writing Classes and Making Interacting Objects |
|
Thurs.1/18/06 |
|
|
Fri. 1/20/06 |
Lec04: Abstraction Using Objects and Classes |
|
HW01: Writing simple classes |
|
|
|
|
Mon. 1/23/06 |
Lec05: Object Relationships and UML diagrams |
|
|
Wed. 1/25/06 |
Lec06: Union Design Pattern and Polymorphism |
Lab03: Java Syntax; Using the Calendar Class; StructureBuilder |
|
Thurs. 1/26/06 |
|
|
Fri. 1/27/06 |
Lec07: Union Design Pattern and Polymorphism. cont. |
|
HW02: Unit Tests and Polymorphism |
|
|
|
|
Mon. 1/30/06 |
Lec08: Polymorphism in Action: Ballworld |
|
|
Wed. 2/1/06 |
Lec09: Ballworld continued. |
Lab04: Static vs. non-static; Singleton Pattern; Strategy Pattern |
|
Thurs. 2/2/06 |
|
|
Fri. 2/4/06 |
Lec10: Inheritance vs. composition in Ballworld. |
|
HW03:
More on writing and testing classes and polymorphism |
|
|
|
|
Mon. 2/6/06 |
Lec11: Dynamically changing and dynamically composed behaviors in
Ballworld. |
|
|
Wed.
2/8/06 |
Lec12: Lists and List Processing: The Composite Design Pattern |
Lab05: Lists and Their Algorithms |
|
Thurs. 2/9/06 |
|
|
Fri. 2/10/06 |
Lec13: Lists and List Processing: The Interpreter Pattern |
|
HW04: Singletons, even more polymorphism and
strategies
Blanket extension: 10 AM Monday 2/13/06 |
|
|
|
|
Mon. 2/13/06 |
Lec14: Recursion |
|
|
Wed. 2/15/06 |
Lec15: Review |
Lab06: Lists and Their Algorithms cont. |
|
Thurs. 2/16/06 |
|
|
Fri.
2/17/06 |
Lec16: Review |
|
|
|
|
|
|
Mon. 2/20/06 |
Lec17: Tail Recursion; To Cook or Not to Cook |
|
7:00 PM - 9:30 PM EXAM
1 in DH1064 |
Wed. 2/22/06 |
Lec18: The Visitor Design Pattern |
Lab07: Visitors |
HW05: Forward Accumulation and Higher-Order
Functions |
Thurs. 2/23/06 |
|
|
Fri. 2/24/06 |
Lec19: More Visitors |
|
|
|
|
|
|
Mon. 2/27/06 |
Lec20: The Abstract Factory Design Pattern |
|
|
Wed. 3/1/06 |
Lec21:
Exam 1 recap. & The List Component Framework; Examples of List Visitors
Using Factory |
Lab08:Factories and Inner Classes |
HW06: Visitor Algorithms on an Immutable List |
Thurs. 3/2/06 |
|
|
Fri. 3/3/06 |
Lec22: Inner Classes |
|
|
|
|
|
|
Mon. 3/6/06 |
Lec23: More Inner Classes |
|
|
Wed. 3/8/06 |
Lec24: Examples of Visitors with Inner Classes; Java GUI Programming |
Lab09: Factories
and Inner Classes (cont.) |
|
Thurs. 3/9/06 |
|
|
Fri. 3/10/06 |
Lec25: Java GUI Programming, cont., Event
handlers in Java GUIs |
|
HW07: Visitors using Factories with Nested or
Anonymous Inner Classes |
|
|
|
|
3/13/06-3/17/06 |
Spring Break, No
Classes! |
|
|
|
|
Mon. 3/20/06 |
Lec26: Event handlers in Java GUIs, cont. |
|
|
Wed. 3/22/06 |
Lec27: State design pattern; Mutable Lists |
Lab10:
GUI programming |
|
Thurs. 3/23/06 |
|
|
Fri. 3/24/06 |
Lec28: LRStruct implementation |
|
|
|
|
|
|
Mon. 3/27/06 |
Lec29: LRStruct visitors |
|
HW08: Java GUI programming with Factories and
Anonymous Inner Classes |
Tues. 3/29/06 |
|
Lab11: Mutable List Processing: Exercises on
LRStruct |
|
Wed. 3/29/06 |
Lec30:
LRStruct visitors, continued. |
|
Fri. 3/31/06 |
Lec31: Restricted Access Containers |
|
|
|
|
|
|
Mon. 4/3/06 |
Lec32: Review |
|
|
Tues. 4/4/06 |
EXAM #2 ON-LINE 7:00
PM-11:00 PM |
Lab12:
Finite State Machine and the State Pattern: The Cheap Calculator
|
HW09: Mutable List
Processing - Exercises on LRStruct |
Wed. 4/5/06 |
Lec33: Finite State Machine and
the State Pattern: The Cheap Calculator |
|
Thurs. 4/6/06 |
Spring
Recess. No Classes! |
Fri. 4/7/06 |
|
|
|
|
Mon. 4/10/06 |
Lec 34: Ordering Object and
Priority Queue |
|
|
Tues. 4/11/06 |
|
Lab13:
Binary Trees Algorithms |
|
Wed. 4/12/06 |
Lec35: Binary Tree Structure
and BiTree Visitors
|
HW10: Finite State
Machine and The State Design Pattern |
Thurs. 4/13/06 |
|
|
|
Fri. 4/14/06 |
Lec36: Binary Search Tree,
Final project
kick-off |
|
|
|
|
|
|
Mon. 4/17/06 |
Lec37: Exam recap; Javadocs |
|
|
Tues. 4/18/06 |
|
Lab14:
Start of BallWar, the Final Project |
|
Wed. 4/19/06 |
Lec38: Arrays and Array Processing |
HW11: Binary Tree Processing Exercises |
Fri. 4/21/06 |
Lec39:
Arrays continued, Design Patterns for Sorting |
|
|
|
|
|
|
Mon. 4/24/06 |
Lec40: Java Thread and Animation Basics - Command Pattern and Decorator
Pattern |
|
BallWar project description
|
Tues. 4/25/06 |
|
Lab15: Writing Loops and Processing Arrays |
|
Wed. 4/26/06 |
Lec41: Last day of class!
Exam 3 prep, Wrap-up and course evaluations. Please be there! |
HW12: Stacks and The Cheap Postfix Calculator |
Thurs. 4/27/06 |
|
|
Extra Credit Assignment Due |
|
|
|
|
Tues. 5/2/06 |
|
|
Exam 3 available (evening) |
|
|
|
|
Wed. 5/10/06 |
|
|
Final Project: BallWar
and Exam 3
(due 12:00PM) |
|
|
|
|