Cpt S 223: Advanced Data Structures
Spring 2012

Times: MWF 12:10pm - 1:00pm
Location: Sloan 169
Instructor: Nirmalya Roy
Instructor's Office Location and Hours: EME 127, M 1:00pm - 2:00pm, WF 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,  Wednesday and Friday 1:00pm - 2:30pm
Teaching Assistant1's Email: shervin.hajiamini at email dot wsu dot edu

Teaching Assistant 2: Chenhui Yin
Teaching Assistant2's Email: chenhui.yin at email 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


Texts:

Textbook Source Code:

Course Requirements and Grading:


Homeworks and Quizzes

25%

4 Programs

30%

2 Midterm Exams & Final Exam

45%

Tentative Course Schedule:
(Subject to change as the semester progresses)


Week

Date

Topic

Handout

Due

Notes

1

1/09

Introduction

Course Syllabus

PPT, PDF

1/11

Math Review I

PPT, PDF

1/13

Math Review II

PPT, PDF

2

1/16

No Class

1/18

C++ Review I

PPT, PDF

1/20

C++ Review II

Quiz 1

PPT, PDF

3

1/23

Algorithm Analysis

PPT, PDF

1/25

Algorithm Analysis

1/27

Algorithm Analysis

MSS notes

4

1/30

Algorithm Analysis

Homework 1

2/01

Abstract Data Types

PPT, PDF

2/03

Abstract Data Types

Quiz 2

 

 

5

2/06

Abstract Data Types

Homework 1

2/08

Abstract Data Types

Programming Project 1

2/10

Trees

PPT, PDF

6

2/13

Trees

2/15

Trees

Homework 2

2/17

Trees

Quiz 3

7

2/20

No Class

2/22

Trees

Programming Project 1, Homework 2

2/24

Trees

Programming Project 2

8

2/27

Review

PPT, PDF

2/29

Midterm Exam 1

3/2

Trees

Homework 3

9

3/5

Trees

3/7

Hash Tables

PPT, PDF

3/9

Hash Tables

Quiz 4

Programming Project 2, Homework 3

10

3/12

No Class

3/14

No Class

3/16

No Class

11

3/19

Hash Tables

Programming Project 3

3/21

Hash Tables / Heaps

PPT, PDF

3/23

Heaps

Homework 4

12

3/26

Heaps

3/28

Heaps

3/30

Disjoint Sets

Quiz 5

Homework 4

PPT, PDF

13

4/2

Review

Programming Project 3

PPT, PDF

4/4

Midterm Exam 2

4/6

Disjoint Sets

14

4/9

Disjoint Sets

Programming Project 4  

4/11

Graphs

PPT, PDF

4/13

Graphs

PPT, PDF

15

4/16

Graphs

PPT, PDF

4/18

Graphs

Homework 5 PPT, PDF

4/20

Sorting

Quiz 6

PPT, PDF

16

4/23

Sorting

4/25

Sorting

4/27

Review

Homework 5 Solution, Programming Project 4 Notes

PPT, PDF

17

5/1

Final Exam

1 pm to 3 pm

Final Exam Schedule: May 1st (Tuesday) 1:00 to 3:00 pm in Classroom (Sloan 169)

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

Acknowledgement: Prof. Larry Holder, Dr. Teddy Yap