UW Home     CSE Home   Announcements    Message Board    Contact Info 

 
 
 

This calendar is a main resource for class materials. Use it to find textbook reading assignments, links to lecture slides, and reminders of classroom activities.  Slides for future classes are taken from the Spring 2004 offering of the course. You can use these to get a good idea of what to expect, although there will undoubtedly be some changes made this quarter. Updated slides (marked with a *) will generally be posted by the night before each lecture. We suggest you print the updated slides and bring them to class to take notes.

Readings refer to the 2nd edition of the textbook; readings in brackets refer to the first edition, which should be adequate if you already have a copy of it. Companion files for the book including examples can be found at http://www.cs.uno.edu/~fred/nhText/.

Projects will generally be due electronically on Wednesday nights, but the exact deadlines and details are subject to change. Midterm exams will be held on the dates given unless exceptional curcumstances arise.

All dates are subject to change as we adjust to the new Autumn quarter schedule that begins in mid-week instead of on Monday.

Week Day Date Topic (with link to slides, if any) / Reading (note 1) Notes
1 M      
T      
W 29-Sep First day of class
* Introduction and Administrativia (4-up)
 
Th 30-Sep Introductions & review  
F 1-Oct * Modeling (4-up) / Chs. 1-6 [Chs. 1-6] (review your CSE142 book)
* Relationships between classes - inheritance
(4-up) / Ch. 10, 11 [Ch. 9, 14]
 
2 M 4-Oct Inheritance, cont.  
T 5-Oct Modeling and Class Design  
W 6-Oct

* More about inheritance (4-up)
Paper: * All I Really Need to Know about Pair Programming I Learned in Kindergarten

Project 1A assigned
Th 7-Oct Inheritance and types; project 1  
F 8-Oct *Testing and JUnit (4-up) / Ch. 6, www.junit.org & DrJava help
Sample code: Employee.java, ExemptEmployee.java, Manager.java, HourlyEmployee.java, HourlyEmployeeTest.java
 
3 M 11-Oct * Interfaces (4-up) / Sec. 9.1-9.4, 9.7 [Sec. 15.1.3]
* Introduction to graphical user interfaces and Swing
(4-up) / Sec. 17.1-17.3, 17.7 [Sec. 19.1-19.3, 19.5] Online tutorial: Sun Java Swing Tutorial (use as a "just-in-time" reference)
 
T 12-Oct Classes, packages, interfaces, and inheritance  
W 13-Oct

* Models and views (MVC) (4-up) / Ch. 18 [Ch. 20]
Sample code: Face.java, FaceTest.java
Bouncing ball world code: Ball.java, BallGraphicsView.java, BallSim.java, SimModel.java, SimThing.java, SimView.java

Project 1A due
Th 14-Oct Classes, interfaces, and inheritance (concl.); Swing; project 1B  
F 15Oct MVC and Swing
* Packages and scope (4-up) / Sec. 10.5, 10.6 [Sec. 14.6, 14.7]
 
4 M 18-Oct

* Event-driven programming (4-up) / Ch. 17-18, esp. 17.4 [Chs. 19-20 esp. 19.4]
Sample code: ButtonDemo.java, ButtonListener.java, ButtonTest.java
MouseTracker.java, MouseTest.java
Ball.java, BallGraphicsView.java, BallSim.java, BallSimControl.java, SimModel.java, SimThing.java, SimView.java

 
T 19-Oct Packages, events, etc.  
W 20-Oct Event-driven programming
* Event adapters; inner classes (4-up) / Ch. 17 [Ch. 19]
Project 1B due
Th 21-Oct Event-driven programming; Midterm review  
F 22-Oct

* Event adapters; inner classes (4-up) / Ch. 17 [Ch. 19]
Bouncing balls with inner classes: Ball.java, BallGraphicsView.java, BallSim.java, BallSimControl.java, SimModel.java, SimThing.java, SimView.java
Bouncing balls with anonymous inner classes: above files except for BallSimControl.java
* Programming by contract; exceptions, and assertions (4-up) / Ch. 5 [Ch. 7]

 
Su 24-Oct Midterm review session, 3:00  
5 M 25-Oct Midterm 1 in class  
T 26-Oct Events; project 1 last minute issues  
W 27-Oct * Exception Handling (4-up) / Ch. 15 [Ch. 18] Project 1C due
Th 28-Oct Exception Q&A, HashMaps and wrapper classes  
F 29-Oct * Streams and files (4-up) / Ch. 16 [Sec. 19.1; Appendix A2] Project 1 report due
6 M 1-Nov Streams
* Collections (4-up) [slides added 11/1]/ Ch. 12 [Ch. 12] (review)
 
T 2-Nov Catch-up: exceptions, streams, strings, etc.  
W 3-Nov Collections cont.
* Implementing Lists with Arrays (4-up) (intro) / Ch. 13 [Ch. 22]
Project 2A due
Th 4-Nov Collections  
F 5-Nov Implementing lists with arrays  
7 M 8-Nov Implementing lists with arrays
Sample code so far: SimpleArrayList.java, SimpleArrayListTest.java
 
T 9-Nov Lists and arrays  
W 10-Nov Implementing equals and iterators for collections / Sec. 12.8
Sample code: SimpleArrayList.java, SimpleArrayListTest.java
Project 2B due
Th 11-Nov Veterans Day -- No Class  
F 12-Nov * Program Efficiency and Complexity (4-up) / [Ch. 21 (ignore heavier math)] Project 2 report due, 5pm
8 M 15-Nov Midterm 2 in class  
T 16-Nov Basic complexity  
W 17-Nov Effeciency and complexity (concl.)
 
Th 18-Nov Complexity  
F 19-Nov * Recursion and Binary Search (4-up) / Ch. 14, Sec. 19.1-19.2, 19.4 [Ch. 13, Secs. 17.1-17.3]
 
9 M 22-Nov Recursion (cont)  
T 23-Nov recursion  
W 24-Nov * Sorting (4-up) / Sec. 19.3 [Ch. 13, Sec. 17.3] Project 3A due
Th 25-Nov Thanksgiving -- No Class  
F 26-Nov Thanksgiving -- No Class  
10 M 29-Nov Sorting (concl.)  
Tu 30-Nov Mergesort  
W 1-Dec * Linked Lists (4-up) / Ch. 20 [Ch. 23]  
Th 2-Dec Linked data structures  
F 3-Dec * Stacks and queues (4-up)  
11 M 6-Dec * Trees (4-up) Project 3B due
Tu 7-Dec Data structures  
W 8-Dec * Binary Search Trees (4-up) Project 3 report due
Th 9-Dec Review and conclusion  
F 10-Dec * Hashing (4-up)  

Final Exam

W 15-Dec 2:30-4:20 p.m. Wednesday, Dec. 15, 2004, Kane 120