CS162 | Object Oriented Programming
- Rating: 4.85
Introduction to object-oriented concepts, analysis and development using C++, Object oriented problem solving, program design process, classes, methods, objects and encapsulation. Operator & function overloading, virtual functions, derived classes, inheritance, polymorphism and Design Patterns. Become familiar with breaking down a problem into objects rather than procedures. Learn object-oriented programming in C++, Learn what is available off the shelf to facilitate C++ development (tools, libraries)
What you will learn
CLO-1 Describe key concepts of object-oriented programming paradigm (C1 - Remembering).
CLO-2 Interpret real world problems in terms of objects rather than procedure (C2 - Understanding).
CLO-3 Apply object-oriented programming principles to implement small and medium scale C++ programs with simple graphical user interface (C3 - Applying).
- Data Abstraction
- Introduction, Structure Definitions, Accessing Structure Members, Implementing a User-Defined Type Time with a struct
- Abstract Data Type, Constructors, Destructors, Set and Get Functions, Friend Function, New and Delete
- Operator Overloading
- Fundamentals of Operator Overloading, Overloading Stream, Unary and Binary Operators, String Class, Vector
- Base Classes and Derived Classes, Constructors and Destructors in Derived Classes, “Uses A” and “Knows A” Relationships, Public, Protected and Private Inheritance
- Inheriting Interface and Implementation, Polymorphism, Virtual Functions and Dynamic Binding, “Under the Hood”, Virtual Destructors
- Templates and STL
- Function and Class Templates, Static Members, STL Containers, Sequence and Associative Containers, Container Adapters
- Exception Handling
- Error-Handling Techniques, Divide by Zero, Processing Unexpected Exceptions, Stack Unwinding, Dynamic Memory Allocation
- Design Patterns
- MVC, Roles, Interface-vs-Implementation, Factory Method, and Singleton Design Pattern, Iterator and Composite Design Pattern
Course programThis course teaches object-oriented programming to those who have learnt basic programming concepts and are ready to learn in-depth programming. It focuses on object-oriented programming using C++. The main concepts discussed are: Objects, Data Abstraction, Data Encapsulation, Polymorphism, and Inheritance. We teach the C++ language constructs that are used to implement these concepts. For example, Classes, Overloaded Operators, Overridden Methods, Friend Functions, Virtual Functions, and Templates.
|1||Pointers and Strings||Bubble Sort, Card Shuffling||3 hours||1||OOPS1401|
|2||Data Abstraction||Implementing Time ADT||3 hours||2||OOPS1402|
|3||Classes||Composition, Friend Functions, This Pointer||6 hours||3,4||OOPS1403|
|4||Operator Overloading||Overloading Stream-Insertion and Stream-Extraction||6 hours||5,6||OOPS1404|
|5||Inheritance||Base and Derived Classes||6 hours||7,8||OOPS1405|
|6||Polymorphism||Derived Class Pointer via Base Class Pointers||6 hours||9,10||OOPS1406|
|7||Templates||unction Templates, Class Templates||6 hours||11,12||OOPS1407|
|8||Exception Handling||Divide-By-Zero||3 hours||13||OOPS1408|
|9||Standard Template Library||Iterator, Vector and Containers||6 hours||14,15||OOPS1409|