Notes and Code:

Class Date Topic
Class Programs
Readings
Class Lectures
1 Sept. 5   Intro to class
2 Sept. 7 cut and paste from slides Recursion
3 Sept. 12 LinkedNodes.txt Big Oh and Linked Lists
4 Sept. 14 Review of object oriented programming topics in Java (recitation and class)
Some programs which illustrate the concepts covered in this review can be found on the website for a previous course
Topic Corresponding Date
Objects & Classes 1 Feb. 8
Objects & Classes 2 Feb. 10
Objects & Classes 3 Feb. 15
inheritance Mar. 24
polymorphism / Object class Mar. 29
abstract classes and casting Mar. 31
interfaces Apr. 12
Objects & Classes 1
Objects & Classes 2
Objects & Classes 3
inheritance
polymorphism / Object class
abstract classes and casting
interfaces
5 Sept. 19 MyInteger.txt, ListNode.txt, LinkedListItr.txt, LinkedList.txt  
6 Sept. 21 MyInteger.txt, DoubleListNode.txt, DoubleLinkedListItr.txt, DoubleLinkedList.txt  
7 Sept. 26 Stack (array implementation): MyInteger.txt, Underflow.txt, Overflow.txt, StackAr.txt
Stack (linked list implementation): MyInteger.txt, ListNode.txt, Underflow.txt, StackLi.txt
Post-fix calculator (to be used with StackLi) PostCalc.txt
Homework #1 Notes
8 Sept. 28 Queue (array implementation): MyInteger.txt, Overflow.txt, QueueAr.txt
Queue (linked list implementation): MyInteger.txt, ListNode.txt, QueueLi.txt
9 Oct. 3 TreeTraversal.txt, ExpressionTree.txt Trees lecture
10 Oct. 5 Review Searches: LinearSearch.txt, BinarySearch.txt
Binary Search Tree: MyInteger.txt, BinaryNode.txt, BinarySearchTree.txt
Binary Search Trees
11 Oct. 10   AVL Trees
12 Oct. 12 MyInteger.txt, AvlNode.txt, AvlTree.txt Recitation Notes, Scanner Class
13 Oct. 17
14 Oct. 19 LinkedList.txt  
15 Oct. 24 ParentTree.txt, BinarySearchTree.txt
avl tree solution: avl tree solution
 
16 Oct. 26 Midterm exam
17 Oct. 31 removeOddIntegers.txt, setDepth.txt Heap
18 Nov. 2 MyInteger.txt, Overflow.txt, Underflow.txt, BinaryHeap.txt BinaryHeap2.txt (with delta operations) Recitation Notes
19 Nov. 7 BubbleSort.txt, SelectionSort.txt,
MyInteger.txt, Underflow.txt, BinaryHeap.txt (with Heapsort),
Merge.txt
Simple sorts
mergesort
20 Nov. 9 MyInteger.txt, Random.txt,
MergeSort1.txt (new array in merge - save as Sort.java),
MergeSort2.txt (share one big array - save as Sort.java)
QuickSort.txt (works by iteself)
MyInteger.txt, Random.txt,
Sort.txt (this has all the sorts we covered from the book) 
quicksort
21 Nov. 14 BinaryHeap.txt (use to generate answers to in class exercises)  
22 Nov. 16 MyInteger.txt, Underflow.txt, DairyHeap.txt
TestQuicksortString.txt
MyInteger.txt, BinaryNode.txt (with offspring), BinarySearchTree.txt (with offspring), offspring.txt (other offspring solutions to consider)
 
23 Nov. 21 Midterm exam
24 Nov. 28 MyInteger.txt, ListNode.txt, LinkedListItr.txt, QueueLi.txt, BinaryNode.txt, BinarySearchTree.txt (has an added method printBreadthFirstTraversal() which uses a QueueLI to print a level by level traversal of the BST) Tree Searches
25 Nov. 30 Hashable.txt, MyInteger.txt (note: implements Hashable), ListNode.txt, LinkedListItr.txt, LinkedList.txt, SeparateChainingHashTable.txt hashing
26 Dec. 5 TestMergeLinkedList.txt (two solutions), equalsMethod.txt  
27 Dec. 7   Java Collections
28 Dec. 12 BinarySearchTree.txt
Note: this LinkedList is different from the book (Comparable vs. Object) MyInteger.txt, ListNode.txt, LinkedListItr.txt, LinkedList.txt