This is a tentative syllabus for the course, and is likely to change. Links will be added regularly with current/upcoming topics and assignments. Notes will be provided for each class, linked from the date. Unless otherwise indicated, references are to the textbook Data Structures & Algorithms in Java (or "DSA"). At the beginning of the class some reading will be from the alternate web book Problem Solving with Data Structure (or "PSDS"). Feedback is appreciated — typos, suggestions for more detailed explanations, additional examples, etc.
Date | Topics | References | Out | Due |
---|---|---|---|---|
Sep 16 | Intro to OO programming and Java | Ch. 1; Ch. 1, 2.1-2.2 (PSDS) | SA-0 | |
Sep 18 | Classes and Objects | Ch. 2.3-2.4 (PSDS) | SA-1 | SA-0 |
Sep 20 | Finish Classes and Objects. Image Processing | Ch. 3 (PSDS) | ||
Sep 23 | Finish Image Processing. Arrays. Interfaces and Polymorphism | Ch. 2, 3.1 | SA-2 | SA-1 |
Sep 25 | ArrayLists and Inheritance | 6.1 | SA-3 | SA-2 |
Sep 27 | Linked Lists | Ch. 3.2-3.5 | PS-1, SA-4 | SA-3 |
Sep 30 | Graphics, GUI components, Listeners, Callbacks | SA-4 | ||
Oct 2 | More GUIs. | PS-2, SA-5 | PS-1 | |
Oct 4 | Abstract Classes. Review of Algorithm Analysis. | Ch. 4 | ||
Oct 7 | Stacks, Queues, Dequeues | Ch. 5 | SA-6 | SA-5 |
Oct 9 | Iterators, with List examples | Ch. 6 | SA-6 | |
Oct 11 | Class Cancelled | PS-2 | ||
Oct 14 | Trees | Ch. 7 | PS-3, SA-7 | |
Oct 16 | Traverals, Expression Trees, Exceptions | SA-8 | SA-7 | |
Oct 18 | Heaps and Priority Queues | Ch. 8 | SA-8 | |
Oct 21 | Maps, Sets, and Instant Runoff Elections | Ch. 9.1 | PS-4, SA-9 | PS-3 |
Oct 23 | Hash tables | Ch. 9.2, 9.3 | ||
Oct 25 | Binary Search Trees | Ch. 10.1 | SA-9 | |
Oct 28 | Midterm, 7-10 pm, in LSC Arvo J. Oopik 1978 Auditorium (Room 100) | |||
Oct 30 | Binary Search Trees | Ch. 10.1 | ||
Nov 1 | Graphs and their Representations | Ch. 13.1, 13.2 | SA-10 | |
Nov 4 | Graph traversals (BFS, DFS) | Ch. 13.3, 13.4 | PS-5 | PS-4 |
Nov 6 | Shortest Paths (Dijkstra's) and A* search | Ch. 13.5 | SA-10 | |
Nov 8 | Game Tree Search | SA-12 | ||
Nov 13 | Kalah and the Model/View/Controller Pattern | PS-6 | PS-5 | |
Nov 14 (x) | Balanced BSTs | Ch. 10.4, 10.5, 14.3 | ||
Nov 15 | Skip Lists | Ch. 9.4 | SA-12 | |
Nov 18 | Concurrency and Threads. Synchronization. Deadlocks. | PS-6 | ||
Nov 22 | Final, 8-11 am, Murdough Cook |