3460:501 Fundamentals of Data Structures Fall, 2012
Prerequisites: Programming experience in C
Instructor: Chien-Chung Chan
Office: CAS 227 Tel: 972-8014
home page: www.cs.uakron.edu/~chan
Office Hours: M, W: 5:10 – 6:00 p.m.; T, TH: 4:00 – 5:00 p.m. or by appointment
T.A.: Srikanth Kadari, email: firstname.lastname@example.org office hours: T: 4:00 – 5:00 p.m. (lab CAS 254)
C.A. Shaffer, A Practical Introduction to Data Structures and Algorithms Analysis, ISBN: 0-13-190752-2, Prentice-Hall, Inc., 1997.
N. Karumanchi, Data Structures and Algorithms Made Easy, CareerMonk Publications. ISBN: 978-146-8108-86-6.
P. Deitel and H. Deitel, How to Program in C++, 8th edition, Prentice Hall, 2012. ISBN: 978-0-13-266236-9.
Basic data structures and algorithms: stacks, queues, linked lists, trees, hash tables, and graphs; sorting and search algorithms. Introducion to data abstraction and algorithm analysis.
There will be four programming projects in C/C++. Penalty for late project submissions is 10% per day contingency on the availability of the systems. Grading policy will be announced in each assignment.
Tests: there will be two closed book 50 minutes tests. Scopes and dates of tests will be announced one week in advanced.
Final Exam: One comprehensive closed book final exam.
Grades: the following is the weights for computing final grades.
Tests: 30% Final Exam: 30% Programs: 40%
A >= 90% , B>= 80%, C >= 70%, D >= 60%, F < 60%
Plus and minus grades may be assigned at my discretion based on class participation and/or performance.
1. Review of C/C++.
2. Lists, stacks, and queues
5. Priority Queues
9. Advanced data structures
Program Grading Policy
1. Program Correctness (70%)
No run-time errors and producing correct outputs.
2. Style (20%)
Indentation, descriptive variable names, well-formatted outputs, readability of code, and limited use of global variables
3. Documentation (10%)
(1) Overall documentation
Programmer's name, user ID, date of creation, objectives of the program, input and output formats
Note: A program without programmer's name and user ID will receive no credit.
(2) Function documentation
Explain what a function does
Indicate global variables used in a function
Proper in-statement explanations