Course Description

An introduction to computer programming using the C++ programming language. Emphasis is on a complete problem solving approach from problem analysis through implementation as a computer program. Students learn basic programming constructs including sequential program flow, selection, and iteration. Native C++ data types (to represent integer, decimal, and character data) are presented as well as an introduction to strings. Interactive and file input/output processing is used. Modular program development techniques are stressed. Array processing is presented.

Prerequisites: none, but general computer literacy and an understanding of high-school algebra is assumed.

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:

Homework

Homework will be assigned for each class. This will typically involve short exercises intended as practice and development of basic skills. Homework that is complete and done on time receives full credit toward the homework grade. Homework that is partially (at least half) complete or done late receives half credit. Homework not done within two weeks of the due date receives no credit.

Projects

Projects will consist of problems for which you will need to devise a solution and implement that solution as a C++ program. Each project requires you to apply theoretical material presented in class as well as skills acquired through the homework exercises. The projects will involve much of the same activities involved for the homework, but will be much more involved.

Computer programming requires careful planning and much attention to detail. It is very common for projects to take longer than you might originally anticipate. You should aim to complete each project three or four days prior to its due date. This gives you time to react to problems you might encounter as you finish your project.

Late projects will be accepted up to two weeks past the due date, and will be penalized 20% of the total possible score. Any project not turned in within two weeks of the due date receives a grade of zero.

Exams

Exams will include written and computer-based portions. The computer-based portion will involve small problems that you will need to write, modify, or correct using C++. The textbook and notes may be used during exams for reference.

Course Schedule

Date Topic Reading
5/18 Course Introduction
Writing Programs: A First View
Introduction to C++
1.4, 2.1-2.6
5/20 More on the Elements of C++ 3.1-3.7, 3.9
5/25 Selection Using if and if..else 4.1-4.6
5/27 Functions and Program Design 5.1-5.8
6/1 The string Data Type and More Output Formatting 6.1-6.5
6/3 Mid-term Exam  
6/8 Loops 3.8, 7.1-7.5
6/10 Loops (continued) 7.6-7.8, 8.1-8.3, 8.5
6/15 Functions with Reference Parameters
Text Files and Streams
9.1-9.3, 2.5, 11.1-11.9
6/17 Arrays and the vector Class 13.1-13.8
6/22 Searching and Sorting 14.1-14.4
6/24 Final Exam  

Here are the anticipated assign and due dates for the course projects. All projects are due at the beginning of class on the due date.

Project Assign Due
1 5/20 5/27
2 5/27 6/3
3 6/8 6/15
4 6/15 6/22