This is a tentative syllabus for the course. Links will be added regularly with 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. Feedback is appreciated — typos, suggestions for more detailed explanations, additional examples, etc.

Date Problems Techniques References Out Due
Mar 27 intro basic Java program structure, classes & objects, console 1 SA-0
Mar 29 animated blobs objects, classes, inheritance; GUI event-driven programming 2 SA-1 SA-0
Mar 31 animated images lists, images SA-2 SA-1
Apr 3 image processing image representation, nested loops SA-3 SA-2
Apr 5 video processing put it all together PS-1 SA-3
Apr 6 (x-hour) lists interfaces; generics; exceptions; linked lists 7.1, 3.2 SA-4
Apr 7 lists 2 efficiency; array lists; iterators 7.2, 3.1.1, 4-4.3, 7.4
Apr 10 hierarchies 1 trees and recursion 8 SA-4
Apr 12 midterm review
Apr 13 midterm 1 LSC100 6:00pm - 8:00pm
Apr 14 hierarchies 2 binary search trees 11.1 PS-2 PS-1
Apr 17 info retrieval maps, sets 10.1
Apr 19 hashing hash functions, tables 10.2 SA-5
Apr 21 keeping order stacks, queues 6 SA-6 PS-2
Apr 24 prioritizing priority queues, files 9.1, 9.2 PS-3 SA-5
Apr 26 prioritizing 2 heaps 9.3, 9.4 SA-6
Apr 28 relationships graphs 14.1, 14.2
May 1 graph traversal breadth- and depth-first search 14.3 SA-7
May 3 shortest paths Dijkstra's algorithm, A* search 14.6 SA-7
May 4 midterm 2 LSC100 6:00pm - 8:00pm
May 5 state space backtracking PS-4 PS-3
May 8 pattern matching finite automata
May 10 pattern recognition Classification
May 12 web services acronym soup (URL, REST, XML, GUI) Java tutorials PS-4
May 15 client/server sockets, threads Java tutorials SA-8
May 17 synchronization synchronized blocks, monitors, semaphores Java tutorials PS-5
May 19 producer/consumer streams Java tutorials SA-8
May 22 balance 2-3-4 trees, red-black trees Ch 11.2, 11.5, 11.6 SA-9
May 24 yet another map skip lists Ch 10.4
May 26 string finding Boyer-Moore, tries, suffix trees Ch 13.2, 13.3 SA-9
May 29 No Class PS-5
May 31 Exam Review
June 03 Final Exam Saturday, June 03, 2017 3:00 PM KEMENY 008