JetBrains Academy is a project-based learning platform. With JetBrains Academy, you can learn to program by creating working applications.
JetBrains Academy has Java, Kotlin, and Python tracks with more to come.
Choose your programming language
Go ahead and read about JavaKotlinPython. Or switch to a different programming language using the Section drop-down menu at the top of the page:
Select a Track
Working with a project
Each project has learning outcomes and is split into stages. Stages help you progress from simple to more advanced code, allowing you to add more functionality to your working app at each stage:
Each stage of a project includes a list of topics you need to complete to progress with the stage:
Each topic focuses on explaining one concept in detail using multiple examples of the relevant code. Topics can take around 15 minutes to complete:
Each topic has quizzes and code challenges that you can solve in your browser:
… or right inside IntelliJ IDEA:
… or right inside PyCharm:
Working with IDE
The IDE can help you with the code challenges, thanks to its advanced code analysis and quick-fix options:
We recommend building all the project stages right inside the IDE:
Switch to the Topics tab to see what topics are required for the current stage:
Once your solution is ready, click Check to validate your solution:
Click Peek Solution to see other learners' solutions:
Go to the Submissions tab to compare your current solution with your previous submissions:
Click to see which user account is currently logged in:
For manual checking of available project updates, click Synchronize project.
If you click your username, you will see your user profile at JetBrains Academy in your browser.
Once you have completed the project, you can tweet your results with our funny GIFs:
Publish to GitHub
When the project is ready, it can be uploaded to your portfolio on GitHub:
Specify the link to your public repository and click Save: