Learn Java from scratch and become Java Software Engineer: Basics, OOP, Interview questions, Git, Java Collections etc

What you will learn

Java 🙂

Students will learn programming basics which will help them to understand any other programming language

Interview practice tests

In this course you will get knowledge which is needed to proceed with understanding of Android, Spring Framework and other enterprise frameworks

Object-oriented programming

Learn the Java basics, including syntax and primitive data types

Get necessary knowledge to demonstrate your skills of Java to future employers

Understand difference between Java 8, 9, 11, 13

Learn best practices from true programmer

Learn how to write scalable, readable and maintainable clean code

30+ coding exercises

You will learn source code of the tutor. All homework is completed with the Trainer

Learn how to use integrated development environments to create Java programs

Debugging tools

Eclipse IDE

SOLID principles


Java Collections Framework

Implementations of the List interface

Map Interface and Implementations

Set Interface and Implementations

Best practices of using collections

Performance comparision of different collections

Functional programming in Java

Lambda functions

Method references

Clean Architecture Design

GoF Patterns (Creational, Structural and Behavioral)

Test-driven development


Integration Testing

JUnit 5




This is the first part of fundamental training program ‘Java from Zero to First Job’.  As it’s declared in the course name, it’s created for people who want to learn programming from scratch. You need to know how to turn on your computer, no other knowledge is required for this course 🙂 The rest will be covered in lessons.

Before starting creation of this course, our team attentively investigated feedbacks for existing courses on Udemy platform and tried to focus on the feedbacks for the top-rated courses to understand what can be improved in this course and make it even more better from the quality standpoint. After analysis, we understand what will help students to learn Java in more efficient way. In this course:

– High concentration of useful material in each lesson

Sometimes you can notice that watching of 5 minutes of our lesson is equivalent to watching of other 30 minutes lesson.

This is because time spent for preparation for the lesson (script for the lesson, lesson structure) and video editing (to cut boring pieces of the lesson, or time when program loads) sometimes 10 times as much (sometimes even 20) as final lesson duration after video editing.

Only your homework and coding exercises including EXAM task might take approximately 20 hours to implement.

Also each topic is separated from another. In case some concept will be explained in the next lesson and you don’t need to worry about understanding this in scope of this lesson – instructor will make announcement when specific topic will be covered.

Go and try it yourself! We will appreciate your feedback.

– Relevant knowledge

After our team investigated other Java courses on Udemy we realized that most of them has nothing in common with real life. Information which is shared there is very old and significantly out of date. For example, instructor teaches framework which is not used already for 15 years. Or instructor do a stress on the programming design which is not used anymore at all!

Instructor of this course is consultant in the top-rated IT outsourcing company and helps to bring cutting-edge solutions in IT for all his clients. Feel free to check LinkedIn page of instructor and check skills endorsement. More than 18 thousand people acrooss all over the world (BTW most of them are from top 100 companies of the world) evaluated skills of Andrii Piatakha.

With this course you can be sure that you will spend your time learning the right things from the one of the best IT consultants in the world.

– Sequence of lessons

After the years of teaching offline, and based on the feedbacks of students who are passing online courses we realized how important the sequence of lessons while teaching Java. The same issue is with the books where information is completely unstructured what makes things even more complex. For example, how students can learn object oriented programming from the first lesson if they don’t know yet the java syntax basics? Or how student can implement hometask if he/she doesn’t aware of java methods specifics, or doesn’t know yet how to read program input?

So in this course you can be sure, that you will not get hometask to implement without having enough information to implement it. The program which is in this course is proven by many students who completed it offline and now work as software engineers in outsourcing companies and as a freelancers.

– Interview practice tests

Being an IT consultant in different companies, tutor of this course was in charge ot driving interview process in companies to make sure, that company selects the best people. That’s why the first interview is always test. In case test is completed, candidate is invited to have a conversation. That’s why, in this course we want to prepare you to complete tests sucessfully!

Specially for our students, we prepared tests which could be used to evaluate your knowledge during the interview process.

2 tests. 90 questions each (180 interview tests in total). 120 minutes each.

You can read explanation to answers! That also can help you to learn material better. Don’t wait, try it now!

– Q&A support

The significant difference between online and offline learning process is instructor’s availability. If you are in the one room with tutor he always can help you to get understanding specific concept or to help fix your code on your computer.
In this course, we are supporting students with answers to any questions flagged in Q&A section. In case there will be recurring questions – separate video lessons will be created to show how to address issue.

So with this course you are not just getting video materials, code exercises, source code, access to free mobile application without limits (which is still pretty cool, huh? 🙂 ) , but you also get tutor support and answers to your questions along with this course.

– Open source code

We hide nothing from our students! Including the source code for the hometask solutions and source code of examples which were shared during the lesson. Having the source code you can just copy and paste it to run it on your local computer to understand how things work better.

– Free mobile App without limits for our students

Knowing Java is one skill. Be able to pass interview in company – that is another skill 🙂 Nowadays a lot of companies use tests to select candidates on the first level of interview. We developed application to practice skills specifically for such purposes.

In this course we will provide you link to download our FREE mobile app for android. (soon it will be also available for iOS platforms)

Instructor of this course come up with hundreds tests which are used to test knowledge of candidates. With this application you will be well-prepared for the interview.

Also, only for our students – there is no limit on attempts to pass certification. In the course we will tell you how to set up special bonus code which will remove restrictions for our students inside the app.

– Coding exercises

To learn programming it is not enough just watching videos and reading books. You also need to have a lot of practice. In this training course you will have different practical tasks which will help you learn and understand Java better.

One of the key tasks where you can practice your knowledge is implementation of backend system for online store. Also you have a lot of tasks that use domain specific terminology: accounts, transactions, users, carts, menu, services etc. So that means you are learning programming without abstract concepts like it is written in the books or in other courses. You learn domain specific terminology and during the lessons we investigate specific extracts from code that can give you clear vision how you can apply the knowledge in real life.

As you can see from curriculum, in this part of fundamental training program you will learn how to install JDK on your computer, you will learn a lot about IDE where you can write you programs, you will learn Java syntax, primitive types of data, loops, control statements, arrays, operations with primitive and reference types of data, String, Enum, how to write methods in Java, different number systems, tips and tricks, practical coding exercises, debugging tools, Object-Oriented Programming, Git , Java Collections Framework, Collections, Maps, functional programming, lambda functions, method references and lots more.

So don’t wait! Take a look at lessons’ preview if you still have doubts!

Buy this course today, and you will get all updates for FREE!

Right now our team keep working on the next lessons for this course. We are preparing for you a lot of other topics and coding exercises! Our goal – to create web application together with you. Buy this course today, and you will receive all updates for free! Isn’t that cool? 🙂

For those who successfully passed this training course, or for students who was recognized for asking amazing questions, there is a special offer from IT-Bulls company! The creator of this course is IT-Bulls company CEO and Founder. We always in search of talents to run our amazing startups together with you. Probably you always dreamed about running your own startup? In this course you will be able to find the team who will teach you how to do that and (in particular cases) will be glad to help with implementation!

Hope you enjoy this course! And remember, we appreciate all your feedbacks! Your feedbacks will help us to become even more better! Your feedbacks will help us to create to best Java course ever!

See you on the lessons! 🙂





How to use captions

Why Java and why this course? What is JDK, JRE and JVM?

Get Instant Notification of New Courses on our Telegram channel.

Communication plan

Unlimited access to ‘Learn IT’ application for students


JDK Installation

First application: Hello World App

Homework Solution: .bat file creation

Integrated Development Environment, Eclipse Overview

Comments in Java source code

Primitive Data Types, Variables and Arrays

Primitive types and variables

Number Systems


Eclipse: Tips and Tricks

Packages: creation and package presentation in eclipse

Plugins: how to install free plugins, eclipse marketplace, workspace styles

Code Refactoring in Eclipse

Operators and Operations with primitive types

Operators in Java

Operations with integers and floating-point numbers, BicDecimal type

Math class, NaN, Infinity

Type of the expression in Java

Compare primitive and reference types & Java Memory Model

Read user input from console

Simple console integer calculator

Calculate Area of Triangle

Calculate Circle Circumference

Homework review: Operators and Operations

Strings in Java

String: object creation and main methods overview

String comparison: How to compare Strings and what is String Pool?

Escape Sequences in Java

String Formatting

Regular expressions in Java

Format floating-point number

Split Words

Homework review: String

Control Statements

‘if – else’ construction

Admin and Guest mode for application

Simple Number Calculator

Homework review: ‘if’ statement

‘switch’ construction

User Activity Selector

Homework review: ‘switch’ statement


Random numbers generation

Iteration Statements (Loops) in Java

‘while’ loop

‘do-while’ loop

‘for’ with condition loop

‘for each’ loop

Nested loops

Jump Statements – Break and Continue

Labels in Java

Print digits from new line

Pyramid in console

Print matrix to console

Homework review: Iteration Statements (Loops)


Methods in Java: Overview

Parameter Passing Mechanism in Java

Recursive methods

Variable Length Arguments

Find max int in array

Draw empty rectangle

Calculate Amount of Words

Filter String array

Rotate Matrix

Extend Array

Greatest Common Divisor

Sum all digits in number

String Processor

Turn each first letter in the word to capital

Convert decimal to Roman numbers and vice versa

Homework review: Methods

Bonus section

Bonus Lesson