CS 3460 - Data Structures (Section 101)
Spring 2005 - Course Syllabus

Professor:
Dr. Rahman Tashakkori,
e-mail:
  rt@cs.appstate.edu, Web Page: http://www.cs.appstate.edu/~rt/

Office: CAP 121, Office Phone: 262-7009
Office Hours: MWF: 8:300-11:00, MW 12:00-1:00, and Open Door Policy
Class Time/Location: MWF 11:00-11:50 /Room 337 CAP
Final Exam: Wednesday, May 4, 2005   9:00-11:30 AM

Course Description
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.

Prerequisites
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.

Required Texts
Data  Structures & Algorithm Analysis in  C++ by Mark Allen Weiss (latest edition)

Quizzes
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.  

Grading policy
The following grading scale will used in this course:
                        Two Exams  20% each for the total of 40%,
                        Final exam, 25%,
                        Assignments 25%,
                        Quizzes and Class Participation %10.

Attendance
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.

Assignments and Programs
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!

Grading Scale
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
"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