1. Basic Java

Lectures Review of Basic Java
Program code: Console class Place the text in the same directory as your program and compile. Then use freely.
Exercises: Exercise Sheet 1.

2. Static Methods and Strings

Lectures  Static methods and Strings
Exercises: Exercise Sheet 2.

3. Classes: Introduction

Lectures Classes Introduction   
Exercises: Exercise Sheet 3.

4. Classes: Instance Methods

Lectures Instance Methods
Exercises: Exercise Sheet 4.

5. Programming with Classes

Lectures Programming with classes
Exercises: Exercise Sheet 5.

6. Arrays: Sorting and Searching

Lectures Arrays
Exercises: Exercise Sheet 6
Assessed Exercise: Assessed Exercise 1    Deadline: see Weekly Schedule

7. Exceptions

Lectures Exceptions   Only Sections 1 to 3, incl., are part of the course.

8. Text files

Lectures Text Files Text files   You may omit sections 4 and 6.
Code ConsoleReader.java
Exercises: Exercise Sheet 8

9. Recursion

Lectures Recursion
Exercises: Exercise Sheet 9
Extra Large example
Extra exercises: Exercise Sheet 9b. Solutions are in Solutions 9b. Do not look at these until you have attempted the problems yourself.

10. Binary Files

Lectures Binary Files  Section 8 on copying files is not examinable.
Exercises: Exercise Sheet 10   (A sample courses file: courses.dat  is provided for Exercise 4 -- right-click and "Save target as ...")
Assessed Exercise 2: Assessed Exercise 2 A sample inventory file: books.dat  (right-click and "Save target as ...")     Deadline: see Weekly Schedule

11. Complexity Analysis

Lectures Running Times of Methods  Sections 9 & 10 and calculating the running time of methods with nested loops is not examinable.
Exercises: Exercise Sheet 11  Solutions are in Solutions to Exercise Sheet 11. Do not look at these until you have attempted the problems yourself.

12. Object and Wrapper Classes

Lectures Object & Wrapper classes

13. Collections: Lists

Lectures Lists
Exercises: Exercise Sheet 13  

14. Collections: Sets and Maps

Lectures Sets and Maps
Exercises: Exercise Sheet 14  

15. Quicksort

Lectures Quicksort     Section 3 is not examinable. You may be asked to explain Quicksort, but you will not be asked to code it.
                                    The partitioning code is fiully examinable, however.

16. Randomly Accessed Files

Lectures Random access files 

17. Serialization

Lectures Serialization  You will not be examined on serialization.