Pre-requisite(s)
Computer Programming (CS-1123)
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
Final Exam |
Assignments |
Surprise Tests/Quizzes |
Project |
Midterm Exam |