Course Description

A continuation of CIS 135, this course examines programming techniques and C++ language features used to solve larger, more complex problems. Topics include advanced string processing, object-oriented programming, templates, an introduction to data structures, and the C++ Standard Template Library.

Prerequisite: CIS 135

Course Objectives

Textbook

Hennefeld, Baker, and Burchard; Using C++, An Introduction to Programming, 2nd ed., Brooks/Cole, 2003. ISBN: 0-534-39146-X.

Assessment

Grades are based on the following assessment items:

Assignments

Assignments will consist of one or more problems for which you will need to devise a solution and implement that solution using C++. Programs should be well documents using comments, and code should be indented to enhance readability. Comments should be included throughout the program to clearly describe all algorithm steps. Further, each function, parameter, class, member, and variable (except minor ones such as those used for loop control) are to be fully documented.

Tests

Tests will be written and will consist of problems and short answer questions. On test dates, the second half of the class period will be allocated for the test. The textbook and notes may be used during the tests for reference.

Final Project

The final project will be a project chosen by the student and approved by the instructor that incorporates several techniques learned in CIS 135 and CIS 136. The project should be of moderate size and complexity. Possibilities for projects will be discussed in class.

Course Schedule

Date Topic Reading
7/5 Strings and Characters Ch. 6, 16
7/7 Vectors and Maps Ch. 13
7/12
7/14
Structured Types and Classes Ch. 17, 18, 19
7/19
7/22
Templates Ch. 21
7/26
7/28
Pointers and Linked Lists Ch. 22, 23
8/2 Stacks and Queues Ch. 24
8/4
8/9
Recursion Ch. 25
8/11
Inheritance and Polymorphism Ch. 27

Test Dates: 7/22, 8/9.