Introduction to Course: Introduction to the course, grading structure, etc.
Introduction to Java: Basic Java syntax, structure. Object oriented programming and related techniques.
Lists: Overview of list data structures and more Java necessary for developing lists.
Big Oh Notation: Analysing data structure runtimes using Big-Oh notation.
Trees: Tree data structures, including BST and AVL
Sorting: Sorting algorithms, including bubble, insertion, mergesort, and quicksort
Hashing: Hash tables and collision resolution strategies.
Priority Queus: Priority queues, min-heaps, and heapsort.
Concurrency: Some simple multi-threading in Java.