Cpt S 223: Advanced Data Structures
Spring 2013

Times: MWF 12:10pm - 1:00pm
Location: Sloan 175
Instructor: Nirmalya Roy
Instructor's Office Location and Hours: EME 127, W and F 2:00pm - 3:00pm, or by appointment
Instructor's Email: nroy at eecs dot wsu dot edu


Teaching Assistant 1: Shervin Hajiamini
Teaching Assistant1's Office Location and Hours: Sloan 343,  Tuesday 3:00pm - 4:30pm and Friday 1:00pm - 2:30pm
Teaching Assistant1's Email:  shajiami at eecs dot wsu dot edu

Teaching Assistant 2: Syeda (Selina) Akter
Teaching Assistant2's Office Location and Hours: EME 130,  Monday 10:00am - 11:30am and Wednesday 10:00am - 11:30am
Teaching Assistant2's Email: sakter at eecs dot wsu dot edu

Course Descriptions: This course is about data structures, methods of organizing large amounts of data so they can be used efficiently, and algorithm analysis, the estimation of the running time of algorithms. Different kinds of data structures to be discussed include abstract data types (lists, stacks, queues), trees (e.g. binary search trees, splay trees, B-trees), hash tables, heaps or priority queues, disjoint sets, and graphs. Algorithms for sorting and searching, trees, and graphs will also be discussed together with their analysis. The various data structures and algorithms are to be implemented in C++ using the object-oriented programming paradigm.

Course Objectives: At the end of this course, you should be able to:

Course Prerequisites: Cpt S 122 (Data Structures), Math 216 (Discrete Structures) or equivalent

Required Textbook:

Reference Textbook (Optional):

Textbook Source Code:

Course Requirements and Grading:


Homeworks and Quizzes (there are 5 homeworks and 6 quizzes for this course,
each one is worth ~2.27% of your overall grade)

25%

4 Programs (6% for each of the first three assignments and 12% for the last assignment)

30%

2 Midterm Exams (12.5% each) & Final Exam (20%)

45%

Tentative Course Schedule:
(Subject to change as the semester progresses due to unforeseen events, instructor travel, evolving student interests, etc)

Week

Date

Topic

Reading

Assignments

Due

Notes

1

1/7

Introduction

Course Syllabus


PPT, PDF

1/9

C++ Review I

M.W 1.4 to 1.5 PPT, PDF

1/11

C++ Review II

M.W 1.6 to 1.7 PPT, PDF

2

1/14

Math Review I M.W 1.2.5  PPT, PDF

1/16

Math Review II

M.W 1.2.1 to 1.2.4 PPT, PDF

1/18

Math Review II

Quiz 1

3

1/21

No Class -- Martin Luther King Jr Day

1/23

Algorithm Analysis

M.W 2.4.1 to 2.4.2 PPT, PDF

1/25

Algorithm Analysis

M.W 2.1 to 2.2

4

1/28

Algorithm Analysis

M.W 2.4.3Homework 1 MSS Notes

1/30

Algorithm Analysis

M.W 2.4.4

2/1

Abstract Data Types

M.W 3.1 to 3.2

Quiz 2

 

 PPT, PDF

5

2/4

Abstract Data Types

M.W 3.3 Homework 1
Solution

2/6

Abstract Data Types

M.W 3.4Programming Project 1

2/8

Abstract Data Types

M.W 3.5 to 3.7

6

2/11

Trees

M.W 4.1  PPT, PDF

2/13

Trees

M.W 4.2 Homework 2

2/15

Trees

M.W 4.3

Quiz 3

7

2/18

No Class --
President's Day

2/20

Trees

M.W 4.4
(AVL Trees)

Programming Project 1, Homework 2 Solution

2/22

Trees

M.W 4.4
(AVL Trees)
Programming Project 2

8

2/25

Review

Homework 3 PPT, PDF

2/27

Midterm Exam 1

3/1

Trees

M.W 4.5
(Splay Trees)

9

3/4

Trees

M.W 4.7
(B-Trees)

3/6

Hash Tables

M.W 5.2
(Hash Function)
Homework 3
Solution
PPT, PDF

3/8

Hash Tables

M.W 5.3
(Separate Chaining)

Quiz 4

Programming Project 2 

10

3/11

No Class -- Spring Vacation

3/13

No Class

3/15

No Class

11

3/18

Hash Tables

M.W 5.4
(Linear, Quadratic, Double Hashing)
M.W 5.5
(Rehashing)
Programming Project 3

3/20

Hash Tables/Heaps

M.W 5.7
(Extendible Hashing)
PPT, PDF

3/22

Heaps

M.W 6.3
(Binary Heap)
Homework 4

12

3/25

Heaps

M.W 6.4, 6.5, 6.6, 6.7

3/27

Heaps

M.W 6.8
(Binomial Queues)

3/29

Disjoint Sets

M.W 8.1, 8.2

Quiz 5

Homework 4
Solution

PPT, PDF

13

4/1

Review

Programming Project 3

PPT, PDF

4/3

Midterm Exam 2


4/5

Disjoint Sets

Programming Project 4

14

4/8

Disjoint Sets


 

4/10

Graphs

PPT, PDF

4/12

Graphs

PPT, PDF

15

4/15

Graphs

Homework 5 PPT, PDF

4/17

Graphs

PPT, PDF

4/19

Sorting

Quiz 6

PPT, PDF

16

4/22

Sorting

Homework 5
Solution

4/24

Review

PPT, PDF

4/26

No Class

Programming Project 4

17

5/2

Final Exam

1pm to 3pm

Final Exam Schedule: May 2nd (Thursday) 1:00 to 3:00 pm in Classroom (Sloan 175)

Student Course Evaluations Link:   https://skylight.wsu.edu/student