See the lecture summaries for more details on lecture topics.
Suggested readings, relevant to various lecture topics, are listed on the syllabus for the following books.
The page numbers in Eckel correspond to the printed copy of the text, and not to the downloadable version. Also, note that the reference section of Flanagan is very handy but makes for very boring reading, and should only be skimmed for familiarity. However, it is worth taking time to study the related class hierarchy diagrams and to read the various textual descriptions before skimming the class methods in the reference.
| Date | Lecture Topic | Eckel | Flanagan | Assigned | Due |
|---|---|---|---|---|---|
| Tues, Jan 12 | Introduction and Review | pp. 25-86 | pp. 49-80 | ||
| Thurs, Jan 14 | Packages and Protection | 189-213 | |||
| Tues, Jan 19 | Creating APIs, javadoc, java.util | 323-360, 86-93 | 271-274 | Lab 1 | |
| Thurs, Jan 21 | Intro. to Human-Computer Interfaces (HCI) | 251-278,306-320 | |||
| Tues, Jan 26 | Class Hierarchy Example: java.awt | 587-596, 600-610, 613-618 | 279-333 | ||
| Thurs, Jan 28 | The Java Event Model | 638-692 | 144-157, 341-360 | ||
| Tues, Feb 2 | Adaptors and Inner Classes | 278-305 | 102-124 | Lab 2 | Lab 1 |
| Thurs, Feb 4 | Exception Handling | 403-437 | |||
| Tues, Feb 9 | Threads | 751-780 | |||
| Thurs, Feb 11 | Concurrency and Synchronization | 785-822 | |||
| Tues, Feb 16 | Deadlock | Lab 3 | Lab 2 | ||
| Thurs, Feb 18 | Review for Midterm Exam | review sheet | |||
| Tues, Feb 23 | Midterm Exam | ||||
| Thurs, Feb 25 | Return and Discuss Exam | ||||
| Mar 1 - Mar 5 | Spring Break -- No Lecture | ||||
| Tues, Mar 9 | Streams, Files, and Serializable Objects | 439-513 | 172-176, 396-440 | ||
| Thurs, Mar 11 | Parsing Character Streams | ||||
| Tues, Mar 16 | Applets and URL Connections | 505-506, 275-278 | Lab 4 | Lab 3 | |
| Thurs, Mar 18 | Interprocess Communication (IPC), sockets | 825-842 | 492-493, 500-501 | ||
| Tues, Mar 23 | Client/Server Applications | ||||
| Thurs, Mar 25 | IPC using Remote Method Invocation (RMI) | 897-904 | |||
| Tues, Mar 30 | Distributed Applications for Collaboration | Lab 5 | Lab 4 | ||
| Thurs, Apr 1 | Run-Time Type Identification, Reflection | 515-539 | 219-223, 481-491 | ||
| Tues, Apr 6 | Java Beans and Builder Tools | 704-720, 780-785 | 178-200, 381-395 | ||
| Thurs, Apr 8 | C++ and Java: A Comparison | 1039-1049 | |||
| Tues, Apr 13 | Comparison of C++ and Java (continued) | Lab 5 | |||
| Thurs, Apr 15 | Programming Contest (optional) | contest | |||
| Tues, Apr 20 | Course Summary and Review for Final Exam | review sheet | contest email | ||
| Thurs, Apr 22 | Programming Contest in Cupples II 300 | ||||
| Thurs, Apr 29 | Final Exam 10:30am-12:30pm in Brown 100 |