BCC - Fall 2013 Syllabus
Course Name : CIS-255 Object Oriented Programming in C++
Instructor: Igor Kholodov Igor.Kholodov@bristolcc.edu
Office: K211
Telephone: 508-678-2811 ext. 3328
URL of this file: http://www.c-jump.com/bcc/c255c/c255syllabus.htm

Catalog Description

C++ is a widely used programming language for application development. In this course, the students learn a language that has many practical uses in the real world. The course introduces C++ syntax and functions not found in the traditional C. The fundamental concepts of the object oriented paradigm are introduced and object oriented programming is stressed in place of traditional structured programming. Object arrays, pointers to objects, and linked lists of objects are the focus of the class. Three class hours a week.

Introduction

This course is designed to enable C programmers to become proficient in C++. Topics include class definitions, overloading functions and operators, access control, single and multiple inheritance, virtual functions and abstract classes, templates, exceptions, and the standard template library. Useful applications such as smart pointers and reference counting are also discussed. Prerequisites: a working knowledge of C, including structures and pointers, is assumed; substantial experience in C is preferred.

Course Objectives

At the completion of the course, the students will understand the concepts and be able to write basic C++ programs that make use of the following:

Prerequisites

Prerequisite: CIS-155 or permission of the instructor.


Tentative schedule of classes, projects, and assignments


  1. New topics: memory - pointers - arrays - classes - OOP conepts

    Assignment 0: Refresh your memory on the following topics:


  2. Encapsulation, struct, access specifiers, scope management, function overloading, and friends.


  3. Constructors, destructors, new, delete, references.


  4. Constructor initializer lists and const qualifiers


  5. std::string


  6. Substring assignment review


  7. Linked Data Structures


  8. Operator overloading, conversion constructors, conversion operators.


  9. Inheritance.


  10. Namespaces.


  11. C++ Templates. Template classes and functions.


  12. C++ Standard Library containers, iterators, and algorithms,.


  13. Exception handling.


  14. Object-oriented design.


  15. Final Project Assignment: Project 2/Part 2, Overloaded substring operators


Other useful topics and recommended reading:

Recommended Textbook

Programming Principles and Practice Using C++
by Bjarne Stroustrup
Publisher: Addison-Wesley
1st Edition:
ISBN-13: 978-0321543721

The textbooks are available in the bookstore.

Note: This is a suggested course outline and will be generally followed, subject to change according to the instructor's discretion and needs. Academic flexibility is important.