Computer Science 210
Data Structures

Fall 2020, Siena College

Course Schedule

"J+DS zyBook" indicates readings from CSIS 210: Data Structures, by Lysecky, Lizarraga, Vahid, and McGovern, "Bailey" indicates readings from Java Structures: Data Structures in Java for the Principled Programmer, "Root 7" Edition, by Duane Bailey, and "OpenDSA" indicates readings from OpenDSA Data Structures and Algorithms Modules Collection, by OpenDSA Project Contributors. 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 24 Lecture 1: Lab 0
August 25 Lecture 2: Introduction and Overview; Java Review Topic Notes: Introduction and Overview; Topic Notes: About Java
August 27 Lecture 3: Java Review J+DS zyBook Ch. 1-7; Topic Notes: Two-Dimensional Arrays
August 31 Lecture 4: Lab 1
September 1 Lecture 5: Custom Classes; Memory Diagrams Topic Notes: Java Classes
September 3 Lecture 6: The ArrayList ADT Topic Notes: The ArrayList
September 7 Lecture 7: Lab 2 J+DS zyBook Ch. 8-10
September 8 Lecture 8: ArrayList Practice
September 10 Lecture 9: ArrayList Practice
September 14 Lecture 10: Lab 3
September 15 Lecture 11: Big O Complexity Topic Notes: Complexity and Asymptotic Analysis; J+DS zyBook Ch. 10
September 17 Lecture 12: Generic Classes; Introduction to Recursion Topic Notes: General Purpose Classes
September 21 No Lab: optional Review Time in RB 340 instead
September 22 Lecture 13: Recursion J+DS zyBook Ch. 11
September 24 Exam 1 During Class
September 28 Lecture 14: Lab 4
September 29 Lecture 15: Introduction to Linked Lists Topic Notes: Linked Structures; J+DS zyBook Ch. 12-13
October 1 Lecture 16: Linked Lists
October 5 Lecture 17: Lab 5
October 6 Lecture 18: More on Linked Lists; Iterators
October 8 Lecture 19: Linear Structures Topic Notes: Linear Structures
October 12 Lecture 20: Lab 6
October 13 Lecture 21: Introduction to Tree Structures Topic Notes: Trees
October 15 Lecture 22: Binary Search Trees
October 19 Lecture 23: Lab 7
October 20 Lecture 24: Heaps and Priority Queues Topic Notes: Priority Queues
October 22 Lecture 25: Balanced Binary Search Trees Topic Notes: Balanced Binary Search Trees
October 26 No Lab: Exam Review Time in RB 340 instead
October 27 Lecture 26: Huffman Trees Topic Notes: Huffman Trees
October 29 Exam 2 During Class
November 2 Lecture 27: Lab 8
November 3 Lecture 28: More Trees
November 5 Lecture 29: More Trees
November 9 Lecture 30: Lab 9
November 10 Lecture 31: Introduction to Hashing Topic Notes: Maps/Dictionaries and Hashing
November 12 Lecture 32: Hashing
November 16 Lecture 33: Lab 10
November 17 Lecture 34: Hashing; Coding a Huffman Tree
November 19 Lecture 35: Course Wrapup; Completing the Huffman Tree
November 23 Review Session: 3:30-4:30 PM, RB 340
November 24 Final Exam: 4-6 PM, RB 412