CIS -029-01Y                          Advanced C++ Programming - Winter 2018                            CRN 34926

 

 

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

 

Class Schedule:  Lecture:  TTh 9:30 am - 11:20 am    Location: ATC 312                   Online Time:  Wed 7:00-8:15 pm

Office Hours: TTh 11:30 - 12:00 am    Location: ATC Lab (Room 203)

                                                                                                                   

Course Description: Advanced topics in C++ including: namespace, string and stringstream classes, cast operators, multiple inheritance, exception handling, compilation concepts, libraries, templates, the Standard Template Library and programming style.

Requisites:  Prerequisite: (CIS 22B or CIS 22BH) or CIS 27 or equivalent. Advisory: MATH 212 or equivalent.

Student Learning Outcomes: 

 

Textbook:  (RequiredProfessional C++, 3rd Edition by Gregoire

 

Assignments:  There will be six programming assignments in the class.  The description of each assignment will be posted on the class web page.  Each assignment is due at the beginning of the class session on the specified date on the schedule.  Late assignments will be accepted only 24 hours after the due date and will be assessed a 5 point penalty.  Assignments are to be completed individually and must fulfill the program requirements.  Assignments with compiler errors and assignments that crash on execution will not be accepted.  Only five assignments will be used to determine your final grade. Your programming with the lowest grade will be discarded.

 

Group Project:  A group project will be assigned.  A group will consist of 4-6 students. The project will involve writing a game chosen by the instructor.  Projects will be due in the 11th week of the quarter.  Each group will have a leader who will coordinate the work within the group.  Each group is required to hold at least 4 group meetings and the leader will submit required meeting reports.  Each student must participate in the completion of the project.

 

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

 

Class Format: Class sessions will consist of a lecture/discussion followed by a lab exercise.

 

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, and the instructor's office hours.  The instructor is available to answer individual questions, assist with compiler problems, assist with debugging programs, and discuss and clarify assignments.  It is also recommended that you make use of email to ask questions or to seek assistance with programming assignments.

 

Grading Policy:

Programming Assignments

100 points

20 each

Midterm

50 points

 

Final

100 points

 

Group Project

100 points

 

 

 

 

Total

350 points

 

 

 

 

Points

Percent

Grade

315-350

90-100%

A

280-314

80-89%

B

245-279

70-79%

C

210-244

60-69%

D

Below 210

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.  If you decide to drop the class, you must withdraw by the end of the 8th week.

CIS 29                                      Class Schedule - Winter 2017 - Joe Bentley

 

 

Week

Tuesday

Thursday

1

Review

 

C++ 11 Features

2

Binary File I/O

C++ style Cast

Assignment 1 due

string class

stringstream classes

3

I/O manipulators

 

Bitwise operators & bit manipulation

Group Meeting Report 1 due

4

Inheritance, Polymorphism

Dynamic cast

Assignment 2 due

Multiple Inheritance

Common ancestors

5

Exception Handling

 

Exception Handling II

Group Meeting Report 2 due

6

Namespaces

Assignment 3 due

MIDTERM

7

Libraries

 

Libraries II

Group Meeting Report 3 due

8

Function templates

Assignment 4 due

Class templates

 

9

STL

array, vector, list, forward_list

STL

stack, queue, deque, priority_queue

Group Meeting Report 4 due

10

STL

set, map, multi_set, multi_map, bitset

Assignment 5 due

STL

Algorithms, Function objects, auto_ptr

11

Lambda expressions, functions

Group Projects due

C++ Style guidelines

 

12

FINAL

Assignment 6 due

 

 

 

Class Web Page: http://voyager.deanza.edu/~bentley/cis29