Ratings & reviews

This course does not have any reviews.
Your review could be the first one.


Complete all chapters to get certificate


Additional Structures & File Handling


In this section we will learn data structures like Lists and Dictionaries. We will also learn how to read and write files. In the end we will look at how to deal with unexpected errors which can occur during the program's execution.

What are Lists?

Practicing List Declaration

List Methods

What are Dictionaries?

Practicing Dictionaries

Reading Files using StreamReader

Reading Files using File Methods

Writing Files

Error Handling

Practicing Error Handling

Structs & Enumerators


In this section we will learn about some more advanced structures for storing data, namely Structs and Enumerators. We will learn how to use them and we will look at some practice examples as well.

What are Structs?

Defining & Using a Structure

Practicing Structs

Structs with Other Data Structures

Struct Methods

Correctly Accessing Fields in Struct Methods

Practicing Methods

Struct Constructors

Practicing Constructors


Practicing Enumerator

Introduction to Object-Oriented Programming (OOP)


In this section, we will learn what Object-Oriented Programming (OOP) is and how we can create programs that use the concept of OOP. We will also practice this concept with many hands-on tasks that are fun to solve.

What is Object-Oriented Programming?

Defining Classes

Practice: Creating Classes

Class Objects

Class Objects vs Struct Objects

Practice: Objects

Class Methods

Practice: Methods

Class Constructors

Practice: Constructors

OOP Essentials


In this section, we delve deeper into the essentials of Object-Oriented Programming (OOP). We explore advanced topics to enhance your understanding and proficiency in OOP. From managing object lifecycles through destructors to refining class structures with access modifiers, and harnessing the power of derived classes and method overloading, this section equips you with the knowledge and practical skills needed to design robust and flexible object-oriented systems.

Derived Classes

Derived Classes Practice

Common Access Modifiers

Access Modifiers Practice

The `static` Keyword

Practicing `static` Keyword

Method Overloading

Method Overloading Practice

OOP Principles


This will be a detailed chapter in which we will dive deep into the main principles of Object-Oriented Programming (OOP). We will also look at many practical applications and hands-on examples of these principles to understand them better. In this section we will revise some of the concepts from the previous section in a bit more detail and combine the concepts together to understand it more thoroughly.

What are the Principles of OOP?


Practicing Inheritance


Practicing Polymorphism


Encapsulation Practice


Abstraction Practice

What's Next?