
Build a foundation in Java by learning essential programming concepts from scratch through hands-on exercises in this beginner course.
Discover how Java serves as a communication interface between humans and computers, translating real-world ideas into CPU-understandable instructions, and why it's popular for backend and big data work.
Install the Java development kit and IntelliJ IDEA to start building Java applications; the JDK includes Java runtime environment and the JVM, while the IDE offers debugging and code editing.
Learn to set up a Java project in an IDE, configure the JDK, choose a command line template, write a hello world with System.out.println and run it.
Explore how Java represents data with primitive types and variables, from int and long to float, double, byte, short, and char, including overflow behavior and basic memory considerations.
Explore the string class in Java by declaring a text variable with double quotes and applying methods like uppercase, lowercase, replace, strip, and substring; strings are reference types.
Explore essential Java math tools by using the Math class for operations like pow, max, abs, floor, ceil, sin, cos, and logarithms, plus generating random numbers with Math.random() and java.util.Random.
Learn how the boolean data type stores true or false and how to use comparison and logical operators with boolean values to form conditions that drive Java control flow.
Explore replacing an else-if cascade with a switch statement that uses case values and a break to prevent fall-through, with default for unmatched cases.
Intro
This course is the best online resource you need to learn programming from scratch, applied on easy-to-understand Java programs, where every concept is explained step-by-step, so that you can understand it.
Java is the language used by many large companies and more than 9 million developers around the world, so it definitely makes sense to start your programming career by learning this language. Also, all the concepts learned in this course are applicable in other languages as well.
About myself
I wrote my first line of code 10 years ago when I was in highschool. I quickly got addicted by how easy you could build useful programs using C# and Windows Forms.
I followed the Computer Science University track where I managed to set the ground knowledge for anything related to Software Engineering (Algorithms, Data Structures, Operating Systems, Multithreading, Distributed Computing, Networking, and many other topics), and I finalized this amazing 6-year learning path by getting a Master's Degree in Parallel and Distributed Systems where I built from the ground a custom Kubernetes Gang Scheduler optimised for running Spark Jobs.
Currently, I'm a Software Engineer focused on high-scale JVM-based development. I build code used by millions of people around the world.
Why I built this course?
I learned Java from the Internet, trying to build projects, hitting all kinds of issues, searching on StackOverflow (and sometimes asking lots of questions), I wish I would follow an introductory course on that would guide me through those new concepts, instead of trying and failing so many times.
For that reason, I thought that building a course where I explain the basic concepts of this language, would definitely help other people to save time and avoid going into the same pitfalls that I went through.
What is the content course?
This course is split into multiple chapters, each one exposing a different functionality of this language:
Chapter 1 - Introduction
In this chapter we're going to learn why we need programming and what is the role of a programming language in general
Chapter 2 - Java Installation
We're going to learn about Java versions, the difference between JDK and JRE
And most importantly, we're going to see how can we install a JDK from official sources
Chapter 3 - First Steps into the Java Programming
In this chapter we're going to create our first Java application in IntelliJ Idea and we're going to understand the syntax and structure of the simplest Java program
Chapter 4 - Working with Data in Java
Any software application needs data in order to do something meaningful for us
In this chapter, we're going to see how Java allows us to store and update the information in our programs
We're going to learn about data types, operations on text and math functions
Chapter 5 - Working with Control Flow Instructions in Java
On the same idea as above, to build some useful applications, we need to add decisioning logic into them.
With control flow instructions, we can do that in a very easy way. This is the main focus on this chapter.
What are the requirements for this course?
A computer with medium specs (we only need to install IntelliJ Idea Community Edition)
Willingness to learn and an open-mind
Thank you for taking the time to look through this description and I'm looking forward to see you in the first lecture!
Cover Photo by Joshua Aragon on Unsplash