Once we cover the idea of classes and objects, you are to be introduced to the basic OOP principles - encapsulation, inheritance, abstraction and polymorphism, The lectures are structured in a way to let you move in pace with the instructor, applying everything you have just seen by yourself. The logic of every piece of code is to be explained in details. Once the theoretical part cover, you'll complete 3 more projects, by yourself, as I'll be guiding you on the way. Nowadays, every programmer needs to be aware of what OOP is and how it is applied - so, why not making the first step now?
What is the difference between a class and an object? Why do we need them in programming?
What are fields? How do we store data in our class? How do we attribute values to data fields?
What happens when you try to print your object? What does is mean? What is METHOD OVERRIDING?
What is a constructor? How many types of constructors are there? What is THIS? How to define constructors' parameters and attribute them values?
How to avoid rewriting code within our constructors?
Definition of encapsulation. Why is encapsulation needed? How is this principle applied in real world?
How is Encapsulation achieved in practice? The role of access modifiers, placed in front of different elements. Why are restrictions needed?
How to validate the data our project takes as input? How to change the flow of the programming, in order the validation to take place? How to add error message if validation is not passed and to handle it?
Inheritance - definition. Where can we see an example of inheritance in the world around us? How is the idea transformed in programming? What is a SUPER class and SUB classes?
Create an application: Person-Adult
The building of a project - step by step. What does EXTEND mean and when to use it? How to format the output as we were asked to print it?
Definition of abstraction. Abstraction around us - real world examples.
What is an abstract class? How is it defined? How and why to use it while crating our programs? What are abstract methods? How do they differ from other methods?
Build your own project: School hierarchy
Building of a section project - step by step logic explained. How to add methods, how to handle abstract methods?
Polymorphism - definition, where can we see it in real world? Why is it needed?
How is polymorphism achieved in practice? What are the programming benefits of applying it?
I have been teaching for seven years now, always inspired by the enthusiasm of people, acquiring new knowledge. Keep It Super Simple - the basic principle to follow, every complex theory or concept turns out clear and easily applicable. Currently, I am a technical writer and an Android developer, aimed at creating educational software products.
Before going into technology, however, I have been teaching English as a foreign language for more than 7 years. Teaching is what my passion remained - as people need to be explained, to be shown, to be helped to start speaking. I have been preparing students for the Cambridge FCE and CAE exams for more than 4 years. At the same time, my adult student have been on various levels - starting from the alphabet (A0) to being advanced (C1 level).