Computer Science 501
Data Stuctures and Algorithm Analysis

Fall 2013, The College of Saint Rose

Course Schedule

"Bailey" indicates readings from Java Structures: Data Structures in Java for the Principled Programmer, "Root 7" Edition, by Duane Bailey. Additional readings will be given occasionally. Links will be added here with additional information about lectures, labs, and programming assignments. All assignment dates are subject to change, and are provided only as a general guideline until the actual assignment is handed out in class.


Topic and/or Event Readings
August 28 Lecture 1: Introduction and Overview; Java and Object-Oriented programming Review; Lab 1: Conway's Day of the Week Calculator [HTML] [PDF] Bailey Ch. 0, 1, 2; Topic Notes: Introduction and Overview; Topic Notes: Java and Object-Oriented Programming Review
September 4 Lecture 2: Vectors; Lab 2: Silver Dollar Game [HTML] [PDF] Bailey Ch. 3; Topic Notes: Associations; Topic Notes: Vectors
September 11 Lecture 3: Analysis Tools; Programming Project 1: Timing Java [HTML] [PDF] Bailey Ch. 5; Topic Notes: Complexity and Asymptotic Analysis
September 18 Lecture 4: Analysis Details; Lab 3: Analysis [HTML] [PDF]
September 25 Lecture 5: More Analysis; Generics in Java; Searching and Sorting; Lab 4: More Analysis [HTML] [PDF] Bailey Ch. 4; Topic Notes: Generics
October 2 Lecture 6: Exam Review
October 9 Midterm exam (during class)
October 16 Lecture 7: Sorting; Lab 5: Sorting With Comparators [HTML] [PDF]; Programming Project 2: Analyzing Sorting Algorithms [HTML] [PDF] Bailey Ch. 6; Topic Notes: Sorting
October 23 Lecture 8: Interfaces; Iterators; Linked Structures; Lab 6: The Two Towers Problem [HTML] [PDF] Bailey Ch. 7, 8, 9; Topic Notes: Iterators; Topic Notes: Linked Structures
October 30 Lecture 9: List Wrapup; Linear Structures; Lab 7: P.S. It's Just a Stack [HTML] [PDF] Bailey Ch. 10; Topic Notes: Linear Structures
November 6 Lecture 10: Ordered Structures; Binary Trees Bailey Ch. 11, 12; Topic Notes: Ordered Structures; Topic Notes: Trees
November 13 Lecture 11: Priority Queues; Graphs; Lab 8: Tree Problems [HTML] [PDF] ;Programming Project 3: Dijkstra's Road Trip [HTML] [PDF] Bailey Ch. 13, 16; Topic Notes: Priority Queues and Heaps; Topic Notes: Graphs
November 20 Lecture 12: Graph Algorithms; Search Trees Bailey Ch. 14; Topic Notes: Binary Search Trees
November 27 No Class: Happy Thanksgiving!
December 4 Lecture 13: Balanced Trees; Maps and Hashing; Advanced Topics; Review Bailey Ch. 15; Topic Notes: Maps and Hashing
December 11 Final Exam