| Week | Lecture description | Lecture resources | |
|---|---|---|---|
| 1 | Introduction | Handout | |
| Primitive types | Handout | ||
| 2 | Classes | Handout | |
| Statements & local variables | Handout | ||
| 3 | Class definitions | Handout | |
| Constructors | Handout | ||
| 4 | Arrays | Handout | |
| Reference types | Handout | ||
| 5 | Formal parameters | Handout | |
| Encapsulation | Handout | ||
| 6 |
The local variable this
|
Handout | |
| Overloading | Handout | ||
| 7 | Serialization | Handout | |
| Class hierarchies | Handout | ||
| 8 | Polymorphism | Handout | |
| Abstract classes | Handout | ||
| 9 | The Object class | Handout | |
| Generic data structures | Handout | ||
| 10 | Java interfaces | Handout | |
| No lecture | |||
| Totally daft two week break | |||
| 11 | Class variables | Handout | |
| Class methods | Handout | ||
| 12 | Sample Exam Paper Q1 | ||
| Sample Exam Paper Q2 | |||
| Week | Lab description | Lab resources | Solutions |
| 3 | Lab1 | Handout | Nim.java; NimChallenge.java |
| 4 | Lab2 | Handout | ATM.java; ATMTester.java |
| 5 | Lab3 | Handout | Question.java; Quiz.java; QuizTester.java |
| 6 | Lab4 | Handout | Customer.java;
NaiveQueueOfCustomers.java; QueueOfCustomers.java; ServicePosition.java; PostOffice.java; BarChart.java |
| 8 | Lab5 | Handout | RoundRobinTester.java;
Prisoner.java; Rand.java; TitForTat.java; Majority.java; RoundRobinTournament.java; Bout.java |
| 10 | Lab6 | Handout | |