CIS -022B-03Y          Intermediate Programming Methodologies in C++ - Fall 2018        CRN 22325    

Instructor:  Joe Bentley      Phone:  831.239.8173 (< 9 pm)                Email:

Class Schedule:  Lecture:  MW 9:30 pm – 11:20 pm    Location: ATC 311                   Online Time:  Tue 7:00-8:15 pm
Office Hours: MW 11:30 – 12:00    Location: ATC Lab (Room 203)
Course Description: An introduction to computer programming. Its primary objective is to teach problem solving using the C++ programming language. Emphasis will be placed on structured procedural programming with an introduction to object-oriented programming. Designed primarily for computer science and related transfer majors.

Requisites: (Not open to students with credit in CIS 22BH.) (Students may receive credit for either (CIS 22A and CIS 22B/22BH) or CIS 27.) Prerequisite: CIS 22A.

Student Learning Outcomes:
•    Create algorithms, code, document, debug, and test intermediate level C++ programs.
•    Read, analyze and explain intermediate level C++ programs and their efficiency.
•    Design solutions for intermediate level problems using appropriate design methodology incorporating intermediate programming constructs including structures and objects.

Textbook:  Starting Out with C++: From Control Structures through Objects, 8th or 9th Edition by Gaddis

Assignments:  There will be ten assignments in the class.  Each assignment is due at the beginning of the class session on the specified date.  Late assignments will be accepted for 24 hours after the due date and will be assessed 5 points.  Assignments must be completed individually.  Assignments with compile errors or that crash will not be accepted.  Nine assignments will be used for your grade. Your assignment with the lowest grade will be discarded.

Lab Exercises: There will be 11 lab exercises assigned on every Monday and due before the Wednesday lecture.  Lab exercises will not be accepted late.  Your exercise with the lowest grade will be discarded.

Attendance:  You are responsible for all material covered in each class meeting.  Assignments and Lab Exercises are due on the dates specified, even if you are absentTests may be made up only by prior arrangement.

Tests:  There will be a midterm and a final.  If you are late for the test, you will not be permitted extra time..

Help from the Instructor: It is recommended that you take advantage of the online time, office hours, and email.  The instructor can answer questions, assist with compiler problems, debug programs, and clarify assignments.

Academic Integrity: Students are required to follow the Academic Integrity guidelines (  Any student who participates in copying an assignment or test or uses work performed by someone else will receive a grade of 0 on that assignment or test.

Disability Support: Students who have been found to be eligible for accommodations by Disability Support Services (DSS), please follow up to ensure that your accommodations have been authorized for the current quarter. If you are not registered with DSS and need accommodations, please go to the DSS office in the Registration & Student Services Building (RSS) - Room 141 for information on eligibility and how to receive support services. You can also go online to for additional information.
Grading Policy:
Programming Assignments 180 points (20 points each)
Lab Exercises 40 points (4 points each)
Midterm   80 points 
Final 100 points 
Extra Credit: CodeLab  ~10 points    prorated
Total 400 points  
Points Percent Grade
360-400 90-100% A
320-359 80-89% B
280-319 70-79% C
240-279 60-69% D
Below 240 Below 60% F

 + or – added if within 2% of grade boundary

You may be dropped from the class if you miss the midterm or turn in less than half of the required assignments and exercises.  If you decide to drop the class, you must withdraw by the end of the 8th week.

Class Schedule




Class Introduction and Overview
File I/O, Functions
Exercise 1 due
Chapter 7
Functions, Arrays
Assignment 1 due
Sorting, Searching
Exercise 2 due
Chapter 8
Last dates:
to add 10/6
to drop 10/7
Arrays – Multidimensional
Assignment 2 due
Pointer Arithmetic and arrays
Exercise 3 due
Chapter 9
Dynamic Memory Allocation
Assignment 3 due
C-Style strings
cctype functions      
Exercise 4 due
Chapter 10
C++ string class
Assignment 4 due
Exercise 5 due
Chapter 11
and sections 12.7-12.9
Unions and enums
Assignment 5 due
Exercise 6 due
Introduction to classes
More class
Exercise 7 due
Chapter 13
Constructors and Destructors
Assignment 6 due
More constructors and destructors
Exercise 8 due
Last date to withdraw with W 11/16
Static members, friends
this pointer
Assignment 7 due
Operator overloading
Exercise 9 due
Chapter 14
Linked list
Stacks, queues, templates
Assignment 8 due
 Exercise 10 due
Chapter 17
Abstract classes
Assignment 9 due
UML Review
Exercise 11 due
Chapter 15
Section 13.16
FINAL 9:15 – 11:15 am
Assignment 10 due