Pre-requisite(s)
Computer Programming (CS-1123)
Computer Programming Lab (CS-1121)
Recommended Book(s)
Introduction To C++ Programming, Comprehensive Version, By Y. Daniel Liang
Object-Oriented Programming In C++ Author: Robert Lafore, Fourth Edition
Reference Book(s)
C++: How To Program (Fourth Edition), Deitel & Deitel, Prentice-Hall.
An Introduction To Object Oriented Programming, Timothy Budd, Second Edition
COURSE OBJECTIVES
Emphasis this course is on intensive study of object-oriented programming using C++. Abstract data types, object instantiation, inheritance, polymorphism, composition, member access control, templates, overloaded operators, exception handling, use of C++ headers, and class libraries will be studied.
COURSE LEARNING OUTCOMES (CLO)
Course Objectives
COURSE CONTENTS
Introduction and Revision:
- Introduction of the course
- Overview of Structured Programming using C++
- Pointers Revision
- Introduction to classes and Object Oriented Concepts
Creating classes:
- Function Overloading, C++ Constructor & Destructor.
- Importance of Destructor, Calling sequence of Constructor & Destructor for multiple objects.
- Preventing changes in data members from a method: const method.
- Pointer to Object; Object as argument to function (call by value & call by reference)
Composition of classes:
- Composition
Friend classes and functions:
- Friend functions
- Friend class
Operator overloading:
- Operator Overloading
- Binary Operator NOT receiving Instance of class as 1st operand
- Overloading Binary Operators for I/O stream
- Overloading Unary Operator: as member, as non-member
- Unusual Operators: ++, –, [ ] (set & get, both versions), type-cast
Inheritance in OOP:
- C++ Inheritance Concepts
- Introduction to Java
- Constructors, Destructors, Inheritance in Java,
- Relationships in OOP
- C++ Multiple Level Inheritance, Multiple Inheritance
Virtual classes and Polymorphism:
- Virtual inheritance
- Polymorphism in C++ and Java
- Virtual Functions
Streams:
- C++ Streams
- Java Streams
- C++ and Java Streams
Template classes and functions:
- Function Template
- Class Template
GUI and Exceptions:
- Java GUI Handling
- C++ and Java Exceptions
- Unhandled Exception
- Revision of Course
MAPPING OF CLOs TO ASSESSMENT MODULES
Quizzes
Assignments
Midterm Exam
Final Exam