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