
Explore the essentials of Java programming, what to expect from the course, setup options for Linux, OSX, and Windows, and free resources like GitHub code, YouTube live sessions, and quizzes.
In this tutorial we cover the basic concepts of Java. You will learn what is Java and how it works.
In this tutorial we will go through the setup of our working environment on Linux.
In this tutorial we will go through the setup of our working environment on Windows.
This tutorial covers comments in Java. You will learn what types of comments exist in Java, what they are used for, how they work, and how to write comments.
This tutorial introduces variables and keywords. You will learn what variables are, how to declare and work with them. You will also learn about reserved keywords in Java.
This is the second part of the tutorial on variables and keywords.
This is the last part of the tutorial on variables and keywords.
This tutorial explains what arithmetic operators are, how they are used in Java, and what they are used for in general.
In this tutorial we cover relational operators, their meaning and use.
Another type of operators that exist in Java and other programming languages are logical operators and they are covered in this tutorial.
This tutorial explains assignment operators, what they are and what their purpose is in the code.
In this tutorial you will learn in what order operations are executed.
Engage with the first chapter quiz to practice declaring int, double, and char variables, write comments, print results, and compare values for self-assessment with provided solutions.
Explore building a Java project, defining and initializing int, double, and char variables, and printing results with System.out.println. Learn how char arithmetic uses ASCII codes.
This tutorial explains conditionals in Java. You will learn the concept of conditionals, why we need them and how they affect the flow of program execution.
In this tutorial we go over the if else statement, its syntax and use.
This is the last tutorial on the if else statement.
In this tutorial we learn about an alternative way of writing conditional statements. You will learn what switch statement is, its syntax, and when it is used in the code.
In this tutorial we summarize what we have learned about conditional statements in Java.
Master Java programming by implementing a program that assigns letter grades from exam points 0-100 using if-else and scanner input.
Modify the existing Java code to implement a scale-based grading system using nested conditionals, with plus/minus grading for a, b, c, and special handling for d and f.
Add a grade variable and use a switch statement to generate comments such as excellent, well done, needs more work, or failed, mapped to A+, A, A-, B, C, D.
Write a Java program that assigns a grade from 0–100 points using a scanner and if/else logic to map ranges to f, d, c, b, and a.
Modify the Java code to implement task 2, enabling plus and minus grades with range-based logic and nested if-else, validating 0–100 points and producing the correct letter grade.
Demonstrates building a Java grade comment system with a switch statement on a char grade, including cases A, B, C, and a default fail.
This tutorial explains loops in Java. You will learn the concept of loops, why we need them and how they affect the flow of program execution.
In this tutorial we introduce the first type of loops in Java. We will learn how to write a for loop and how it executes.
This is the continuation of for loops.
Another loop that exists in Java programming language is the while loop and we cover it in this tutorial. You will learn its syntax and the way it executes.
The last loop in this chapter is the do while loop. You will learn its syntax, when it is used, and how it is executed.
This tutorial summarizes what we have learned in this chapter.
Explore quiz task 1 in the Java programming course, prompting a user for a number and determining if it is a prime, with explanations and upcoming tasks.
Learn to print a Fibonacci sequence in Java by prompting the user for how many numbers to display, starting with 0 and 1 and summing the previous two terms.
Prompt the user to enter an integer and count its digits. For example input 1 2 3 yields four digits, and input 1 2 3 1 1 1 yields three digits.
Learn to prompt a user for a number and print its reverse, including optional hard-coded inputs, practicing input and reverse logic in Java.
Write a Java program that prompts for a number and checks if it is prime using a loop up to the square root, with modulus checks and a boolean isPrime.
Demonstrate a prime check and a Java program that prints the first n Fibonacci numbers using a for loop and 0, 1 initial values.
Count the digits of an integer by repeatedly dividing by 10 and incrementing a counter, illustrating integer division, remainders, and loop termination.
Present a solution to quiz 4 by reversing an integer using a loop that takes modulus 10, stores remainders in a temporary variable, and builds the reverse number.
This tutorial introduces the concept of arrays in Java. You will learn what arrays are, how to declare them, and what they are used for.
In this tutorial we explain arrays through examples.
This is the continuation of the tutorial on arrays.
In this tutorial we learn about different types of arrays that exist in Java. Namely, we talk about how to matrices, how they are created and used.
This tutorial is a summary of concepts we learned in this chapter.
Write a program using arrays that reads an integer and counts digit occurrences. Print the digit with the highest frequency.
Move all zeros to the end of an integer array while preserving the order of non-zero elements, implemented in Java for a practical programming quiz.
Input an integer, extract digits into an array of size 10 using modulus and division, then identify the digit with the highest occurrences and print it.
Develop a step-by-step approach to sorting by moving zeros to the end with a for loop and a nested loop, employing a three-variable swap and printing the array.
In this tutorial we introduce the concept of classes in Java. You will learn about Object Oriented Programming in this chapter and build on it in the next chapter.
This tutorial explains access modifiers in OOP.
This is the first of the three tutorials in which we cover concepts of constructors, methods, and return types in OOP.
This is the second part of the previous tutorial.
This is the last part of the tutorial on constructors, methods, and return types.
In this tutorial we cover what getters and setters are in OOP, how they are created and used.
This tutorial explains constructors in more detail.
Create a student class with personal and academic fields, implement getters, setters, and constructors, and provide an enroll method to populate them, plus gpa, grade validation, and id verification.
Build a Java student class with private fields for first name, last name, date of birth, address, phone, email, student id, and GPA; include default and parameterized constructors and getters/setters.
Modify and implement getters and setters, validate grades, and compute a two-semester gpa, then print comprehensive student information using getters.
Learn how to perform input validation in Java by validating IDs and GPA before setting values, using an enroll method, setters, and email checks.
Learn how to model a student record in Java by building a student class with constructors, getters, and validation for GPA and student IDs, and printing student info.
In this tutorial we continue talking about the core concepts of OOP. You will learn about the four basic concepts in Object Oriented Programming, and they are Encapsulation, Inheritance, Abstract classes, and Interfaces.
In this tutorial you will learn what encapsulation is in OOP.
In this tutorial we introduce inheritance and explain what it is and why it is used in programming.
This tutorial explains inheritance through examples.
This is the continuation of the inheritance tutorial.
In this tutorial we introduce polymorphism and explain what it is and why it is used in programming.
In this tutorial we cover the first type of polymorphism in programming.
This tutorial covers the second type of polymorphism in programming.
In this tutorial we introduce abstract classes and explain what they are and why they are used in programming.
Through example we show how abstract classes work.
Learn how to add a teaching assistant class in Java by extending staff, defining fields like office hours, number of lectures, and salary override.
Add new classes and refactor constructors in a Java program to align parameters with super calls, while expanding a registry and staff model with office hours, addresses, and salary logic.
Learn to add a new finance class using the existing pattern, define contact and schedule fields, and reuse the salary method.
In this tutorial we introduce interface in Java and explain what it is and why it is used in programming.
This tutorial introduces data structures used in Java. You will learn what they are, what types exist, and what they are used for.
In this tutorial we introduce ArrayList data structure in Java.
This is part two of ArrayList tutorial.
This is part three of ArrayList tutorial.
In this tutorial we explain Iterators in Java.
This is part two of Iterators tutorial.
This tutorial introduces LinkedList data structure.
This is part two of LinkedList tutorial.
In this tutorial we explain sets in Java.
This is part two of Sets tutorial.
This tutorial introduces maps in Java.
This is part two of Maps tutorial.
This is part three of Maps tutorial.
In this tutorial you will learn what stacks are and how they work.
This is part two of Stacks tutorial.
In this tutorial you will learn what queues are and how they work.
This is part three of Queues tutorial.
In this tutorial you will learn what heaps are and how they work.
Write a program that counts the intersection of two stacks using a loop and an if statement, identifying common elements like 3, 5, and 6 in the example.
Write a Java program that prints the second largest number from a self-created array of integers, following a chosen approach to identify the second largest and present the result.
Explore solving the first task by constructing two integer stacks, using push, pop, and peek operations to find their intersection, count the common elements, and handle loop termination.
Learn how to find the second largest number in an integer array using a priority queue and a while loop, with an alternative approach using a sorted array list.
In this and the following tutorials we talk about advanced concepts of programming.
In this tutorial we introduce exceptions. You will learn what exceptions are, when and how they are used.
This is part two of Exceptions tutorial.
This is part three of Exceptions tutorial.
This is part four of Exceptions tutorial.
This is part five of Exceptions tutorial.
This is part six of Exceptions tutorial.
This is the last part of Exceptions tutorial.
In this tutorial we learn about threads in Java.
This is part two of Threads tutorial.
This is part three of Threads tutorial.
This tutorial covers the concepts of file input and output in Java.
This is part two of FileIO tutorial.
This is part three of FileIO tutorial.
This is part four of FileIO tutorial.
If you want to learn Java to advance your skills, then this is the course for you!
If you have no previous knowledge or experience in Java, you will like that the course begins with Java basics. Even if you have some experience in programming in Java, this course can help you learn some new information you had missed before. Each section of the course is linked to the previous one in terms of utilizing what was already learned and each topic is supplied with lots of examples which will help students in their process of learning. Upon the completion of this course, you should be able to write programs that have real-life applications.
What I think is the best about this course is that you can search questions others have had, post your own questions, and get answers to challenges you are currently facing in learning and using Java.
If you have any suggestions on topics that have not been covered, you can send them via private message. I will do my best to cover them as soon as possible.
Thank you for reading this. I hope to see you in the course soon and I hope you will enjoy your time learning as much as I have!