SI Leader: Rajani Rajbhandari
Hours: M 2:30-3:30, Tu 4:15-5:15, W 4:00-5:00, Th 4:30-5:30,
F 1:00-2:00
Location: Curtis 101
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:
Quizzes will consist of 10 multiple-choice and short-answer questions that are based on the homework material. The first 10 minutes of class on days designated for a quiz will be allocated for taking the quiz.
The lowest quiz grade will be dropped. There will be no makeup arrangements for quizzes. If a student is absent on the day of a quiz, the grade will be recorded as a zero.
Three projects will be assigned throughout the semester. Projects will consist of one or more 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 one week 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. Questions will be similar to exercises assigned for homework. The computer-based portion will involve small problems that you will need to complete using C++. The textbook and notes may be used during exams for reference.
Homework will be assigned on a weekly basis. This will typically involve short exercises intended as practice, development of basic skills, and quiz preparation. Homework will not be collected or graded, however completion of the homework is an essential part of acquiring the skills necessary to succeed in this course.
| Date | Topic | Reading |
|---|---|---|
| 1/21 1/26 |
Overview of Computers and Problem
Solving Introduction to C++ |
Chapter 1, 2 |
| 1/29 2/2 |
More on Elements of C++ | Chapter 3 |
| 2/5 2/9 |
Selection Using if and
if...else |
Chapter 4 |
| 2/12 2/16 |
Functions and Program Design | Chapter 5 |
| 2/19 2/23 |
The string Data Type and More Output
Formatting |
Chapter 6 |
| 2/26 3/1 |
The Three C++ Looping Constructs | Chapter 7 |
| 3/4 | Mid-term Exam | |
| 3/15 3/18 |
More General Task-Controlled Loops | Chapter 8 |
| 3/22 3/25 |
Functions with Reference Parameters | Chapter 9 |
| 3/29 4/1 |
More on Functions | Chapter 10 |
| 4/5 4/8 |
Text Files and Streams | Chapter 11 |
| 4/13* 4/15 |
The switch and enum
Statements |
Chapter 12 |
| 4/19 4/22 4/26 |
Arrays and the vector Class |
Chapter 13 |
| 4/29 5/3 |
Searching and Sorting | Chapter 14 |
| TBA | Final Exam |
* Tuesday April 13 follows a Monday schedule.
Quiz Dates: 2/2, 2/12, 2/26, 3/25, 4/8, and 4/22.
Here are the anticipated due dates for the course projects. All projects are due at 1:00 PM on the due date.