
This course includes our updated coding exercises so you can practice your skills as you learn.
See a demo
Learn Java from basics to object-oriented concepts, covering variables, loops, conditional statements, user input, and operators, then advance to methods, classes, and constructors, and explore inheritance and polymorphism.
Learn to declare Java variables with primitive and non-primitive datatypes, including int, long, short, byte, double, String, and boolean, and print values with System.out.println using concatenation.
Write a Java program that reads inches and converts to meters using 0.0254, using doubles for decimals. Test with 1000 inches to verify results.
Explore how loops in Java automate repeated tasks, using while and for loops to execute a block of instructions multiple times with initialization, conditions, and increments.
tackle two loop challenges in java for complete beginners: display the first few natural numbers and sum odd numbers, then generate a height-based triangle using nested loops.
Explore conditions in Java with if statements, else branches, and switch constructs, including equality versus assignment, and practical examples like comparing numbers and using break.
tackle the conditions challenge in java for complete beginners by using if statements and the or operator to determine days in a month (28, 30, 31) and handle invalid inputs.
Learn arrays as a data structure in Java. Create arrays with fixed size or initialized values, access elements by zero-based indices, and print all elements with a for loop.
Explore arrays challenges in Java by locating an element's index with a for loop, copying string to duplicate with a while loop, and finding max and min in double array.
Master Java's arithmetic and logical operators, including modulo and division, and learn to compare values. Use a scanner to read user input for name, age, and favorite animal.
Practice reading user input with a scanner, cast doubles to integers, and use substring with a random index to build a fictional city name.
Learn how Java methods group code, accept parameters, return values, and are called, with addition and a minimum finder example, plus static versus instance and public versus private.
Explore Java fundamentals by comparing classes and objects through a vehicle analogy, defining templates with attributes and behaviors, creating instances, and understanding public and private access and methods.
Explore how constructors initialize new objects in Java, set default and custom values, differentiate between local and instance variables, and use private and public access modifiers.
Explore constructors, and practice encapsulation with getters and setters in Java, learning how private fields like size and color are accessed and modified through public methods.
Explore interfaces in Java by defining method signatures, understanding visibility, and implementing interfaces in classes with real-world analogies like dogs and cats.
Learn the basics of inheritance by comparing parent and child classes, sharing attributes and methods, and exploring method overriding with a basic and an advanced calculator example.
Explore polymorphism in Java by seeing how objects can take many forms through inheritance, method overriding, and dynamic polymorphism, with examples using person and employee classes.
Encapsulate class members to control access to private data and protect internal state. Use validations to prevent invalid changes, such as negative age or unauthorized balance updates, via controlled access.
Learn how composition models has-a relationships in Java, distinguishing is-a from has-a, and implement with job and person classes, constructors, getters, setters, and salary validation.
Explain abstraction and abstract classes in Java, compare them with interfaces and abstract methods, and show why you cannot instantiate an abstract class and how subclasses implement its methods.
Q: What will I learn in this course?
Ans: You will learn the fundamentals of Java. We will initially learn about variables, conditions, loops, arrays, operators, and user input. Then we will take a closer look at classes, objects, and methods. Finally, we will go over the fundamentals concepts of Object-Oriented Programming: Inheritance, Encapsulation, Polymorphism, and Composition.
We will not merely glance over these topics but get a thorough understanding of what they are, how they work with each other, and what role they play.
Q: How will this course be taught?
Ans: The videos will compromise of two parts: paper and computer. We will not directly dive into coding but rather gain an understanding of what the concept is and why it is important (on paper). Then we will move to the computer where I will lay out the syntax of the concept for you and give you ample examples and mini-challenges to strengthen your understanding of the concept.
Additionally, I will link a document for each video which will go over what we learned and will include additional resources for you to check out. I will also link the source code for each video.
Once you have a good understanding of the concept, there will be a video where I will present you with multiple challenges at the start of the video and spend the rest of the video solving each challenge I presented, explaining every line of code and the general logic of the solution.
By the end of this course, I hope that you have a good grasp of the concepts introduced in this course and are able to utilize them effectively.