MSc Java Workshop
Lecture Log - Semester 2
The following is a log of the material covered in the Semester 2 Lectures.
The html versions are buggy sometimes. Please use the pdf in those cases.
| Week Number | Lecture Content | Reading | Examples | Tutorial material |
|---|---|---|---|---|
| Week 1 |
Recursion and ListsThis week, we looked at how to define recursive functions in Java as static methods, and applied the ideas to functions on list data structures. |
[Zip | Tar] | ||
| Week 2 |
Recursion and TreesThis week, we applied the ideas of recursive functions to binary trees and binary search trees. |
[Zip | Tar] | ||
| Week 3 |
No lectures this week |
|||
| Week 4 |
Mutable data structures and CollectionsThis week, we looked at how to modify linked data structures, with linked lists being the prime example. On Friday, we looked at the Java class library for collection classes. |
[Zip | Tar] | Collections and Generics | |
| Week 5 |
Collection and GUI classesThis week, we continued the discussion of collection classes, in particular, the generic features of the interfaces and methods. On Friday, we started discussion of the GUI class library (Swing). |
[Zip | Tar] | More on Collections and Immutability | |
| Week 6 |
GUI classes and SocketsThis week, we continued the discussion of GUI classes, in particular, event handling, layout management and the model-view-controller architecture. On Wednesday, we looked at client-server programming using sockets. |
Java tutorials on Layout, Event Listeners, Model-View-Controller, and Network Sockets |
Swing [Zip | Tar] | Model-View example [Zip | Tar] |
| Week 7 |
Threads and testingOn Monday-Tuesday, we talked about the Java mechanisms for creating threads, and the design issues about sharing data between threads. We looked at the Dining Philosophers problem that illustrates the "deadlock" and "starvation" issues. On Wednesday, we talked about testing and the JUnit framework. |
Lecture slides [html] Dining philosophers [Wiki page] JUnit [tutorial] |