[Note: lecture slides will be added the night before each class. The source code for exercises covered in class will be added by the next day.]
Overview of course content, structure and marking scheme. Java programming is introduced.
Slides: [PDF]
Readings:
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:
Java programming introduction is continued. We will formally review data and expressions in the Java programming language.
Slides: [PDF]
Exercises:
Readings:
References/Links:
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:
In-depth presentation of arrays in Java.
Slides: [PDF]
Exercises:
Readings:
Generic classes, interfaces, methods and types.
Slides: [PDF]
Exercises:
Overview of Java's object-oriented features including inheritance and polymorphism.
Slides: [PDF]
Exercises:
Java packages examples and visibility.
Slides: [PDF]
Exercises:
Covers how to implement a standard linked list and a doubly linked list.
Slides: [PDF]
Exercises:
Continues the coverage of linked lists by looking at out-of-place and in-place sorting.
Slides: [PDF]
Exercises:
Merge sort and quick sort algorithms.
Slides: [PDF]
Exercises:
Searching sorted and unsorted data.
Slides: [PDF]
Exercises:
Introduction to tree data structures and a hands-on overview of programming a binary tree class.
Slides: [PDF]
Exercises:
Introduction to balanced binary trees (AVL trees).
Slides: [PDF]
Exercises:
Introduction to hash tables including inserting data, searching for data and resolving collisions.
Slides: [PDF]
Exercises: