BACKEND
Learn how to repeat tasks automatically using loops to make your programs efficient.

Learn how to make your program decide what to do based on conditions.

Understand and use variables (placeholders for values) and data types (what kind of value a variable can hold).

Get your development environment ready and write your very first C# program (Hello World).

In this lesson, you’ll learn the difference between inheritance (an "is-a" relationship) and composition (a "has-a" relationship), and when to use each. Understanding these concepts helps you design more flexible, maintainable, and decoupled systems.

In this lesson, you'll learn how the Object class—the root of Java’s class hierarchy—provides core methods like toString(), equals(), and hashCode(). You’ll also understand how and why to override these methods to make your classes more useful and readable.

In this lesson, you’ll learn what constructors are, how they work in Java, and how to use constructor overloading to give your classes more flexibility when creating objects.

In this lesson, you’ll learn about Abstraction, a core principle of Object-Oriented Programming. Abstraction helps hide internal implementation details and exposes only the essential behavior of an object.

In this lesson, you'll explore Polymorphism, a powerful concept in Java OOP that allows objects to take many forms. Polymorphism enables flexible code that can work with different object types through a common interface or superclass.

