COMP122

Introduction to object oriented programming, exemplified in Java.

Timetable

For the remainder of the semester, all face-to-face learning activities have been moved online. The assignments are not affected and are due as originally scheduled. We will continue to provide support via the issue tracker, as well as individual support during normal lab times. Please feel free to drop in to any of the listed lab meetings via the Teams channel.


Schedule

Week 1
28/01 Lecture 1a: Welcome, Syllabus, etc.
31/01 Lecture 1b: Java Programming Language
Week 2
04/02 Lecture 2a: Data types and flow control
Lab 2: Java basics
07/02 Lecture 2b: Objects and Classes LO1
Week 3
11/02 Lecture 3a: Inheritance LO1 LO2
Lab 3: Building Class Hierarchies LO1
14/02 Lecture 3b: Polymorphism LO2
Week 4
17/02 LO1 LO2
18/02 Lecture 4a: Javadoc and Version Control LO6
Lab 4: Inheritance LO1 LO2 LO6
21/02 Lecture 4b: Abstract Classes LO1
Week 5
25/02 Lecture 5a: Interfaces LO3
Lab 5: Version Control and Strings LO1
28/02 Lecture 5b: Interfaces, Collections & Iterators LO3
Week 6
03/03 Lecture 6a: Input and output (I/O): Files, Command-line interfaces LO6
Lab 6: Collections & Iterators LO3
06/03 Lecture 6b: Exception Handling LO2
Week 7
09/03 LO1 LO3
10/03 Lecture 7a: Exception Handling Part II LO2
Lab 7: Exception Handling LO2
13/03 Lecture 7b: Unit Testing and A3 LO4
Week 8
17/03 Lecture 8a: mid term revision: Inheritance, Polymorphism LO1 LO2
19/03 9-11am: TAs: Jodie James
19/03 3-5pm: TAs: Jodie Gaojie Manhar
20/03 Lecture 8b: I/O: more on Streams and Serialization LO6
20/03 3-5pm: TAs: Navneet Ramya Udhay
Week 9
23/03 1-3pm: TAs: Cameron Navneet Jodie
Lecture 9a: Graphical User Interfaces and the MVC Pattern LO5
26/03 9-11am: TAs: Jodie James
26/03 3-5pm: TAs: Jodie Gaojie Manhar
Lecture 9b: GUIs with Java Swing LO5
27/03 3-5pm: TAs: Navneet Ramya Udhay
30/03 LO2 LO4
Week 10
20/04 1-3pm: TAs: Cameron Navneet Jodie
21/04 Lecture 10a: Revision, GUIs, A4
23/04 9-11am: TAs: Jodie James
23/04 3-5pm: TAs: Jodie Gaojie Manhar
24/04 Lecture 10b: Java v Python: OOP features
24/04 3-5pm: TAs: Navneet Ramya Udhay
Week 11
27/04 1-3pm: TAs: Cameron Navneet Jodie
28/04 Lecture 11a: Q&A
30/04 9-11am: TAs: Jodie James
30/04 3-5pm: TAs: Jodie Gaojie Manhar
01/05 3-5pm: TAs: Navneet Ramya Udhay
04/05 LO5