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 |