Community College of Baltimore County

School of Applied and Information Technology

FALL 2008

CINS 227 CH1 (94716) Object Oriented Programming Using C++

XLIST CMSC CH1 (94717) Computer Science II for Majors    

 

Instructor: Charles Dowling, Assistant Professor                Office : CAT H-119

Phone  : 410-455-4306

Email  : cdowling@ccbcmd.edu

Class : M,W  1430- 1620 CAT – E 208 ,Lecture/Discussion/Laboratory to be combined)

Office Hours :  M,W 1330-1430; 1630-1730

TextBook: Savitch, W; PROBLEM SOLVING WITH C++

 

Description

Object Oriented Programming Using C++ is a course in the Object Oriented Programming (OPP) paradigm using the popular C++ Programming Language.  Object Oriented programming techniques such as data encapsulation, constructor and destructor functions, polymorphism, inheritance, and virtual functions will be studied.  Topics such as operator and function overloading, dynamic memory allocation, and input/output techniques will also be explored.

Prerequisite: CINS 225,CMSC 201

 

Overall Course Objectives

 

Upon completion of this course the student will be able to:

 

A.     Design, code, and debug C++ programs

B.     Describe the principles of Object Oriented Programming

C.     Design programs using Object Oriented Programming techniques

D.     Describe and implement classes

E.     Define and utilize overloaded operators

F.      Explain and describe examples of encapsulation, polymorphism,aggregation, composition and inheritance

 

 

 

Major Topics

 

A.     Review of C functions, pointers, and data structures

B      C++ Extensions to C

C       Object – Oriented Programming Concepts 

1.           Abstraction

2.           Encapsulation

3.           Inheritance

4.           Aggregation and Composition

5.           Association

6.           Polymorphism

D      Classes

E.     Constructors and destructors

F.      Overloading operators

G      Friend functions

H      Inheritance

I       Polymorphism and virtual functions

J       Aggregation and Composition

K      Templates

L.      Exceptions

 

 

 

Grading :

 

        Grades will be awarded based on 100 possible points :

                2  Major Projects   (25 pts)             50

                2  Tests                                       50

       

Schedule of Topics 

        Meeting             Topic

       

        I               Review of C - 1

                             Chapters 1-5 : C++ Basics

                               

        II              C++ Pointers

                        Quiz on C++ basics.

                        Chapter 12- function definition/declaration;

                       

        III             ADTs

                        Chapter 6

                        Structs, unions, dynamic Arrays

                        Concepts : Class and Object Relationships                      

 

        IV             Introduction to Object Oriented Implementation

                        Chapter 6

Quiz on Functions and Pointers

                        Objects , Classes, Instances , Methods

                        Classes and member functions.

                       

       

V              Constructors and Destructors

                        Chapter 6, 8

Friend function. Special Classes. 

                       

               

        VI             Big Quiz and Problem Workshop.

 

        VII            Overloading

                             Chapter 8

Arithmetic, relational and compound

                        operators; mixing classes and built in data types.

                        The extractor and inserter operators.

 

        VIII           Copy and Replicate operations.

                        Typecast Overloading.

                       

 

        IX             Inheritance and protection override.

                        Chapter 16

                        Quiz on class basics

                        The limits of inheritance. Base Classes.  

                       

        X              Data Composition and decomposition.

                       

       

        XI             Quiz and Special Topics Problem Workshop

 

        XII            Virtual Functions and Polymorphism.

                        Chapter 16

                        Line and function binding.

                        Larger Project management.

 

        XIII           Templates and Containers.

                        Chapter 14

                        Simple File I/O , review.

                       

        XIV           Review of class material.

 

        XV            Final Exam