Lectures (Sam)
Lecture | Date | Topic | Lecture Materials |
---|---|---|---|
1 | Fri, 2/4 | Course intro |
Slides |
2 | Mon, 2/7 | Intro to Java |
Slides Sum.java DieRoller.java |
3 | Wed, 2/9 | More Java, Nim |
Slides Nim design doc GuessNumber.java Nim.java |
4 | Fri, 2/11 | Object-Oriented Programming |
slides Student.java TestStudent.java |
5 | Mon, 2/14 | OOP contd., static |
slides (new) Student.java (new) TestStudent.java |
6 | Wed, 2/16 | Generics, Associations, Dictionaries, Vectors |
slides SimpleDictionary.java GenWordFreq.java |
7 | Mon, 2/21 | Vector Internals |
slides SimpleVector.java |
8 | Wed, 2/23 | Time, big-O, Recursion |
slides |
9 | Fri, 2/25 | Asserts, Jacvadocs, Memory in Java |
slides (comments, asserts) slides (objects, memory, scope) Examples.java Scope.java Student.java |
10 | Mon, 2/28 | Memory cont., Interfaces |
slides TeachingAssistant.java Person.java FindParticipants.java |
11 | Wed, 3/2 | Singly Linked Lists |
slides |
12 | Fri, 3/4 | Induction |
slides |
13 | Mon, 3/7 | Selection Sort and Insertion Sort |
slides Student.java (comparable) InsertionSort.java InsertionSortGeneric.java |
14 | Wed, 3/9 | Comparators, Comparables and Abstract Classes |
slides InsertionSortComparator.java StudentAgeComparator.java |
15 | Fri, 3/11 | Logarithms, Strong Induction, Merge Sort Intro |
slides Exceptions.java |
16 | Mon, 3/14 | Merge Sort, QuickSort |
slides |
17 | Mon, 4/4 | Stacks and Queues |
slides |
18 | Wed, 4/6 | Inheritance and Stack Applications |
slides postscript slides StudentIn136.java |
19 | Fri, 4/8 | Iterators |
slides IteratorPractice.java TailDllIterator.java ReversibleDll.java |
20 | Mon, 4/11 | Iterators contd., Ordered Structures |
slides ReverseIterator.java Fiberator.java |
21 | Wed, 4/13 | Ordered Structures |
slides OrderedStudent.java ChangeOrderedObject.java |
22 | Fri, 4/15 | Intro to Trees |
slides BinaryExpressionTree.java |
23 | Mon, 4/18 | Tree Traversals |
slides |
24 | Wed, 4/20 | Binary Search Trees |
slides |
25 | Fri, 4/22 | Balanced Binary Search Trees |
slides |
26 | Mon, 4/25 | Trees, Maps, and Dictionaries |
slides |
27 | Wed, 4/27 | Hashing |
slides |
28 | Fri, 4/29 | Hashing 2 |
slides NaiveProbing.java |
29 | Mon, 5/2 | Intro to Graphs |
slides |
30 | Wed, 5/4 | Graph Implementations |
slides BFSComponentSize.java |
31 | Fri, 5/6 | Graph Implementations 2 |
slides |
32 | Mon, 5/9 | Heaps and Priority Queues |
slides 1 slides 2 BFS visualization Dijkstra's visualization |
32 | Wed, 5/9 | Dijkstra's Algorithm |
slides Dijkstra's Demo slides |