Handouts
Calendar/Lectures
SCHEDULE SUBJECT TO CHANGE Week Date Content Readings Assignments #1 January 7 Administrivia; Interfaces/Implementations Weiss 1.4-1.6 syllabus January 9 .equals; List; ArrayList Weiss 3.1-3.4 annotated ArrayList code .equals notes prj1 assigned January 11 JUnit; Iterator JUnit TestCase JavaDoc singly linked list code linked list testcode detecting infinite loops in LLs #2 January 14 LinkedList Weiss 3.5 doublely LinkedList code reversing a linked list hw1 assigned January 16 Big-O Weiss 1.2-1.3, 2.1-2.4 big-Oh January 18 more Big-O binary search, compareTo prj1 due prj2 assigned #3 January 21 Holiday (Martin Luther King Jr. Day) January 23 sorting Weiss 7.1-7.2, Weiss 7.6 sorting demosorting experiment hw1 due hw2 assigned January 25 priority queue, binary heap Weiss 6.1-6.2 pq slides #4 January 28 binary heap Weiss 6.3-6.4 January 30 stack/queue, ArrayList amortization Weiss 3.6-3.7 stacks/queues slides infix/postfix and stacks February 1 Set/Map Weiss 4.8 set/map notes hw2 due; hw3 assigned prj2 due; prj3 assigned #5 February 4 HashMap Weiss 5.1-5.2 Bloch pp. 36-41hash demo February 6 hashCode; implementation Weiss 5.3-5.6 hashing notes February 8 adaptable priority queue; LinkedHashMap LinkedHashMap JavaDoc hw3 due #6 February 11 Midterm February 13 binary trees Weiss 4.1-4.2 Trees slides February 15 binary search trees Weiss 4.3 tree iterator code prj3 due prj4 assigned hw4 assigned #7 February 18 Holiday (Presidents Day) February 20 AVL trees Weiss 4.4 AVL trees slides February 22 AVL trees #8 February 25 quick sort; bucket sort Weiss 7.7, 7.9 sorting slides hw4 due February 27 graphs Weiss 9.1 graphs slides prj5 assigned hw5 assigned February 29 graph implementations prj4 due #9 March 3 graph traversals Weiss 9.2, 9.6 graph traversal slides March 5 Dijkstra's algorithm Weiss 9.3 dijkstra slides Dijkstra quotes March 7 Prim's algorithm Weiss 9.5.1 MST slides #10 March 10 Kruskal's algorithm Weiss 8.1-8.5, 9.5.2 Disjoint Sets slides March 12 B-trees Weiss 4.7 B-Trees slides hw5 dueprj5 due March 14 Internet-scale computing Internet slides Final Tuesday March 18, 2:30-4:20 Final