Computer Science 210
Data Structures

Fall 2017, Siena College

Course Schedule

"J+DS zyBook" indicates readings from Programming in Java and Data Structures, by Lysecky, Lizarraga, Vahid, and McGovern, and "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
September 6 Lecture 01: Introduction and Overview; Lab 0; Lab 0: Setting Up J+DS zyBook Ch. 1-6; Topic Notes: Introduction and Overview
September 8 Lecture 02: Java Review: Arrays J+DS zyBook Ch. 7; Topic Notes: Arrays Review
September 11 Lecture 03: Java Review: Arrays and Methods J+DS zyBook Ch. 8; Topic Notes: Methods
September 13 Lecture 04: Lab 1 Introduction; Project 1 Introduction; Lab 1: Array Practice; Programming Project 1: Lottery Simulator
September 15 Lecture 05: Custom Classes J+DS zyBook Ch. 9.1-9.5; Topic Notes: Custom Classes
September 18 Lecture 06: Generic Classes
September 20 Lecture 07: Generic Classes; Lab 2: Working with Classes Topic Notes: 2D Arrays
September 22 Lecture 08: Abstract Data Types Bailey Ch. 1.5, Ch. 4.2.1
September 25 Lecture 09: The ArrayList and Vector ADTs; Programming Project 2: Working with Highway Data J+DS zyBook Ch. 9.6-9.19
September 27 Lecture 10: Lab 3 Introduction; Lab 3: ArrayList Practice
September 29 Lecture 11: Complexity and Asymptotic Analysis J+DS zyBook Ch. 10; Bailey Ch. 5.1; Topic Notes: Complexity and Asymptotic Analysis
October 2 Lecture 12: Complexity and Asymptotic Analysis
October 4 Exam 1, during lab time
October 6 Lecture 13: Introduction to Recursive Methods J+DS zyBook Ch. 11; Topic Notes: Recursive Methods
October 9 Lecture 14: More Recursion
October 11 Lecture 15: Recursion Lab; Lab 4: Recursion
October 13 No Class: College Holiday
October 16 Lecture 16: Searching J+DS zyBook Ch. 12; Topic Notes: Searching and Sorting
October 18 Lecture 17: Searching and Sorting; Lab 5: Searching and Sorting; Programming Project 3: Sorting with Comparators
October 20 No Class: CCSC Eastern Conference
October 23 Lecture 18: Sorting Wrapup
October 25 Lecture 19: Introduction to Linked Lists; Lab 6: Introduction to Linked Lists Topic Notes: Linked Structures; J+DS zyBook Ch. 14.1-14.4; Bailey Ch. 9
October 27 Lecture 20: Linked Lists
October 30 Lecture 21: More Linked Lists J+DS zyBook Ch. 14.5-14.9
November 1 Exam 2, during lab time
November 3 Lecture 22: Iterators and the List Interface; Lab 7: Iterators and More Lists Topic Notes: Iterators
November 6 Lecture 23: Linear Structures: Stacks and Queues Topic Notes: Linear Structures
November 8 Lecture 24: Work on Lab 7
November 10 Lecture 25: Linear Structure Implementations
November 13 Lecture 26: Ordered Structures; Programming Project 4: P.S.: It's Just a Stack out Bailey Ch. 11; Topic Notes: Ordered Structures
November 15 Lecture 27: Stack Lab and Tree Intro; Lab 8: A Little Stack Practice J+DS zyBook Ch 16.1-16.7
November 17 Lecture 28: Binary Trees Topic Notes: Binary Trees
November 20 Lecture 29: Binary Search Trees Topic Notes: Binary Search Trees
November 22 No Lab: Happy Thanksgiving!
November 24 No Class: Happy Thanksgiving!
November 27 Lecture 30: AVL Trees
November 29 Exam 3, during lab time
December 1 Lecture 31: Heaps and Heapsort
December 4 Lecture 32: Priority Queues
December 6 Lecture 33: ; Lab 9:
December 8 Lecture 34: Maps and Hashing
December 11 Lecture 35: Maps and Hashing; Recap
December 14 Final Exam, 4-6 PM