Lectures
- W Aug 23: Intro to Java (caesar.py, Caesar2.java)
- F Aug 25: Classes & objects in Java
(FrequencyCounter, PeriodicFrequencyCounter, CounterMain)
- M Aug 28: Interfaces
(Counter, LoudCounter, Tickish, MultiTicker, SkipTicker, InterfaceDemoMain)
- W Aug 30: Extensible arrays I
(ExtensibleIntArray, ExtIntArrayTest)
- F Sep 1: Extensible arrays II (ensureCapacity)
(ExtensibleIntArray2)
- W Sep 6: Dictionaries
(ExtensibleArray, Association, Dictionary)
- F Sep 8: Generics
(Dictionary, DictionaryDemo, GenericExtensibleArray, GenericAssociation, GenericDictionary, GenericDictionaryDemo)
- M Sep 11: Stacks
(ArrayStack)
- W Sep 13: Java memory model
(no in-class code)
- F Sep 15: Singly-linked lists (stacks)
(Node, LinkedStack)
- M Sep 18: Big-O
- W Sep 20: Big-O, Linear & binary search
- F Sep 22: Intro to sorting, selection sort
- M Sep 25: Insertion sort
(Sorting.java, mayne.java)
- W Sep 27: Mergesort & Quicksort
- F Sep 29
- M Oct 2
- W Oct 4
- F Oct 6: Doubly-linked lists
- M Oct 9: Doubly-linked lists
(DoubleNode.java, DoublyLinkedList.java)
- W Oct 11: Iterators
(IteratorDemo.java, ExtArrayWithIterator.java)
- M Oct 16: Iterators
(IteratorDemo.java, SkipIterator.java)
- W Oct 18: Binary trees
- F Oct 20: Binary trees (implementation)
(BinaryTree.java, BTTest.java)
- M Oct 23: Binary search trees
(BinarySearchTree.java)
- W Oct 25: Binary heaps
- F Oct 27: Array storage for binary heaps, insert/reheapUp
(Heap.java, (HeapTest.java](code/HeapTest.java))