Text | Data Structures Using C by Tenenbaum, Langsam, and Augenstein, Prentice Hall ISBN 0-13-199746-7 |
Recommended | The C Programming Language
by Kernighan and Ritchie The C++ Programming Language by Stroustrup |
Project | The final project for this class is a name and addressbook program. This program will utilize topics covered throughout the semester and will stress application design, code reusability, and data structure implementation. The final project is due on the day of the final exam. |
Tests | 1 take-home midterm assign at the seventh class, and 1 final exam during the fifteenth class (final exam only). Tests must be made up within 1 week. |
Grading | Grading is broken down as follows: Project 35% Midterm 25% Final 20% Homework 15% Participation 5% No 'upgrades' will be permitted for homework, or assignments unless previously agreed upon with instructor. No more than two homework assignments will be accepted from a student on the final day of class. A grade of 'incomplete' must be requested by students two weeks prior to the final exam. A grade of incomplete is granted at the instructors discretion, taking into account the students grade average and ability to complete class assignments. |
Goals | The goal of this class is to demonstrate analytical
problem solving and real-world programming situations using C/C++. Code
re-usability, design principles and creative algorithms will be stressed
throughout the semester. Common-place data structures and algorithms will
be examined and explained, providing the foundation for future development
projects. Object oriented topics are discussed in the second part of the class, demonstrating the syntactical and logical advantages of C++ over C. Real world design examples, object classes, and "Do's and Don'ts" of object oriented programming are discussed. |
2) C Review Continued
3) Recursion
4) Stack
5) Queues
6) Linked Lists - One-way
7) Linked Lists - Two Way
8) Linked Lists - Summation
9) Binary Trees
10) Binary Trees
11) Binary trees continued
12) BTrees
13) Application development tools
14) Final exam