CS 2310: CSII Introduction to Data Structures and Algorithms

Instructor: Dr. Ali Berrached

Office: S712 Tel: (713) 221-8639

E-mail:berracheda@.uhd.edu URL:

Office Hours: M 2:30-3:00, TR 2:00-3:00 PM and by appointment.

Catalog description: (3-3-0) Complex data structures including multi-dimensional arrays, strings, records, and C++ classes; data abstraction and object-oriented software development; dynamic data types; linked structures;

Textbook: "Programming and Problem Solving with C++", 3rd Edition, Nell Dale, Chip Weems, and Mark Headington, Jones and Barlett Publishing, 2002.

References: “Microsoft Visual C++.Net”, by Don Gosselin, Thomson Course Technology, 2002. ISBN: 0-619-01657-4

Course prerequisites: CS 1410 and credit or enrollment in MATH 2305 (Discrete Math) or MATH 2401 (Calculus I). If you do not meet these prerequisites, you are subject to being dropped from the course without prior notification at your expense.

Course grade: Course grades will be determined as follows:

Assignment / Weight
2 Midterm Exams / 25 % each
Prog. Assignments / 25 %
Final Exam / 25 %
Total / 100%

Important Notes

/ If you take each exam, your lowest exam score will be dropped at the end of the semester and will be replaced with your FinalExam score.
/ Exam dates will be announced at least one week in advance.
/ Your final course grade will be determined by the standard college formula based on your course average: 90-100 "A", 80-89 "B", 70-79 "C", 60-69 "D", 0-59 "F".
/ You must have a passing average (60+) on both the major tests and the programming assignments to pass this course.
/ The Last day to withdraw from a course with a grade of "W" is October 28, 2004.

Programming Assignments: One of the key educational objectives of this course is to provide you knowledge and experience with the modern programming concepts and methodologies required in upper-level courses, industry, and graduate schools. Therefore, you can expect to do a great deal of programming in this course. You can expect programming to occupy a significant amount of your time during the semester, so plan accordingly.

Make-up assignments and exams: Homework/programming assignments are to be completed and turned in by the due date at the beginning of class. Late assignment will not be accepted. Make-up exams will only be given in cases of documented emergencies. It is your responsibility to contact your instructor with documentation of your emergency as soon as possible. All missed grades will be recorded as zeros.

Academic Dishonesty: For this class, all work must be done individually -- no group work is allowed. You are encouraged to generally discuss assignments with fellow students, but may not copy their solution or code. Doing so constitutes academic dishonesty which will be sanctioned with a grade of F in the course. See for more information on UHD’s policy on academic dishonesty.

Topic content:

Topics / Text / Reference
Structured Types, Data Abstraction, Records and Classes / Chap 11 / Chap 5
Arrays / Chap 12
Array-Based Lists: basic list operations, sorted/unsorted lists, sorting, sequential & binary search algorithms, Character Strings / Chap 13
Dynamic Data Types: pointers and reference types / Chap 15 / Chap 6
Object-Oriented Software Development:class inheritance, composition, static and dynamic binding, templates, overloading operators, object-oriented methodology / Chap 14 / Chap 7&8
Introduction to Windows Programming / Chap 9
Linked Structures: designing and implementing a dynamic list class. / Chap 16
Recursion / Chap 17