Week 1 Wed: Intro to Eclipse (TA Raaj) Fri: Checking balance, the simple and more complex case Week 2 Mon: Program for checking balance, all but the stack Wed: How to implement stack as array, and implementation Fri: Types, Casting, and generalizing the stack Week 3 Mon: Reference and primitive types, objects as references, intro to linked lists Wed: Implementing a Stack as a linked list, Homework 2 discussion Fri: Homework 2 discussion, a method to find the maximum and its generalization Week 4 Mon: Interfaces and a general findmax method Wed: Generic classes -- Gneneric Memory Cell, Generic Stack Fri: Generic methods, generic interfaces Week 5 Mon: generic interfaces, continued Wed: List ADT, LinkedList and ArrayList implementation, iterators Fri: More on iterators, interfaces implemented by ArrayList and LinkedList Week 6 Mon: The MyArrayList class Wed: Implementing iterators in MyArrayList Fri: Homework review, and intro to running time analysis Week 7 Mon: Running time analysis of MyArrayList, and quick pass through MyLinkedList Wed: MyLinkedList completed, Intro to recursion: similarity to method calls Fri: Intro to recursion: two simple examples, the base seven conversion, binary search Week 8 Mon: binary search completed, intro to binary trees, midterm review Wed: midterm Fri: Binary search trees Week 9 Mon: review of BST insert and search, discussion of delete Wed: Coding delete Fri: Running time, height, balanced trees, AVL trees Week 10 Mon: Case 1 of AVL tree insertion Wed: Case 2 of AVL tree insertion Fri: Hash tables, using java hash tables, intro to separate chaining Week 11 Mon: Code for separate chaining, mention of tables without linked lists Wed: Heaps Fri: Code for insertion Week 12 Mon: Code for findmin, deletemin. Insertion Sort. Wed: Inversions, Refined Insertion Sort analysis, heapsort, mergesort Fri: Mergesort continued, analysis, quicksort infro Week 13 Mon: Quicksort running times without analysis, Graph representation Wed: Topological Sort Fri: Topological sort, detailed implementations, Minimum Spanning Tree intro Week 14 Mon: Kruskal's algorithm, Union-Find data structure -- union by size Wed: Depth-First Search Fri: Using DFS to find articulation points Week 15 Mon: Finding Shortest Paths Wed: Breadth-First-Search and Dijkstra Fri: