The University of Aberdeen
The Computing Science Department

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.

Links to solutions to workshops and sample programs are given.

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)