|
CSE 143-Java |
This is the schedule of lectures and section topics, related readings, and homework and exam dates. Lecture topics will be linked to the lecture slides as they become available; we'll try to make them available at least the evening before each lecture so you can take an advanced look. The slides will be updated after a lecture if necessary to correct any errors.
This is the first offering of CSE143 in Java. We will follow the rough outline given here, but please expect the details to change as the quarter evolves.
Lectures are held on Monday, Wednesday, and Friday. On Tuesday and Thursday you will meet with your TA in a smaller quiz section.
You can expect a homework assignment every week. Programming assignments will normally be due electronically over the web Wednesday nights at 10:00 pm. You will sometimes hand in written assignments in sections on Thursday. Instructions for submitting homework will be provided on each assignment. Assignments will be a combination of written problems, short programming exercises, and longer programming assignments. Some of the later assignments may form parts of a larger project.
The last column indicates the chapters/sections of the textbook that are relevant to the lecture material. The textbook is a good source of additional explanations and examples.
Subject to change. Last revised 12/12/01 05:11 PM
| Week | Day | Date | Topic | Demo programs | Textbook Reading |
| #1 | M | 10/1 | Administrivia Classes and interfaces |
Customer.java OrdinaryCustomer.java PreferredCustomer.java |
Review ch. 1-6, 12 as needed |
| Tu | 10/2 | No Sections | |||
| W | 10/3 |
Classes and interfaces Programming by contract HW1 out (small simulation) |
StringList.java | Sec. 6.1, 6.4 (pp 158-9), Ch. 7 | |
| Th | 10/4 |
First section: introduction |
|||
| F | 10/5 |
Programming by contract; invariants, pre-, and postconditions |
StringList.java | Sec. 6.1, 6.4 (pp 158-9), Ch. 7 | |
| #2 | M | 10/8 |
Animal.java Cat.java Dog.java |
Ch. 9 (class relationships), ch. 14 (inheritance) | |
| Tu | 10/9 | Inheritance Last minute HW1 topics |
|||
| W | 10/10 | Inheritance: method overriding and dynamic
dispatch |
BankAccount.java SavingsAccount.java CheckingAccount.java |
Ch. 14 | |
| Th | 10/11 |
No sections. UW classes canceled |
|||
| F | 10/12 |
Inheritance and interfaces |
Ch. 14 & 15 | ||
| #3 | M | 10/15 | Abstract
classes & interfaces Introduction to packages and Java standard libraries |
Sec. 14.6, 14.7 | |
| Tu | 10/16 |
HW2 q&a; interfaces & inheritance |
|||
| W | 10/17 |
Packages, static & scope |
Face.java FaceTest.java |
Sec. 14.6, 14.7 Sun Swing Tutorial JDK 1.3 API docs | |
| Th | 10/18 |
Inheritance, static, and scope |
|||
| F | 10/19 | SimThing.java
(interface) SimView.java (interface) SimModel.java Ball.java (a SimThing) BallGraphicsView.java (a SimView) BallSim.java (main program) TestThing.java (text based test class) TestView.java (text based test class) TestModel.java (text based test program) |
Sec. 14.6, 14.7 Sun Swing Tutorial JDK 1.3 API docs Ch. 20 | ||
| #4 | M | 10/22 | MouseTracker.java MouseTest.java Updated ball world: |
Ch. 19 & 20, particularly sec. 19.4. | |
| Tu | 10/23 |
HW3 q&a; event-driven programming |
|||
| W | 10/24 |
Exception Handling |
Version 3 of ball world (with erase/add tools) SimView.java SimThing.java SimModel.java Ball.java BallGraphicsView.java BallSimControl.java SimButtonListener.java AbstractTool.java ToolInterface.java AddTool.java EraseTool.java BallSim.java |
||
| Th | 10/25 | Midterm review; HW4 q&a | |||
| F | 10/26 | MIDTERM 1 in class | |||
| #5 | M | 10/29 | FileCopy.java | Appendix A.2, particularly sec. A.2.2, A.2.4 | |
| Tu | 10/30 |
HW4 q&a; streams |
|||
| W | 10/31 |
Streams & I/O exceptions; public key cryptography (no new slides; see hw5 for more) |
|||
| Th | 11/1 | Streams & files; HW5 | |||
| F | 11/2 |
NO LECTURE (homework 4 writeups will be
collected at the beginning of the hour) |
|||
| #6 | M | 11/5 | Overview of collections | ||
| Tu | 11/6 | Collections | |||
| W | 11/7 | ||||
| Th | 11/8 |
Dynamic data structures |
|||
| F | 11/9 | ||||
| #7 | M | 11/12 | Veterans Day - NO CLASSES | ||
| Tu | 11/13 |
NO SECTIONS |
|||
| W | 11/14 | ||||
| Th | 11/15 |
Midterm review |
|||
| F | 11/16 | MIDTERM 2 in class | |||
| #8 | M | 11/19 |
Program efficiency and overview of
computational complexity HW6 out |
||
| Tu | 11/20 |
O( ) notation; execution time |
|||
| W | 11/21 | ||||
| Th | 11/22 | Thanksgiving - NO CLASSES | |||
| F | 11/23 | Thanksgiving - NO CLASSES |
| ||
| #9 | M | 11/26 | |||
| Tu | 11/27 |
HW6 q&a; maps |
|||
| W | 11/28 |
Maps (hashing); Searching and sorting (binary search) |
|||
| Th | 11/29 |
maps |
|||
| F | 11/30 | ||||
| #10 | M | 12/3 | Trees HW7 out (optional) |
||
| Tu | 12/4 |
HW7 q&a; trees |
|||
| W | 12/5 | ||||
| Th | 12/6 |
data strictires |
|||
| F | 12/7 |
Encryption technology and public policy |
Links to some sources | ||
| #11 | M | 12/10 |
HW4 best of show |
||
| Tu | 12/11 |
Wrapup |
|||
| We | 12/12 |
Networking; final thoughts |
|||
| #12 | Tu | 12/18 | FINAL EXAM 2:30-4:20; regular lecture room, Kane 220 |