Lectures

LECTURE 1: Introduction to Java I

Overview of course content, structure and marking scheme. Java programming is introduced.

Slides: [PDF]

Readings:

LECTURE 2: Introduction to Java II

Java programming introduction is continued. We learn how to compile and run our first program from the command-line and in the Eclipse IDE. We will also informally cover basic object-oriented concepts and language features of Java. These concepts and features will be covered more formally in Lecture 3.

Slides: [PDF]

Exercises:

References/Links:

LECTURE 3: Data and Expressions

Java programming introduction is continued. We will formally review data and expressions in the Java programming language.

Slides: [PDF]

Exercises:

Readings:

References/Links:

LECTURES 4 & 5: Basic Java Programming

This lecture focuses on programming with classes and objects in Java. Topics covered include - object creation and object references, the String class and its methods, garbage collection in Java, the Java standard class library, the Random and Math classes, formatting output, basic decision making with if and switch statements, review of while, do, and for loops.

Slides: [PDF]

Exercises:

Readings:

References/Links:

LECTURE 6: Arrays

In-depth presentation of arrays in Java.

Slides: [PDF]

Exercises:

Readings:

LECTURE 7: Generics

Generic classes, interfaces, methods and types.

Slides: [PDF]

Exercises:

LECTURE 10 & 11: Linked List

Covers how to implement a standard linked list and a doubly linked list.

Slides: [PDF]

Exercises:

LECTURE 13 & 14: Sorting Linked List

Continues the coverage of linked lists by looking at out-of-place and in-place sorting.

Slides: [PDF]

Exercises:

 

LECTURE 15: Sorting Algorithms

Merge sort and quick sort algorithms.

Slides: [PDF]

Exercises:

LECTURE 16: Search Algorithms

Searching sorted and unsorted data.

Slides: [PDF]

Exercises:

LECTURE 17-18: Binary Tree

Introduction to tree data structures and a hands-on overview of programming a binary tree class.

Slides: [PDF]

Exercises:

LECTURE 19: AVL Tree

Introduction to balanced binary trees (AVL trees).

Slides: [PDF]

Exercises:

LECTURE 20: Hash Table

Introduction to hash tables including inserting data, searching for data and resolving collisions.

Slides: [PDF]

Exercises: