Computer Science 501
Data Structures and Algorithm Analysis

Fall 2014, 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.

Date

Topic and/or Event Readings
August 26 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 2 Lecture 2: Associations, Vectors, Introduction to Analysis Tools; Lab 2: Practice with Vectors [HTML] [PDF] Bailey Ch. 3; Topic Notes: Associations; Topic Notes: Vectors
September 9 Lecture 3: Complexity and Asymptotic Analysis; Lab 3: Timing Java [HTML] [PDF] Bailey Ch. 4, 5; Topic Notes: Complexity and Asymptotic Analysis; Topic Notes: Generics
September 16 Lecture 4: Analysis Details; Lab 4: Analysis [HTML] [PDF]
September 23 Lecture 5: More Analysis; Searching and Sorting; Lab 5: More Analysis [HTML] [PDF] Bailey Ch. 6; Topic Notes: Searching and Sorting
September 30 Lecture 6: Review; More Sorting; Lab 6: Sorting and Comparators [HTML] [PDF]
October 7 Midterm exam (during class)
October 14 Lecture 7: Sorting Wrapup; Iterators; Linked Structures; Lab 7: The Two Towers Problem [HTML] [PDF] Bailey Ch. 8; Topic Notes: Iterators
October 21 Lecture 8: Linked Structures; Linear Structures; Lab 8: P.S.: It's Just a Stack [HTML] [PDF] Bailey Ch. 9, 10; Topic Notes: Linked Structures; Topic Notes: Linear Structures
October 28 Lecture 9: Queues; Ordered Structures; Lab 9: Best Of [HTML] [PDF] Bailey Ch. 11; Topic Notes: Ordered Structures
November 4 No Class: Advisement Day
November 11 Lecture 10: Trees; Priority Queues; Lab 10: Trees [HTML] [PDF] Bailey Ch. 12, 13; Topic Notes: Trees; Topic Notes: Priority Queues and Heaps
November 18 Lecture 11: Heapsort; Graphs; Binary Search Trees; Lab 11: Dijkstra's Road Trip [HTML] [PDF] Bailey Ch. 16; Topic Notes: Graphs
November 25 Lecture 12: More Graph Algorithms; Binary Search Trees; Tree Sort; Balanced Trees Bailey Ch. 14; Topic Notes: Binary Search Trees
December 2 Lecture 13: Maps and Hashing; Advanced Topics; Wrapup; Review; Course Evaluations Bailey Ch. 15; Topic Notes: Maps and Hashing
December 9 Final Exam (during regular class time)