Course Description
This course covers
a number of fundamental abstract data types, including lists, stacks,
queues, trees, and graphs. The course also introduces several concepts
of object-oriented program design in C++, such as classes, inheritance,
polymorphism, and templates.
A secondary theme of this course is the development
of reliable, reusable programs. The goal is to move beyond simply
writing working programs and discuss issues related to the entire life
cycle of a computer program.
Required
Text
Frank
Carrano and Janet Prichard, "Data Abstraction and
Problem Solving with C++: Walls and Mirrors'', 3rd
Edition.
Responsibilities
Your attendance is expected at each class
meeting. You are also responsible for the contents of reading
assignments, handouts, lectures, class email, and the course web page.
If you have a disability that may affect your
participation in this course, please contact me immediately to discuss
academic accommodations.
Projects
There will be approximately 8 homework projects assigned during the
semester. These projects increase in complexity and each requires
mastery of the material from previous projects. This work will be
submitted electronically.
You are allowed 5 slip days
during the semester. A slip day is a "no questions asked'' extra day to
work on a project. Once all slip days have been used, late
homework will not
be accepted. Note: no work may be submitted after midnight of the
last day of classes, Friday, December 5.
Tests
One
test will be given in class during the semester. The date of the midterm is
Friday, October 17. The final exam will be given in class on
Wednesday, December 17 from 8:30 to 12:30.
Grade
determination
|
A = 90-100%
|
| Homework 60% |
B = 80-89.9%
|
| Midterm 15% |
C = 70-79.9%
|
| Final
25% |
D = 60-69.9 %
|
|
F < 60%
|
I reserve the right to lower
these standards, but I will not raise them