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

Instructor:  Joe Bentley      Phone:  831.239.8173 (< 9 pm)                Email:  bentleyjoe@deanza.edu

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 (https://www.deanza.edu/policies/academic_integrity.html).  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 https://www.deanza.edu/dsps/ 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

Monday

Wednesday

Read

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