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.
Hennefeld, Baker, and Burchard; Using C++, An Introduction to Programming, 2nd ed., Brooks/Cole, 2003. ISBN: 0-534-39146-X.
Grades are based on the following assessment items:
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 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 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.
| 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 |