Computer Science 210
Data Structures

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

Note: The first 5 chapters of J+DS zyBook contain review content that we will not explicitly cover in class or in assignments. They are included for your reference and so you can review on your own to get back up to speed on Java.

Date

Topic and/or Event Readings
September 7 Lecture 01: Introduction and Overview; Lab 1 Introduction; Lab 1: Java Review J+DS zyBook Ch. 5, Ch. 6; Topic Notes: Introduction and Overview
September 9 Lecture 02: Java Review: Arrays J+DS zyBook Ch. 7.1-7.4; Topic Notes: Arrays Review
September 12 Lecture 03: Java Review: Methods J+DS zyBook Ch. 8; Topic Notes: Methods
September 14 Lecture 04: Lab 2 Introduction; Lab 2: Lottery Simulator
September 16 Lecture 05: Classes J+DS zyBook Ch. 9.1-9.5; Topic Notes: Classes
September 19 Lecture 06: General Purpose Classes
September 21 Lecture 07: Generic Classes; Lab 3 Introduction; Lab 3: Defining Classes J+DS zyBook Ch. 7.9; Topic Notes: Two-Dimensional Arrays
September 23 Lecture 08: The ArrayList and Vector J+DS zyBook Ch. 9.6-9.18; Bailey Ch. 3; Topic Notes: ArrayList/Vector
September 26 Lecture 09: ArrayList/Vector Implementation
September 28 Lecture 10: Lab 4 Introduction; Lab 4: ArrayList Practice
September 30 Lecture 11: Complexity and Asymptotic Analysis J+DS zyBook Ch. 11.3; Bailey Ch. 5.1; Topic Notes: Complexity and Asymptotic Analysis
October 3 Lecture 12: Recursive Methods J+DS zyBook Ch. 10; Topic Notes: Recursive Methods
October 5 Lecture 13: Exam 1 (during lab time)
October 7 Lecture 14: More Recursion; Searching J+DS zyBook Ch. 11.1-11.2; Topic Notes: Searching and Sorting
October 10 Lecture 15: Sorting J+DS zyBook Ch. 11.4-11.7; Bailey Ch. 6.1-6.4
October 12 Lecture 16: Lab 5 Introduction; Lab 5: Sorting with Comparators
October 14 No Class; College Holiday
October 17 Lecture 17: Linked Structures J+DS zyBook Ch 12.1-12.5; Topic Notes: Linked Structures
October 19 Lecture 18: Iterators; Lab 6 Introduction; Lab 6: Practice with Lists Bailey Ch. 8; Topic Notes: Iterators
October 21 Lecture 19: Generic Linked Lists J+DS zyBook Ch. 13; Bailey Ch. 9
October 24 Lecture 20: More Lists
October 26 Lecture 21: Lab 7 Introduction; Lab 7: More Linked Lists J+DS zyBook Ch. 14-15; Bailey Ch. 7
October 28 Lecture 22: Linear Structures: Stacks J+DS zyBook Ch. 16; Bailey Ch. 10; Topic Notes: Linear Structures
October 31 Lecture 23: Linear Structures: Stacks and Queues
November 2 Lecture 24: Queue Wrapup; Lab 8 Introduction; Lab 8: P.S.: It's Just a Stack
November 4 Lecture 25: Ordered Structures Bailey Ch. 11; Topic Notes: Ordered Structures
November 7 Lecture 26: Trees J+DS zyBook Ch. 17.1; Bailey Ch. 12; Topic Notes: Trees
November 9 Lecture 27: Lab 9 Introduction; Lab 9: Best Of
November 11 Lecture 28: Binary Trees
November 14 No Class; http://sc16.supercomputing.org
November 16 Lecture 29: Lab Practical Exam
November 18 Lecture 30: Tree Traversals
November 21 Lecture 31: Priority Queues J+DS zyBook Ch. 17.2; Bailey Ch. 13; Topic Notes: Priority Queues
November 23-25 No Class; Happy Thanksgiving!
November 28 Lecture 32: Heaps and Heapsort
November 30 Lecture 33: Exam 2 (during lab time)
December 2 Lecture 34: Huffman Trees; Lab 10 Introduction; Lab 10: Huffman Trees Topic Notes: Huffman Trees
December 5 Lecture 35: Binary Search Trees J+DS zyBook Ch. 17.3-17.11; Bailey Ch. 14; Topic Notes: Binary Search Trees
December 7 Lecture 36: Final Lab Meeting
December 9 Lecture 37: Maps and Hashing J+DS zyBook Ch. 22; Bailey Ch. 15; Topic Notes: Maps and Hashing
December 12 Lecture 38: Hashing, Java API, Wrapup, and a Look Ahead Topic Notes: Some Java API Classes
December 16 Final Exam, 8:30-10:30 AM, RB 340