Java
A powerful language for enterprise systems and Android
Learn Java from scratch: from how the JVM works and your first program to variables, conditions, loops and methods, and on to classes, inheritance and interfaces. Then you will master exceptions, collections and modern Java features — records, lambdas and streams. You will build a student grade book project on your own, and in the professional module you will master Maven and Gradle, JUnit tests, concurrency, JDBC, REST APIs with Spring Boot and clean code principles.
Course content
Java basics
BeginnerSee how a Java program runs and get to know variables, primitive types, operators and strings.
- 1What is Java? Your first programFind out what Java is, what the JVM and the JDK do, and write your first program with a main method.12 min
- 2Variables, types and operatorsLearn to declare variables and get to know Java's eight primitive types, arithmetic operators and type casting.15 min
- 3Strings and StringBuilderLearn to work with text: String methods, comparing strings, formatting and the mutable StringBuilder.15 min
Conditions, loops and methods
BeginnerTeach your program to make decisions, repeat work, handle arrays and split code into methods.
- 4Conditions and switchTeach your program to make decisions: comparison and logical operators, if/else, the ternary operator, switch and switch expressions.15 min
- 5Loops and arraysRepeat work with for, while and do-while loops, and store and process many values in arrays.18 min
- 6MethodsSplit code into reusable methods: parameters, return values, void, static, overloading and recursion.16 min
Object-oriented Java
IntermediateBuild classes and objects and use encapsulation, inheritance, polymorphism, abstract classes and interfaces.
- 7Classes and objectsCreate your own types: fields, constructors, this, methods, encapsulation, getters and setters, and static members.18 min
- 8Inheritance and polymorphismExtend an existing class with extends, use super and @Override, and learn how polymorphism and instanceof work.17 min
- 9Abstract classes and interfacesAbstract classes and methods, interfaces, implements, default methods and sorting with the Comparable interface.17 min
Advanced Java
AdvancedHandle errors with exceptions, work with collections and generics, and apply modern Java in a final project.
- 10Exceptions: handling errorsCatch errors with try/catch/finally, tell checked and unchecked exceptions apart, throw exceptions and create your own exception class.17 min
- 11Collections and genericsUse flexible data structures — ArrayList, HashMap and HashSet — and learn how generics keep your types safe.18 min
- 12Modern Java and a project: a grade bookMeet records, var, lambdas and streams, then combine everything from the course to build a student grade book.22 min
Professional Java
AdvancedBuild projects with Maven and Gradle, test code with JUnit, work with threads and databases, create a REST API with Spring Boot and write clean code.
- 13Maven and Gradle: building a projectLearn the standard structure of a real Java project, how dependencies are declared in `pom.xml` and `build.gradle.kts`, and how the Maven lifecycle works.20 min
- 14Testing with JUnit 5Write automated unit tests with JUnit 5: assertions, parameterized tests and replacing dependencies with Mockito.22 min
- 15Concurrency in JavaDo several jobs at once with threads, `ExecutorService`, `CompletableFuture`, `synchronized` and atomic types, and meet the virtual threads of Java 21.24 min
- 16JDBC and databasesConnect a Java program to a database with JDBC: `PreparedStatement`, protection from SQL injection, transactions, connection pools and an introduction to JPA/Hibernate.23 min
- 17A REST API with Spring BootCreate a Spring Boot project, connect controller, service and repository layers with dependency injection, build a CRUD API and test it with curl.25 min
- 18Clean code, SOLID and design patternsLearn the rules of readable code, the SOLID principles and five key design patterns — Singleton, Factory, Builder, Strategy, Observer — with short Java examples.22 min