Lectures
Lecture Arrangements
The lecture timetable for this course is given below. There will be 2 lectures each week for a total of 12 weeks (corresponding to University week numbers 30-37 and 41-44); for simplicity I will refer to weeks 1-12.
| Day | Time | Place |
|---|---|---|
| Tue | 11 am | New King's 1 |
| Fri | 10 am | St. Mary's G3 |
You are expected to attend all lectures, practicals, and tutorials, and attendance records will be kept. If you do not attend regularly, you risk having your Class Certificate withheld.
Plan of Lectures, Slides and Support Materials
Lecture notes will become available on the table below, usually at least one day before the corresponding lecture.
Lecture notes are provided as PowerPoint files (.ppt). If you want to print them, consider printing as "handouts" with 3 or 6 slides per page, to save paper (and the environment!) – check out for instructions on how to do this here.
I reserve the right to revise the slides in the light of what has happened during the lecture (e.g. if I discover any errors or don't get as far as I thought). A label "ok" will appear next to the slides when they are ready to be printed.
| Week | Topic of Lecture | Slides |
|---|---|---|
| 1 | ||
| Introduction and Revision |
Lec. 0.1
ok
Lec. 1.1 ok Recording of Lec. 1.1 |
|
| Statistics: Intro. and summarisation | Lec. 1.2
ok
Recording of Lec. 1.2 |
|
| 2 | ||
| Collections: ArrayList | Lec. 2.1
ok
Recording of Lec. 2.1 |
|
| Collections: ArrayList (Cont'd), Workshop: ParcelTracking | Lec. 2.2
ok
Recording of Lec. 2.2 |
|
| 3 | ||
| Hashmaps & Arrays | Lec. 3.1
ok
Recording of Lec. 3.1 |
|
| Probability & discrete probability distributions | Lec. 3.2
ok
Recording of Lec. 3.2 Recording of Lec. 3.2 (Cont'd) |
|
| 4 | ||
| Characters and strings, String methods, Workshop: TrainTimetable | Lec. 4.1
ok
Recording of Lec. 4.1 |
|
| Random number generation, Workshop: CarPark, Demo: ChanSimV1 | Lec. 4.2
ok
Recording of Lec. 4.2 |
|
| 5 | ||
| Simulation, Workshop: PacketSwitch, Workshop: JavAirPlus |
Lec. 5.1
ok
Recording of Lec. 5.1 |
|
| Continuous probability distributions & Inferential Statistics | Lec. 5.2
ok
Recording of Lec. 5.2 |
|
| 6 | ||
|
Text files: simpleIODemo (for those who want to look 'under the bonnet': simpleIOSource) |
Lec. 6.1
ok
Recording of Lec. 6.1 |
|
| Workshop MultiChoice, Static, Casting | Lec. 6.2
ok
Recording of Lec. 6.2 |
|
| 7 | ||
| Wrapper classes, Constants (final), Strings as objects, Quick quiz |
Lec. 7.1
ok
Recording of Lec. 7.1 |
|
| Revision of Propositional Logic |
Lec. 7.2
ok
Recording of Lec. 7.2 |
|
| 8 | ||
|
Working outside the Blue-J environment Event-based lectures: Greet, EventTest |
Lec. 8.1
ok
Recording of Lec. 8.1 |
|
| User initiated events, Error handling, (Simulation - FoxesAndRabbitsV1) |
Lec. 8.2
ok
Recording of Lec. 8.2 |
|
| 9 | ||
| Inheritance - Motivation, Basic ideas
(MMD-PreInheritance), Example: Questionnaire |
Lec. 9.1
ok
Recording of Lec. 9.1 |
|
| Predicate Logic (First-Order Logic) | Lec. 9.2
ok
Recording of Lec. 9.2 Recording of Lec. 9.2 (Cont'd) |
|
| 10 | ||
| Inheritance - Substitution, Static and dynamic variables, Method overriding |
Lec. 10.1
ok
Recording of Lec. 10.1 Recording of Lec. 10.1 (full) |
|
| Inheritance - Method polymorphism, Subtyping and assignment, Object class (MMD-Final) |
Lec. 10.2
ok
Recording of Lec. 10.2 Recording of Lec. 10.2 (Cont'd, from 2012) |
|
| 11 | ||
| Individual lectures exercise
Inheritance - revision, quiz and examples: |
Lec. 11.1
ok
Recording of Lec. 11.1 (from 2012) Recording of Lec. 11.1 |
|
| Example - Chess: abstract; | Lec. 11.2
ok
Recording of Lec. 11.2 |
|
| 12 | ||
| abstract: FoxesAndRabbitsV2; Example: chess, enum, protected | Lec. 12.1
ok
Recording of Lec. 12.1 |
|
| Revision | Lec. 12.2
ok
Recording of Lec. 12.1 and 12.2 (from 2011) |