| Week |
Period |
Topics |
Reading Assignment |
Lab |
| #1 |
Lecture 1 |
Course introduction |
Ch. 11 |
Intro to Ant |
| Lecture 2 |
Java tools and programming environment |
|
| Lecture 3 |
Ant build tool |
|
| #2 |
Lecture 1 |
Exceptions and exception handling |
Ch. 13 |
Intro to Eclipse |
| Lecture 2 |
Stack unwinding and chained exceptions |
|
| Lecture 3 |
Assertions in JDK 1.4+ |
|
| #3 |
Lecture 1 |
Files and I/O stream processing |
Ch. 14 |
Lab 1: |
| Lecture 2 |
Object serialization |
|
| Lecture 3 |
Opening files with
JFileChooser |
|
| #4 |
Lecture 1 |
Data structures and associated algorithms |
Ch. 17 |
|
| Lecture 2 |
Type wrappers for primitive types |
|
| Lecture 3 |
Auto-boxing and Auto-unboxing in JDK 1.5+ |
|
| #5 |
Lecture 1 |
Collections and the Collections API |
Ch. 19 |
Lab 2: |
| Lecture 2 |
Interfaces and Implementations in the API |
|
| Lecture 3 |
Algorithms and Synchronization wrappers |
|
| #6 |
Lecture 1 |
Generics in Java JDK 1.5+ |
Ch. 18 |
|
| Lecture 2 |
Passing generic parameters and return types |
|
| Lecture 3 |
Issues with generic class overloading and inheritance |
|
| #7 |
Lecture 1 |
Threads and multi-threading applications in Java |
Ch. 23 |
Lab 3: |
| Lecture 2 |
Thread synchronization (synchronized
keyword) |
|
| Lecture 3 |
Producer-consumer implementation issues |
|
| #8 |
Lecture 1 |
Networking on the client-side in Java |
Ch. 24 |
|
| Lecture 2 |
Sockets and sending TCP or UDP packets |
|
| Lecture 3 |
Security and the network |
|
| #9 |
Lecture 1 |
Database access using JDBC |
Ch. 25 |
Lab 4: |
| Lecture 2 |
Connecting and using SQL with MS-Access; MySQL |
|
| Lecture 3 |
Persistence Frameworks (Hibernate, iBATIS) |
|
| #10 |
Lecture 1 |
Servlets and server-side Java |
Ch. 26 |
|
| Lecture 2 |
HTTP basics: Request, Response objects, Sessions |
|
| Lecture 3 |
Wrap-up and Final review |
|
| #11 |
Exam week |
Final exam |
|
|