Until 
Discount
Hi James, what method should I use in here?
Any thoughts on that?
Hi Samantha!
Group training
You will write code, solve tasks from the first lesson, and master the main software development tools.
Lots of practice
We write code and solve tasks from the very first lesson. We look at the main software development tools.
The study plan is designed for 4 months: you will learn the basics of the Java language, OOP, and working with collections.
Java programmer — a hot career now and in the future
More than
80 000
job vacancies on
The demand for Java programmers is high and growing. Indeed.com alone currently has more than 80,000 job openings.
The salary prospects are excellent. Java developers command some of the highest salaries in the IT world.
A Java programmer has lots of options. Java is used to create server-side applications for finance and big data. It is used to write Android programs, web applications, embedded systems, and scientific applications.
Career trajectory for a Java developer
Starting
Junior
Java Developer
$77K
From 1 year
Mid-Level
Java Developer
$90K-108K
2+ years
Senior
Java Developer
$129K+
The course is right for you if:
Programmers are
made, not born!
You’re a newbie in programming
You are just starting to try your hand at software development. Step-by-step learning with an experienced mentor, with weekly «small victories», will help you track your learning progress and quickly gain solid knowledge of the basics of Java development.
You’re a student in a technical field
You have a foundation, but little practical experience. The course will give you a lot of practice, teach you how to work with professional development tools, and help you feel confident in writing code from scratch.
You want to resume your studies
You previously studied using CodeGym’s online course or learned about Java development somewhere, but didn’t cross the finish line. Structured studies with a clear schedule will help you consolidate your knowledge.
Our coding simulator will help you
All tasks have instant verification option. After you write a solution, you get an immediate review of every stage and suggestions on how you can improve your code.
What's included in the "Java Fundamentals" course
Regular lessons with a mentor who is an experienced Java developer
Twice a week, 90-minute online lessons are held, where students explore new theory and receive personal recommendations.
Chat-based support
On weekdays, Java experts will promptly answer your questions on Java theory or solving tasks.
Interactive online development environment
From the first lesson, you write programs yourself: in a browser or a professional development environment.
Course completion certificate
Confirmation that you gained a working knowledge of the basics of Java software development.
Months
4
Hours
48
Lessons
28
Curriculum for the course
Designed to last 4 months, with lessons, homework, and coding practice.
Module 1
Java Syntax

Commands in Java and your first program

  • Virtual machine and the first command
  • Variables and data types
  • Compilers
  • Your first program in Java

Working with variables type int and string

  • saving text to a variable, its output to the console
  • declaring and initializing String variables
  • elementary computations with variables of int type
  • increment, decrement
  • concatenation

Types and keyboard input

  • Memory addressing and variables
  • Introducing ints and Strings
  • Keyboard input

The if statement

  • Visibility of variables
  • Commands and code blocks
  • Conditional operators
  • Comparing and setting conditions
  • Boolean type
  • Logical operators

Loops

  • Tasks with loops
  • For loop
  • While, do-while
  • Interrupting a loop
  • Comparing the loops

IDEA, JDK

  • Installing the JDK and IntelliJ IDEA
  • IDEA lifehacks
  • Debugging in IDEA

Arrays

  • Arrays in memory
  • Basic actions with arrays
  • Two-dimensional arrays
  • Jagged arrays in Java
  • Arrays class

Methods

  • Creating your own methods and passing arguments
  • Method parameters in Java
  • Result of a method, calling methods
  • Method modifiers
  • Variable visibility

Data types

  • Object interaction
  • Primitive data types
  • Creating objects
  • Reference variables
  • Real types
  • Introducing the data type

Working with strings

  • Literals in Java
  • Encodings
  • Escaping characters
  • Structure of the String class
  • Working with strings in Java
  • StringBuilder

Objects

  • Creating objects
  • Initializing objects. Initialize method
  • Constructors
  • Getter, setter
  • hashCode, equals

Classes

  • Object visibility and null reference
  • Static variables and methods
  • Static classes and methods
  • Popular compilation errors
  • Inner classes

Collections, generics

  • ArrayList
  • Generics
  • ArrayList vs. LinkedList
  • Measuring list performance
  • Set and Map
  • Practice with collections

Singleton, enum, switch

  • why do you need Enum
  • declaring Enum
  • Enum – the best singleton
  • switch

Exceptions I

  • Stack trace
  • Exception types
  • How exceptions work
  • try-catch
  • checked and unchecked exceptions
  • throw

Exceptions II

  • finally
  • creating own exceptions
  • Throwable
  • stack trace
  • try with resources
  • AutoCloseable

I/O streams

  • InputStream
  • Reader
  • BufferedReader
  • OutputStream
  • Writer
  • BufferedWriter

I/O streams. Decorator pattern

  • ByteArrayInputStream
  • ByteArrayOutputStream

I/O streams. Java.nio

  • io VS nio
  • FileChannel
  • Selector
  • Path
  • Paths
  • Files

Working with time and date

  • Date
  • DateFormat
  • Calendar
  • LocalDate, LocalTime, LocalDateTime
  • Instant
  • ZonedDateTime
  • DateTimeFormatter
Module 2
Final Project
  • During the course, you will solve 271 practical tasks (real programs).
  • These tasks will help you consolidate all the obtained knowledge and gain fundamental practical skills.
  • In addition, at the end of the course, you will be creating a sizeable full-fledged project for two weeks. Your mentors will verify it and give feedback. The project is called "Crypto analyzer". While developing it, you will use all the knowledge you've received during the course. It will be a complex and exciting challenge.
Certificate
How is the learning process conducted?
You can dive into the learning process and check out how mentors share their Java knowledge
Our teachers
Feedback from our students
Registration is almost complete
Only one step left!
Go to Messenger for further information

Frequently asked
questions

What are the student-level requirements?
CodeGym University is designed for people with zero knowledge in programming and specialists who know Java to some extent but want to improve their skills or review the material.
How many hours of studying per week do I need?
We recommend devoting at least 10-12 hours per week to studying on the course. The bigger, the better.
Why is the course only four months long?
Four months is the optimal period to study the basics of Java in depth and develop the necessary skills. You will go step by step through all the program topics under the guidance of practicing Java developers, gain practical experience in coding and strong command of Java programming basics.
Can I pay for the program monthly?
It is possible to pay for tuition monthly. The cost will be 99 USD per month.
Why should I choose your course?

Java and the training of IT professionals working with this language is a core specialization of CodeGym.

Mentors, step by step, introduce students to the theoretical part of Java and interact with them in chats regularly to resolve the problems and answer the questions.

The course contains many examples of the Java theory application. They help students consolidate the lessons learned and use this knowledge in their future projects. There are more than 500 tasks with automatic verification of the solution and the final project.

Tuition can be paid monthly, which is convenient for planning your budget.

Is there any way to contact CodeGym if I have questions?
You may send your inquiry to university@codegym.cc
How can I register for the course?
You need to fill in the contact form and our team will contact you shortly after by email.
What is the language of instruction for this course?
The course is taught in English.
Will I get a certificate?
Yes, after completing the course. It’ll confirm your knowledge and skills in Java development.
Is it enough knowledge to become a Java developer?
This course will become the basis for your further professional development in the Java field. After completing the course we recommend upgrading your qualifications to get a Java developer position.
How are the lessons held, and how are the groups formed?
The mentor provides you with a Zoom online conference link, you follow it and the lesson starts. You gain theoretical knowledge during the online class. You can ask your questions in a Zoom chat. The mentor shows you how to code. You can code at the same time while listening to the mentor. The lesson is being recorded and we upload it the next day onto YouTube. You can save the video if you wish so. At the end of the lesson, you get your homework, which needs to be done for the next class.
Is there a possibility of a refund?
A monthly payment can be refunded within 7 days (these are 1-2 first lessons). A 4 months payment can be refunded within 14 days period since the day it was made.
Is it possible to pause the training?
You can stop studying at any given time.