CS162 | Object Oriented Programming
- Rating: 4.85
- (439)
Course overview
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
- Classes
- 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
- Inheritance
- Base Classes and Derived Classes, Constructors and Destructors in Derived Classes, “Uses A” and “Knows A” Relationships, Public, Protected and Private Inheritance
- Polymorphism
- 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 program
This 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.Lessons | Name | Description | Duration | Week | Slides |
---|---|---|---|---|---|
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 |