Course Description

Presents an introduction to computer programming using the C++ programming language beginning with basic principles and progressing to object-oriented programs. Includes: algorithms, data types, declarations, expressions, selection, repetition, functions, recursion, libraries, arrays, classes, objects, files and streams. Prepares students for CS 19

^ top

Student Learner Outcomes

  1. Design elementary computer algorithms.
  2. Develop small C++ programs that implement basic algorithmic designs.
  3. Design and document program code following the principles of software engineering.

^ top

Who Should Take This Course

The following people will benefit from this course:
  • Students who want to learn basic programming skills.
  • Students preparing for CS-19: C++ Programming.
  • Students who want to prepare for the advanced-placement test in programming.
  • Experienced programmers who want to learn a smaller subset of C++ than CS-19, and at a slower pace.

^ top

Textbooks and Other Materials

Required booksC++ for Everyone, 2nd Edition, Cay Horstmann, John Wiley & Sons, ISBN: 0470927135 or ISBN-13: 978-0470927137. Also, you may purchase the textbook as an E-Book or buy a 180 day subscription for a reduced price. In addition, there is a Student Companion Site. It is important that you have access to the textbook because there is required reading from the book, programming projects are assigned from the textbook, I test on material from the book, and it will help you get a better grade in the course.

The first edition of the textbook is an acceptable alternative though the student will need to find the correct problems that match those assigned from the second edition. The instructor puts the first edition problem numbers in parenthesis to assist the student.

Required materialsYou must purchase a CodeLab subscription. Cost should be $25 if you order online -- let me know if you are charged more as I negotiated a discount for my students. Also, if purchasing CodeLab is a financial hardship, please let me know.

^ top

Other Student Resources Needed

  • Email: All students are requested to have an e-mail account. Please keep your email current in WebAdvisor.
  • Internet Access: You need Internet access to view course materials on the web site, to turn in assignments, complete exercises, and to take tests. Internet access is available in the CTC and STEM Center for all students enrolled in this course.
  • Technical Skills: Students need technical skills in the following areas to be successful in this course:
    • Computer operation and program installation
    • File and folder (directory) management
    • Text editing
    • E-mail usage
    • Web browser usage

Note that these skills are taught in CS-1, which is a recommended preparation for this course.

  • Patience and Time: If you have enough time to sit in class and in lab, but do not have 6-10 hours a week to devote to homework, drop this class. You will need time to design solutions to assignments and experiment with the commands of the programming language.

^ top

Teaching Methods

  • Assigned reading: Each week you have assigned reading, which you are expected to complete before the first class of the week. In addition, you are expected to skim the lecture notes before class. During class, you will be expected to join in the discussions and answer questions about the readings. For reading strategies see: 4 Steps to Reading a Textbook Quickly and Effectively.
  • Lectures: Important material from the text and outside sources will be covered in class. You should take careful notes as not all material covered can be found in the texts or readings. Discussion is encouraged as is outside material relevant to topics being covered.
  • Activities: As part of each class meeting, we have in-class activities and exercises to reinforce and support the lecture material. You need to participate in the activities and work on the in-class exercises during the allotted time in class. You are usually given enough time in class to complete the in-class exercises. However, if we run out of class time then you may need to complete them at home.
  • Labs: Labs with step-by-step instructions help you prepare for the upcoming class lectures and discussions.
  • Projects: The programming projects let you apply what you have learned to new situations, analyze problems and see ways to apply the programming language. You will turn in your programming assignment using the Assignment submission tool in Canvas. Homework quizzes may be given during class time and you must attend class when they are given to take them.
  • Exams: There are two midterm exams and a final exam.  There are bi-weekly quizzes.
  • Online Labs: The schedule of classes lists, "3 hr 5 min online lab per week". These online lab hours are there to complete the assigned online labs. These labs give you practice with the programming concepts and skills from the reading and the classroom lectures. You are graded, in part, on completing the online labs each week.
  • Final Project: The last project is the Final Project. The purpose of the project is to use the knowledge and skills you have learned from this course to create a useful application. There are several requirements and you must make many design decisions.

^ top

Grading Policies

  • 40% Labs and homework
  • 30% Midterms & Quizzes
  • 30% Final


Assignments, including in-class exercises and online labs, are due at the date and time shown on the Class Schedule Page and Canvas. Homework quizzes are given during class and you must attend class on the day they are given to take them. I will not accept late assignments without a compelling reason except a single one-time exception of up to two days late. However, it is possible to improve assignment scores by completing extra credit work. Most assignments have some extra-credit opportunities. 

If you are going to miss class, then you should arrange to turn in your assignments before class starts. Since we turn-in work online, you can submit your programs from any computer connected to the Internet.

If you do not want to complete the homework because the assignments are not challenging enough, please ask the instructor for more challenging assignments.

Midterm Exams & Quizzes

The midterm exams must be taken when scheduled, except by prior arrangement with the instructor. 

Quizzes will be given every other week except when there is a Midterm.

Final Exam

The final exam is a practical exam given during finals week. You must take the exam when scheduled, except by prior arrangement with the instructor. Changes to the date or time of the final exam will be given only for extremely compelling reasons. 

You will need to complete a series of programming steps to pass the final. Some multiple-choice and short answer questions may be given as well. All students must take and pass the final exam to pass the course.

Grade interpretation

Grading within each area is based on the following scale: 

A90.0%100%Outstanding work demonstrating mastery of the subject.
B80.0%89.9%Above average work with a solid understanding of the subject.
C70.0%79.9%Satisfactory work meeting all minimum requirements.
D60.0%69.9%Substandard work not meeting expectations in one or more areas.
F0%59.9%Unsatisfactory work.
All scores are posted in Canvas and you are responsible for reviewing them frequently. If you have questions about problems you missed on any exercise or assignment, please see me right away. I want to ensure both that you understand the material and that your grades are accurate and fair.

^ top

Alternate Grading and Incompletes

  • Pass/No-Pass Option: You may request a pass/no-pass grading option. If so, you must complete the course work at a satisfactory (that is a "C") or better level to pass. For more information, see the Cabrillo Academic Policies and Procedures document.
  • Incompletes: You may request an incomplete from the instructor if you are "doing passing work and regularly attending at least 75% of a course, but are unable to take the final exam (or otherwise complete the course) because of illness or other unforeseeable emergency and justifiable reasons." (Quotation from the Academic Policies and Procedures document.)

^ top^ top

Missing Classes and Drops

It is the student's responsibility to officially withdraw from classes. If you miss more than two classes or two assignments, the instructor may drop you from the course enrollment unless prior arrangements have been made and agreed to by the instructor.

^ top

Student Behavior Expectations

All students are expected to:
  1. Treat other students, the instructor, and guests with courtesy and respect -- no sarcasm, no put-downs, no disruptions by speaking out of turn, side conversations, leaving the classroom in the middle of lectures or exercises, etc.
  2. Be attentive, stay on task and participate in discussions.
  3. Work collaboratively with peers as appropriate for each activity.
  4. Use computers in the classroom only at specified times and for specified activities.
  5. Not use a cell phone during class, including texting or Internet browsing, nor allow the phone to ring in the classroom.

Consequences for Disruptive Behavior

Disruptive behavior is any action that interferes with the functioning and flow of the classroom including uncooperative, defiant, or hostile behaviors.

First incident (when not severe): discussion and verbal warning.

Second incident:
  • Dismissal from the class and possibly the next class period
  • Filing of a Disruptive Behavior Report with the Dean of Student Services.
  • Reporting of the incident to the Division Dean
  • Meeting with the instructor during office hours to write an agreement on future behavior in the class.
Third incident:
  • Dropped from the class or given a failing grade after the last drop time has passed.
  • Filing of a Disruptive Behavior Report with the Dean of Student Services.
  • Reporting of the incident to the Division Dean

Severe incidences: Severe acts of disruption, lack of respect (such as the use of a racial slur), sexual harassment or physical violence will be cause for an immediate drop from the class and a Disruptive Behavior Report filed with the Dean of Student Services for further disciplinary action.


Students are expected to participate in the course, as indicated by completing homeowork assignments and tests. Missing the first assignment or missing more than two weeks of assignments or a midterm without contacting the instructor may result in the student being dropped from the course.

^ top

Scholastic Honesty Policy

Scholastic dishonesty is any act designed to give an unfair or undeserved academic advantage. Students who are scholastically dishonest hurt both themselves and other students. They rob themselves of both the knowledge of the course and the experience of learning how to learn. They harm other students as well because they may unfairly get a higher grade and nobody can trust that the graduates of a course know the material.

Scholastic dishonesty includes:

  • Cheating: Intentionally violating the rules of the course by possessing, communicating, using, or attempting to use materials or to take actions that the instructor has not allowed.
  • Plagiarism: Use of distinctive ideas, words or code belonging to another person, without sufficiently acknowledging that person's contribution. For example, copying code from the internet and inserting the code into an assignment without attribution is plagiarism. Also, using new ideas or code from outside the class or textbook without acknowledging the source is plagiarism. If you use advanced techniques not covered in class without stating the source, you will need to explain your use of the ideas and techniques to the instructor during office hours.
  • Collusion: Unauthorized collaboration with another person in the preparation of an academic assignment offered for credit.
  • Misrepresenting facts: Providing false information for academic advantage such as claiming a death in the family in order to postpone an exam or extend a deadline on an assignment, when in fact there was no such problem.

Any person caught cheating, colluding, plagiarizing or misrepresenting facts will be given a grade of zero for the assignment or assessment. The second offense will result in being dropped from the course or given a failing grade if the last drop period has passed. These offenses will be reported to the Dean of Student Services for inclusion in your academic record.

The Office of the Dean of Student Services maintains records of students who have engaged in academic dishonesty. These records are used to identify and discipline students who engage in academic dishonesty. Discipline includes suspension and expulsion from Cabrillo college.

Specific assignment and assessment rules are discussed in the following sections. For a tutorial on avoiding cheating and plagiarism see: Academic Integrity and Plagiarism Tutorials.

Assignment Integrity

You are expected to work alone on some assignments and with other students on other assignments as listed in the assignment specifications. When working alone, you must do all your own work. You may discuss assignments with other people, but ultimately you must write the code yourself. Not writing all the code yourself is cheating.

When working with others, the assignment specifies how you must contribute. Group work can accelerate learning, but only when each student takes responsibility for mastering all the assigned material. Little is learned if each student works only part of the assignment and merely copies answers for the rest.

If the assignment seems too hard to complete without more help, whether working in groups or not, then you should contact me. My job is to help you understand the material. As an option, you may discuss your assignment, and show your code to, another Cabrillo College Computer Science Instructor if they agree. Note that this list does not include tutors. Tutors must follow the same rules for acceptable help as other non-students.

You may still help other students, and receive help from other students (or tutors), and I encourage you to do so. The following lists are intended to help clarify the rules about appropriate assistance for assignments: 

Acceptable Help

  1. Showing others how to use, or solve problems with, computer applications such as compilers, text-editors and debuggers, or receiving such help.
  2. Discussing problems and ideas for solving problems with other students or tutors.
  3. Describing your algorithms to other students using diagrams, psuedocode or natural-language statements (unless that was the assigned homework).
  4. Looking at another person's code and pointing out an error, as long as you do not write, type, dictate, or otherwise communicate the actual program code required by the assignment.

    Tip: if you need to write code when explaining a problem, then use an example that is not part of the assignment.

Unacceptable Help

  1. Typing or writing any homework solution (or parts of a homework solution) for another person, or allowing someone to type or write a homework solution for you.
  2. Looking at another person's homework code while typing or writing your homework code.
  3. Listening to someone else dictate homework code while typing or writing, or dictating to some else the homework code to type or write.
  4. Providing a copy of your assignment solution, or any other person's solution, to anyone who is taking this course or might take this course in the future, including posting a solution online or emailing it to someone.
  5. Receiving a copy of an assignment solution, or a part of a solution, from anyone until after you make a final submittal of your assignment and the due date has passed.

These are not all-inclusive lists. Students are expected to interpret and apply the overall concepts of academic honesty in good faith. If you have questions about what is permissible, please ask me.

Also, note that these rules do not prohibit you from sharing assignment solutions with other students after after both you and the other student have made a final submittal of the assignment and the due date has passed. Reviewing other people's solutions can help you learn, but it is cheating unless you have already completed the assignment on your own.


Tutors are often available in the CTC and the STEM Center. Tutors can provide a valuable service by helping you learn the material. However, tutors do not help if they do the work for you. Thus, you should not allow tutors to type code for you or tell you what to type.

Tutors can show you how to use computers and computer programs such as our compiler. They can discuss problems and suggest ideas for solving problems. They can also look at your code and point out errors. Tutors help you to learn the material, but must not write any code for you. If a tutor writes any code for your assignments, or provides you assignment code to look at or copy from, you are cheating.

Assessment Integrity

During exams, I expect there to be no talking and no wandering eyes. You are responsible to make it abundantly clear to me that you are not cheating and that you are working alone. Cheating on exams includes, but is not limited to, the following:

  1. Communicating with anyone but the testing proctor during the test period.
  2. Failing to comply with instructions given by the testing proctor.
  3. Possessing materials that are not authorized by a testing proctor, such as calculators, cell phones, pagers, lessons, books, or notes.
  4. Copying from another student.
  5. Using, buying, stealing, soliciting for, or transporting some or all of the contents of a test or test rubric.
  6. Substituting for another person, or permitting another person to substitute for oneself, in taking a test.

This is not an all-inclusive list. If you have questions about what is permissible, please ask me.

Students automatically consent to re-take an exam, or an exam deemed to be equivalent by the instructor, if the instructor has any question about the integrity of the results.

Nondiscrimination and Accessibility Notice: 

The District is committed to equal opportunity in

educational programs, employment, and all access to institutional programs and activities. The District,

and each individual who represents the District, shall provide access to its services, classes, and

programs without regard to national origin, religion, age, gender, gender identity, gender expression,

race or ethnicity, color, medical condition, genetic information, ancestry, sexual orientation, marital

status, physical or mental disability, pregnancy, or military and veteran status, or because  he/she is

perceived to have one or more of the foregoing characteristics, or based on association with a person or

group with one or more of these actual or perceived characteristics.

The Accessibility Support Center (ASC) offers academic support for students with disabilities at Cabrillo

College. We are here to assist students with disabilities in achieving their academic goals by providing

equal access to educational content and facilities. For more information, contact

Support Services (free): 

Cabrillo College has many programs and services designed to help you during your

academic journey. You can visit the website at

for a complete listing of support services. These services are provided free of charge while you are a

student. Please take advantage of them.

Financial Aid: 

Cabrillo College provides several financial aid opportunities for students. For tuition

and/or book assistance information, go to

Student Rights and Responsibilities: 

You are expected to contribute to a positive learning

environment. Your responsibilities as a student include:

*Respect for your fellow students, staff, and faculty

*Actively participating in the learning environment

*Taking responsibility for learning and progressing in your course

*Requesting assistance from the instructor when needed

*Adhere to all academic integrity principles

*Reading and understanding the Cabrillo Student Rights and Responsibilities Handbook. (the student

grievance procedure is outlined beginning on pg. 18 of the handbook).

*Following all school policies and procedures (All policies and procedures can be found at


Cabrillo College is committed to providing a safe and secure campus environment. The college

will not tolerate acts of harassment or violence. For campus safety and security information, go to

Student Services (free!):  See a Counselor in the Watsonville Campus A building or at the Aptos Campus

I have a disability or need accommodations

All students needing accommodations should provide their instructor a copy of their accommodation letter ASAP. If you think you may have a disability that hinders your ability to reach your full academic potential please contact the Accessibility Support Center, Room 1073, 479-6379 or 479-6370.

I am being bullied or harassed:  go to the
Student Health Services, Room 912, 479-6435 to talk on the phone or to schedule an appointment. 

I am being sexually discriminated against or harrassed/intimidated due to my gender:

Title IX Services

I need extra help with my courses.

Go to this class's Study Session for help with a tutor for this class.  Go to your professor's office hours,  email the professor,  send an discussion group message in Canvas,  go to the STEM center in the 800 building,  form a study group.  Also,  there are many helpful web sites and youtube videos (google is your friend!).

I want to feel confident that I am on the path to reaching my academic and career goals

Everyone here at Cabrillo wants to help you and an education plan is one of the best ways to ensure that you are on the right track. If you are unsure about selecting a major, which classes you need to transfer to your dream college or simply just want information about the possible career opportunities within your major of choice then please contact Academic Counseling 479-6274, or the Transfer Center, 479-6385 to schedule an appointment.


I need someone to talk to

College is a stressful time for many students. We teach many skills in school, but unfortunately, the strategies to successfully cope with the various traumas that life inevitably throws at us is often a skill that goes ignored. Too often we try to struggle through our difficulties alone, for a variety of reasons, or we resort to unhealthy coping mechanisms because they are easy or well known. Whether you have always struggled with depression or anxiety, or perhaps you have only recently experienced an emotionally traumatic event, please don’t hesitate to call Student Health Services, Room 912, 479-6435 to talk on the phone or to schedule an appointment.


I need to contact my professor: 

Email your professor at shstreli at cabrillo dot edu

She will respond to you usually within a couple of hours,  but definitely within 24 hours.


I want a mentor/ I want to be a mentor

The mentor program support students by providing a one-to-one relationship with a current Cabrillo College employee mentor who volunteers to help their new student mentee be more successful in college. In addition to the mentor/mentee relationships, students receive support by being part of the close-knit mentoring program community where they’ll meet other mentors and mentees. If you would like either become a mentor or mentee please contact Laura Thurman:

I need medical assistance

Whether you simply have a headache, sprained ankle, are feeling sick, need a flu shot or just want some medical advice, please see Student Health Services, Room 912 next to the cafeteria.

I am an AB540/undocumented student

The Dream Resource coordinator can help clarify any questions you may have as well as provide information about college, resources, clubs and scholarships. Please contact Adela Naranjo-Bernabe, 477-3379,, Aptos office: room 104; Watsonville office: room A123.

I am a veteran

Thank you for your service. For financial aid (479-6557), counseling (479-6274), or general information (479-6110) please visit the Veterans Information Center, room 914.

I need help with financial aid

Visit the Welcome Center SAC East building, Aptos: 479-6100 or Watsonville: 786-4701

What other services are available to me?

Free food, money to help during periods of financial distress (up to $700), day care services and many other programs/services are provided for students. If interested please visit the Student Services office, SAC East room 218, 479-6317 or visit