Object-oriented programming Part 1


Course ID

OOP1

Instructor

Cost

$384 AUD including GST for 16 hours.

Summary

Most, if not all general and basic object-oriented programming concepts are discussed. While the programs are C++, NO C++ specific features are discussed like friend functions, operator overloading, cpp11 features, specific algorithms or any production quality code is/are discussed, but the emphasis is on very generic object-oriented concepts which are applicable to any object-oriented language like C# or Java. Like Part 1, Part 2 and part 3 this is also Programming language and computer platform agnostic. Part 1 and Part 2 is a must-have for this course, while part 3 is highly recommended. While the default flavor of this course is in C/C++, this is also conducted in Python 3.0, Java, C# and JavaScript.

Prerequisites

Must have Computer programming fundamentals part 1. Computer programming fundamentals part 2. Highly Recommended. Computer programming fundamentals part 3 - Programming Logic. You will not be eligible to independently participate in this course unless you have attended the “must have” courses. Students should bring a laptop preferably with a windows 7 or later OS. We will be using “Visual Studio Code” with “Mingw compiler” for all practicals ( windows port of gcc ).

Contents

Hour 1 - Introduction to object oriented programming.

Custom data types revision. init, members and access to it

Hour 2 - Coding - class public private.

Basic getter and setter of a Date class.

Hour 3 - Reference variables

About reference variables and concept of pointers, new, delete or garage collect, stack and heap. passing between function

Hour 4 - Coding references in action

Looking at the address inside reference variables. function calls with reference variables.

Hour 5 - Exception handling.

Concept, error and exception, try catch, exception objects. catch all. throw.

Hour 6 - Exception handling coding.

Programs with exception handling and error handling.

Hour 7 - Nesting objects and statics.

‘Has a’ relationship and static variables.

Hour 8 - Coding

Static variables and nesting of objects.

Hour 9 - Inheritance

‘Is a’ relationship. The concept of deriving a class from a base class. Purpose.

Hour 10 - Coding Inheritance.

Base class, derived classes. Calling of methods and accessing variables.

Hour 11 - Running time polymorphism.

Function overloading, Polymorphism and concept of interfaces.

Hour 12 - Coding polymorphism

Virtual functions implementation.

Hour 13 - Generic Programming

Templates. Function and class template.

Hour 14 - Coding Generics

Templated programs and using them.

Standard template library. Common containers. Usage patterns and advantages.

Exploring programs using STL vector, map, set, list, string.

Hour 16- Program 8 Coding

Student and sports group.

Duration

16 hours

Level

2

Setup

Students should bring a laptop preferably with a windows 7 or later OS. We will be using Visual Studio code with Mingw compiler ( windows port of gcc ). Mac and Linux also acceptable while Windows is highly recommended to maintain the uniformity. Mac and Linux users please follow this before coming for the training.