CS 310: Data Structures

(Summer 2018)

TENTATIVE SCHEDULE

Lecture Date Lecture Topics Special Dates Readings (Textbook)
Lecture 1 June 4 Course Overview
Review: Generics

Review: Computational Complexity
Review: Chapter 1-4 (esp. generics in 4.7)

Chapter 5 (alg. analysis)
Lecture 2 June 6 Dynamic Arrays
June 7: Last day to drop with no tuition penalty Chapter 15 (iterators, inner classes, & dynamic lists)
Lecture 3 June 11 Linked Lists Chapter 17 (linked lists)
Lecture 4 June 13 Stacks and Basic Queues

Iterators
Chapter 16 (stacks, queues)

Optional: Chapter 11 (stacks and compilers)
Lecture 5 June 18 Hashing
June 18: Project 1 Due Chapter 20 (hashing)
Lecture 6 June 20 Tree Introduction

Review: Recursion
Tree Traversals
June 21: Last date to drop Review: Chapter 7 (recursion)
Chapter 18 (trees)
Lecture 7 June 25 Multiway-Trees and BSTs

Rotation-based Self Balancing BSTs

Chapter 19.1-19.4 (binary search tree & AVLs)
Midterm Exam June 27 10:30 am ~ 1:10 pm. Exam scope: Lectures 1~7.
Lecture 8 July 2 Rotation-based Self Balancing BSTs Cont.
July 8: Project 2 Due Chapter 19.5-19.7 (esp. red-black trees 19.5)
Lecture 9 July 9 B-Trees and B+ Trees
July 9: Last Day of Selective Withdrawal Period Chapter 19.8 (b-trees)
Lecture 10 July 11 Set Representations
Chapter 24 (disjoint sets)
Lecture 11 July 16 Heaps

Heap Sort
Review: Chapter 8 (sorting algorithms)

Chapter 21 (heaps)
Lecture 12 July 18 Priority Queues
July 22: Project 3 due
Lecture 13 July 23 Graphs

Basic Graph Algorithms
Chapter 14 (graphs and paths)
Lecture 14 July 25 Basic Graph Algorithms Cont.
JCF Overview

Chapter 6 (JCF)
Final Exam July 27 10:30 am ~ 1:10 pm. Exam scope: Lectures 1~14. See Final Exam Schedule