CS 165 Online Syllabus

Course Overview

The purpose of CS 165 is to complete the student's understanding of the C++ language and to help them understand the benefits of Object Oriented (OO) program design. Successful graduates of CS 165 will:

These goals will be explored in the context of C++ using the Linux operating system.


The course is organized into weekly topics. Each week the student will be expected to:

  1. Complete weekly reading assignments
  2. Write two checkpoint programs during or immediately following the reading. These checkpoints are not designed to be problem solving exercises, but rather to help practice the syntax and mechanics of the reading. These assignments are pass/fail and will be auto-graded.
  3. Teach and learn from peers in a synchronous team activity.
  4. Teach and learn from peers via active participation in the developer's forum.
  5. Apply the topic of the week in a larger programming assignment that requires problem-solving, design, and debugging.

Course Materials

The text for this semester will be James Helfrich's C++ Object Oriented Programming. This will only be available in the university book store and online.

Compare prices for your textbooks through the University Store Price Comparison site. They will show you all of the options from the University Store plus several online options to help you find the best price.

There will be additional material available through I-Learn, including:

Finally, there will be additional material available on the course Linux directory /home/cs165new (please note the "new" in "cs165new")

Please note that we will read the sections of this textbook in a slightly different order than they way they are presented. Also, we will NOT use the assignments and projects in previous versions of the textbook. Many of them may look similar, but students should refer to I-Learn for the correct assignment specifications.


The grading breakdown for the class will be:

Checkpoints 20%

As described above, the checkpoints will reinforce the syntax and mechanics for the topic of each week.

Weekly Assignments and Projects 55% The first several weeks of the course will have a standalone weekly assignment. Following these, we will complete three larger projects that demonstrate the value of the object-oriented tools we are learning. These projects will have milestone deliverables due at the end of the weeks leading up to the final deliverable.
Team Activities 10%

Students will be divided into small teams for sychronous activities that must be completed each week before Wednesday night. If circumstances require a student to miss a team activity, they must notify the instructor and their teammates beforehand, in which case they will be excused from the assignment. Otherwise no credit will be given for the activity.

In addition, at the end of the semester each individual will evaluate the contributions of their team members, which will also factor into the team activities score.

Please see CS 165 Team Activities for more information.

Developer's Forum 15% Each student is required to activity participate in the developer's forum. Points will be awarded for both asking and answering good questions. Please see Participation in the Developer's Forum for more information.
Grades are as follows: 100% -> 90%
89.9% -> 80%
79.9% -> 70%
69.9% -> 60%
59.9% -> 0%
A: Demonstrated mastery of the class
B: All of the key concepts and skills have been learned
C: Acceptable, but might not be ready for CS 235
D: Developing; the class has yet to be mastered
F: Failed to understand or complete the course

There will also be the usual +'s and -'s. All grades are reported on I-Learn. If you feel that I-Learn does not accurately reflect your earned grade, please come talk to me.

Practice Problems

For each section in the text book there is a quiz containing practice problems. These practice problems are not counted toward your grade, but can help you practice the material you are reading about and also can also be the source of good questions for the developer's forum.


All communication (note passing, talking, electronics) needs to be focused on the subject matter.

Checkpoint assignments are due on the day noted on the schedule. Late checkpoints will be accepted for 50% credit until the due date of that week's weekly assignment. After that, they will not be accepted.

Generally, late weekly assignments, milestones, and projects are not accepted. Major, extenuating circumstances must be discussed, in person, before the assignment is due, and reasonable accommodations may be made.

Examples of emergencies: death in family, illness requiring a doctor visit, etc.

Examples of things that are not emergencies: I forgot when it was due, I did not plan appropriately, I was up all night playing Halo and overslept, I went out of town with my friends, I had to work, etc.

Academic Honesty

You may work with your classmates but all submitted work for projects and assignments must be original. Share ideas; do not share code! Assistance from a classmate should be on par with the help you would expect from a lab assistant.

You are encouraged to use the Internet as a resource, but recognize that you should not copy and paste someone else's work as your own. Cite all sources and follow copyright laws. When in doubt, give credit and be upfront.

The penalty for copying or plagiarism of assignments might be one or more of the following: -100% on an assignment, being asked to withdraw from the class, a failing grade in the class, or disciplinary action by the University.


Brigham Young University-Idaho is committed to providing a working and learning atmosphere that accommodates qualified persons with disabilities. If you have a disability and require accommodations, please contact the Disability Services Office (208) 496-9210. Reasonable academic accommodations are reviewed for all students who have qualified documented disabilities. Services are coordinated with the students and instructor by the Disability Services Office.

Changes to Schedule and Assignments

Schedules, assignments, and policies are subject to change. You will be notified of any changes on I-learn.