Course Catalogue

Module Code and Title:       CPR202          OOPS using C++

Programme:                          BCA

Credit Value:                         12

Module Tutor:                       Libni Thomas

General Objective: This module provides students with a basic knowledge of object oriented programming concepts. Students will gain confidence in their ability solve a variety of problems supplied using the OOP concept. The module also makes students analyse the advantages and disadvantages of object oriented programming using C++. Students will gain an ability to make basic utilities using OOP in C++, which will facilitate students in readily picking up other object-oriented languages in the future.

Learning Outcomes – On completion of the module, learners will be able to:

  1. Differentiate between the structural programming language C and the Object-Oriented Programming language C++.
  2. Evaluate and decide on the most suited programming approach for solution development to a specific problem.
  3. Evaluate problems in terms of OOPS methodology.
  4. Develop problem solutions in the form of UML diagrams.
  5. Use OOPS concepts to create reusable code.
  6. Use library functions and classes in develop programs.
  7. Create basic utilities using OOPS concepts in C++.

Learning and Teaching Approach:

Approach

Hours per week

Total credit hours

Lecture & discussions

3

45

Lab practical

3

45

Independent study

2

30

Total

120


Assessment Approach:

A. Individual Assignment: Portion of Final Mark: 10%

Students should submit two assignments of size 700 words each, related to Classes and Objects, and constructor and destructor to obtain this 10%. First one will be before the midterm and it constitutes 50% of the total 15% allocated. They will be doing a task based on topics from Image Editing Software. 40% will be awarded for solving the problem, 40% for analysing the problem and 20% for the overall report.

B. Class Test: Portion of Final Mark: 20%

This is a written test conducted within the class for duration of 30-40 minutes. There will two such tests, one before midterm comprising of topics from the beginning to the quarter point of the subject matter and the other after the midterm comprising of topics from after the midterm to quarter pointer after midterm. Each of these test requires the students to answer/solve 4 questions/problems.

C. Interactive Quiz: Portion of Final Mark: 5%

This consists of two interactive short class quizzes of ~10 min. duration, mainly emphasizing analytical and “tricky” problem solving. The principal concept behind this short quiz is to help the students in analysing actual problems and formulating solutions effectively and rapidly.

D. Lab Practical Exam: Portion of Final Mark: 20%

Two practical tests will be conducted, including writing programs on object oriented programming topics like class, objects, etc. in C++ language in a lab. Use of proper syntax, functions, program structures, data files etc. in C++ language related to OOPs concept. It is a hand-on testing of the programming skills of individual students. 35% will be awarded sub tasks completed, 35% Techniques used for each sub task, 10% for timing and 30% for output.

E. Midterm Exam: Portion of Final Mark: 20%

This a college wide examination conducted at the half-way into the semester. This examination is conducted for 1 hour and 30 Minutes and it includes all topics till the half-way point in the subject matter.

Areas of assignments

Quantity

Weighting

A. Assignment

2

10%

B. Class Test

2

20%

C. Interactive Quiz

2

5%

D. Lab Practical Exam

2

20%

E. Midterm Exam

1

20%

Total Continuous Assessment (CA)

 

75%

Semester-end Examination (SE)

 

25%

 

Prerequisites: CPR101, CSC102

Subject Matter:

  1. Introduction
    • Object Orientation
    • Object oriented development
    • Object oriented Methodology
    • Object oriented Models
    • Object oriented themes
    • Modelling
    • Objects and Classes Concepts
    • Links and association in UML
    • Generalization and Inheritance in UML
      • State Modelling
      • Interaction Modelling
  1. Object Oriented language C++
    • Basic concept of object oriented programming
    • Benefits of oops-Structure of C++ Program Basic concepts
    • Derived and user defined data types
    • Symbolic constants
    • Operators in C++
    • Control Structures
    • Functions in C++
    • The main function
    • Function declaration/prototyping
    • Call by reference-return by reference
    • Inline function
    • Function overloading- friend functions and virtual functions.
  2. Classes and Objects
    • Creating a class
    • Defining member functions
    • Nesting of member functions
    • Private member functions
    • Arrays within a class
    • Static data members
    • Static member functions
    • Arrays of objects
    • Objects as function arguments
  3. Constructors and Destructors
    • Parameterized Constructors
    • Multiple constructors
    • Copy constructor
    • Dynamic constructor
    • Destructors
    • Operator overloading & Type conversions
  4. Inheritance
    • Defining derived classes
    • Single, Multiple, Multilevel, Hierarchical and hybrid inheritance
    • Private, public, protected inheritance
    • Virtual base classes
    • Abstract classes
    • Constructors in derived classes
    • Nesting of classes
  5. Pointers- Virtual functions and Polymorphism
    • Pointers to objects
    • This pointer, pointer to derived classes
    • Virtual functions
    • Pure virtual functions
    • C++ streams
    • Stream classes
    • Unformatted and Formatted console I/O operations-
    • Managing output with manipulators
    • Manipulating strings
  6. Practical Components
    • Practice session for C
    • Transition from C to C++
    • Program to exchange the contents of two variable using call by reference
    • Sort an integer array
    • Looping concept
    • Demonstrate IF and else If condition.
    • Creating Abstract class
    • Demonstrate the public, protected and private parameter
    • Use of Constructor and Destructor; copy constructors
    • Demonstrate the static data member
    • Demonstrate contractor call in the derived class
    • Demonstrate destructor call in the derived class
    • Implementation of inheritance, method overloading and overriding, and information hiding
    • Create a file
    • Append the content of the file
    • Application Inheritance
    • Application of Virtual functions and Polymorphism
    • Software to be used: Turbo C++ & Borland C++

Reading List:

  1. Essential Reading:
    • Blaha, M., & Rumbaugh, J. (2005). Object-oriented modeling and design with UML (2nd ed.). Pearson Education.
    • Balaguruswamy, E. (2013). Object Oriented Programming with C++ (6th ed.). McGraw - Hill Education India Pvt.
    • Schildt, H. (2003). C++ The Complete Reference (4th ed.). McGraw Hill Education (India) Private Limited.
    • Stroustrup, B. (2008). The C++ programming language (1st ed.). AW Professional.
  2. Additional Reading:
    • Kanetkar, Y. (1999). Let Us C++. BPB Publications.
    • Shukla, R. (2008). Object- Oriented Programming In C++. Wiley India Private Limited., Wiley India.2008 Edition
    • Venugopal, K. (2013). Mastering C++ (2nd ed.). McGraw Hill Education (India) Private Limited.
    • Lippman, S. (2007). C++ PRIMER 4e (4th ed.). AW Professional.

Date: May 30, 2015