This course will involve the study of data structures and algorithms that are fundamental to computer science. Topics include trees, AVL trees, B-trees, heaps, hashing, and graphs. Additionally, we will explore algorithm analysis and a few advanced C++ features (makefiles, inheritance, polymorphism, several standard class libraries, etc.) Grades will be assigned on the basis of three exams, approximately seven programming assignments, several homework assignments, and quizzes.
CS 2440 with a grade of C or better.
Students should have a solid foundation in linked lists, stacks, queues, sorting, and recursion. It will be assumed students have written C++ programs using arrays, dynamic allocation, class implementation, templates, operator overloading, and friend classes/functions.
Data Structures & Algorithm Analysis in C++ by Mark Allen Weiss (latest edition)
There will be short random quizzes at the beginning of some of the classes during the week. I will assure you that you will have a quiz every Friday.
The following grading scale will used in this course:
Two Exams 20% each for the total of 40%,
Final exam, 25%,
Quizzes and Class Participation %10.
Students are required to attend all classes. Each unexcused absence will result in a 3 point drop from the final grade. Students with more than 8 absences will fail the course. No make-up exams will be given in this course. If you missed an exam due to an "extreme circumstances" such as illnesses, death of a relative, or problems of this nature, you have to present documents (e.g. a letter from a doctor, a letter from a hospital, or an obituary from the funeral). In such cases, student's final exam's grade will be used for the missed exam.
Approximately 6 programming assignments will be given. All assignments are due before the start of the class on the due date. No late programs will be accepted (turn in what you have on the date due for partial credit). Programming assignments count so much toward the final grade, cheating on these assignments will be penalized to the full extent of university regulations. Programs are individual assignments. Absolutely NO sharing of algorithms or code is allowed unless explicitly stated in the programming assignment. All assignments and programs MUST be completed by students individually. You may discuss the assignments and programs among each other but you have to write/edit programs by YOURSELF. Please see the ASU Academic Integrity Policy for a description of the woes that befall a transgressor!
A = 93 to 100, A- = 90-92.9
B+ = 87 to 89.9, B = 83-86.9, B- = 80-82.9
C+ = 77 to 79.9, C = 73-76.9, C- = 70-72.9
D+ = 67 to 69.9, D = 63-66.9, D- = 60-62.9
F = Below 60
No incomplete grade (I) will be given in this course.
"Extreme circumstances" include: extended illness documented by a doctor's statement, death of a close relative, or other such problem. In the event of the death of a close relative, bring an obituary from the funeral and an address so I can send a letter of condolence to the family. It does not include field trips, sporting events, other class work, oversleeping, bad hair days, problems with pets, working overtime, etc. Arrangements for missing classes for university activities must be arranged at least one week before.
Click on the link to view the academic calendar: Spring 2005 Academic Calendar