CSC2200 SYLLABUS
Course: CSC 2200 "Data Structures and Algorithm Analysis"
Days/Time:
Location: Room 234, State Hall
Lecturer: Dr. Razvan Andonie
Office: Room 450, State Hall
Office Hrs:
Office Phone: (313) 577-0662
E-mail: andonie@cs.wayne.edu
Lab:
Sect. 10828:
Sect. 24891:
Lab Assistant: Xidong Jin
Office: Room 460, State Hall
Office Hrs:
Office Phone: (313) 577-6783
E-mail: xij@cs.wayne.edu
Required Textbook:
Data Structures, Algorithms, and Applications in C++, by Sartaj Sahni, Mc Graw-Hill, 1998.
The URL for the Web site for this book is http://www.mhhe.com/engcs/compsci/sahni. From this web site you can obtain all the programs in the book together with sample data and generated output. The sample data is not intended to serve as a good test set for a given program; rather it is just something you can use to run the program and compare the output produced with the given output. The Web site also includes solutions to many of the exercises that appear in each chapter, sample tests and solutions to these tests, additional applications, and enhanced discussions of some of the material covered in the text.
Prerequisites:
CSC 2110 and MAT 2210.
Overview:
CSC 2200 is a continuation of CSC 2110 in the presentation of data structures and the various applications. The emphasis is on abstract data types, algorithmic analysis, efficiency considerations and the implementation of data structures using object-oriented programming in C++.
Grading:
Grading will be based on the weighted average scores as shown below:
Combined
Lab Assignments 50%
Midterm
Exam 20%
Final
Exam 25%
Pop
Quizzes, Attendance 5%
This score will be translated into a grade as shown in the following table:
Average Grade
95 - 100 A
90 - 95 A-
85 - 90 B+
80 - 85 B
75 - 80 B-
70 - 75 C+
65 - 70 C
60 - 65 C-
55 - 60 D+
50 - 55 D
45 - 50 D-
0 - 45 E Failure
Class Schedule
|
Date |
Lecture Topics |
|
|
1/12 |
Introduction |
|
|
1/14 |
Review of C++ |
Chapter 1 |
|
1/19 |
Review of C++ |
|
|
1/21 |
Program performance |
Chapter 2 |
|
1/26 |
Program performance |
|
|
1/28 |
Formula-based and linked representations |
Sections 3.1 - 3.4 |
|
2/2 |
Indirect addressing, simulating pointers Applications: equivalence classes |
Sections 3.5 - 3.7, and 3.8.3 |
|
2/4 |
Arrays and matrices |
Chapter 4 |
|
2/9 |
Arrays and matrices |
|
|
2/11 |
Stacks |
Sections 5.1 - 5.4 |
|
2/16 |
Stacks Applications:
towers of |
Sections 5.5.2, and 5.5.6 |
|
2/18 |
Queues Applications: wire routing, image-component labeling |
Sections 6.1 - 6.3, 6.4.2, and 6.4.3 |
|
2/23 |
Hashing, text compression |
Sections 7.1, 7.2, 7.4, and 7.5 |
|
2/25 |
Binary and other trees |
Sections 8.1 - 8.9 |
|
3/2 |
Binary and other trees |
|
|
3/4 |
The disjoint set union-find problem |
Sections 8.10.2 |
|
3/9 |
Priority queues: heaps, leftist trees |
Sections 9.1 - 9.4 |
|
3/11 |
Applications: heap sort, Huffman codes |
Sections 9.5.1, and 9.5.1 |
|
3/16 |
Spring Recess |
|
|
3/18 |
Spring Recess |
|
|
3/23 |
Midterm exam |
|
|
3/25 |
Tournament trees |
Chapter 10 |
|
3/30 |
Tournament trees |
|
|
4/1 |
Search trees: AVL trees, B-trees |
Sections 11.1, 11.2, and 11.4 |
|
4/6 |
Applications: histogramming, best-bin packing |
Sections 11.5.1, and 11.5.2 |
|
4/8 |
Graphs |
Chapter 12 |
|
4/13 |
Graphs |
|
|
4/15 |
Graphs |
|
|
4/20 |
The greedy method |
Chapter 13 |
|
4/22 |
Student-Directed Review |
|
|
|
|
|
|
04/29 |
FINAL EXAM (covers only second part ) |
|