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

 

 

Instructor:  Joe Bentley 831.332.6448 (< 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 DescriptionAdvanced 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:  None Required.  Required:  Access to course notes at http://voyager.deanza.edu/~bentley/cis29/CIS29.pdf

 

Assignments:  There will be six 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.  Five assignments will be used for your grade. Your assignment with the lowest grade will be discarded.

 

Group Project:  A group project is required.  It will involve a game specified by the instructor. Each group will consist of 4-6 students. 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 must hold at least 4 group meetings and the leader will submit meeting reports. 

 

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

 

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, debug programs, clarify assignments, and help with the group project.

 

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

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 2019 - Joe Bentley

 

 

Week

Tuesday

Thursday

1

Introduction

Review

 

Review

Conversion operators, explicit constructors

Overloading new and delete

C++ 11/14/17 Features

2

Typedef, using, typeid

C++ casts

 

Assignment 1 due

Binary File I/O

3

Building and Using Libraries

Static libraries

 

DLLs, Shared Libraries

SFML library

 

Group Meeting Report 1 due

4

string class

stringstream classes

 

Assignment 2 due

I/O Manipulators

Bitwise operators & bit manipulation

 

5

Inheritance, Polymorphism

Dynamic cast

Multiple Inheritance, Common ancestors

Exception Handling

 

 

Group Meeting Report 2 due

6

Namespaces

 

 

Assignment 3 due

MIDTERM

 

7

Function Templates

Class Templates

Hash tables

 

 

Group Meeting Report 3 due

8

STL

array, vector, list, forward_list

 

Assignment 4 due

STL

stack, queue, deque, priority_queue

 

9

STL

set, map, multi_set, multi_map, bitset

STL

Algorithms, Function objects, auto_ptr

 

Group Meeting Report 4 due

10

Lambda expressions, functions

 

Assignment 5 due

Group Project Presentations

Regular Expressions

 

 

Group Project Presentations

11

Multithreaded programming

 

 

Group Project Presentations

Style Guidelines

 

 

Group Project Presentations

12

FINAL

 

 

Assignment 6 due

 

 

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