Working with value types
In part 1 of this course you learn about the basics of working with value type objects and how to make your own.
Let's talk structures: learn how
In this challenge you will create an object containing data that you want to print on the screen.
] In this episode, you are introduced to the concept of methods and how to define them on your objects.
Challenge Time! In this episode you will try to write your own first method. Give it a shot!
Let's talk tuples: here you learn how to use tuples to return multiple values from a single method.
This episode introduces you to the concept of properties and how they can save you time while writing code.
Challenge Time! Your task in this episode is to write your own custom attribute to set and gain values.
Let's talk about constructors. In this episode, you will be introduced to constructors and find out how to use them.
Challenge Time! In this challenge, write your own constructor to set the values of a score.
In this episode, you are introduced to namespaces and how they are useful in preventing namespace collisions.  11
Now that you have an understanding of value type objects, it is time to move on to part 2, where you learn about reference objects.
Working with reference types
Welcome to Part 2! Here you learn about reference types and how they are controlled differently in memory.
This episode shows how to create a reference type object using the class, and shows the difference between value type objects.  14
Inheritance allows you to inherit code from other objects, which can be quite powerful to avoid reuse.
Challenge Time! Are you ready to make a family of objects? This challenge will start.
This episode introduces the concept of congestion – you learn to create two methods of the same name.
Sometimes you have to override your parents method to give your own. This episode shows how.
Learn the difference between a normal class and abstract class, and the implications of being abstract.
This episode shows the difference between a class designer and a structure constructor, and what it means to have a constructor chain.
This episode introduces the static keyword and how it can be used to define class level variables.
Interfaces allow you to define behaviors that the classes must implement. Watch this video to find out how!
This episode teaches you what it means to be polymorphic and how you can use it to make your code dynamic.
The course is finished! You should now have a good understanding of objects and how to use them to improve your code.