With Educational Products, you can learn programming languages in the form of coding tasks and get instant feedback right inside of IDEs based on JetBrains IntelliJ Platform.
Choose a course to start learning
This tutorial will help you start learning with the Introduction to JavaKotlin KoansAtomic KotlinIntroduction to PythonScala TutorialRustlings course. Switch to a different course using the Section drop-down menu at the top of the page:
The course is a series of courses on the main Java concepts: Introduction, Statements and Arrays, Collections, and Classes. They include both the theory and coding practice with inline IDE tips and tricks.
The course is a series of exercises specially designed to get you familiar with the syntax of Kotlin, the powerful new programming language from JetBrains.
Atomic Kotlin is a book by Bruce Eckel and Svetlana Isakova that comes with learning resources. It explains Kotlin to both novices and experienced programmers, with no prior Java experience required. The book is accompanied by the course – a set of code examples and small tasks with automatic checking and available answers.
This course is specially designed for programmers with little or no previous coding experience.
This course contains a quick tutorial on the Scala language. Its content is based on the Open Source Scala Tutorial.
This course contains small exercises to get you used to reading and writing Rust code. rustlings was originally written by Carol Nichols. Theoretical topics are based on The Rust Programming Language book written by Steve Klabnik and Carol Nichols, with contributions from the Rust Community.
Prerequisites
The course is available in IntelliJ IDEA with EduTools plugin installed.
To learn how to install the Rust plugin, see this guide.
Start learning
Joining the course
When installed for the first time, the IDE asks if you're a Learner or an Educator. Choose Learner:
If you don't have this window, proceed to the next step. The role can be changed any time in Help | Enable Course Creator Features.
First, you’ll need to create an account and log in on Stepik. Use the link Log in under the list of courses to be redirected to Stepik, and start the course.
To open the list of available courses, go to the My Courses tab on the Welcome Screen and click Start New Course:
You can also access this dialog by going File | Learn | Browse Courses:
Using filters in the top right of the Browse courses dialog, select the programming language you want to study and preferred language and choose the course you're interested in:
To open the list of available courses, go to the My Courses tab on the Welcome Screen and click Start New Course:
You can also access this dialog by going File | Learn | Browse Courses:
Using filters in the top right of the Browse courses dialog, select the programming language you want to study and preferred language and choose the course you're interested in:
To open the list of available courses, go to the My Courses tab on the Welcome Screen and click Start New Course:
You can also access this dialog by going File | Learn | Browse Courses:
Using filters in the top right of the Browse courses dialog, select the programming language you want to study and preferred language and choose the course you're interested in:
To open the list of available courses, go to the My Courses tab on the Welcome Screen and click Start New Course:
You can also access this dialog by going File | Learn | Browse Courses:
Using filters in the top right of the Browse courses dialog, select the programming language you want to study and preferred language and choose the course you're interested in:
To open the list of available courses, go to the My Courses tab on the Welcome Screen and click Start New Course:
You can also access this dialog by going File | Learn | Browse Courses:
Using filters in the top right of the Browse courses dialog, select the programming language you want to study and preferred language and choose the course you're interested in:
To open the list of available courses, go to the My Courses tab on the Welcome Screen and click Start New Course:
You can also access this dialog by going File | Learn | Browse Courses:
Using filters in the top right of the Browse courses dialog, select the programming language you want to study and preferred language and choose the course you're interested in:
You will be informed if some required plugins are not installed or disabled:
With the My Courses tab, you can keep track of what you’re working on and what needs to be accomplished next. You can see your progress and get back to working on your courses in one click.
In this tab, you can also restart any of the courses you have in progress or have completed. Hover the mouse over it, click ✕ and select Remove Course: The course will be cleared along with all your progress, so you can start it again from scratch.
Click the Open button and wait for the course to load.
Getting around
You can now browse the course. Go to View | Tool Windows | Project or press Alt+1 to explore the course plan:
The course has the same structure as the Atomic Kotlin book. It consists of several sections, and each section includes several atoms. Every atom has Examples and Exercises.
The course consists of several lessons, and each lesson includes tasks: Theory, Quiz, and Programming.
The course consists of several lessons, and each lesson has a list of tasks you need to solve.
The course consists of several lessons, and each lesson has a list of tasks you need to solve.
The course consists of several lessons, and each lesson has a list of tasks you need to solve.
The course consists of several lessons, and each lesson has a list of tasks you need to solve.
Examples contain all the code examples used in the text of an atom. You can find the link to the atom text on the Task Description panel (View | Tool Windows | Task Description ):
Click the link to read the book atom:
You can also run examples online:
To run a single example right inside the IDE, click the Run icon in the gutter, or click the Run button at the bottom of the Task Description panel (View | Tool Windows | Task Description ):
Theory contains all the information needed to solve Quiz and Programming tasks, as well as IDE tips and tricks that you can read on the Task Description panel (View | Tool Windows | Task Description ):
Click the Run icon at the top of the Task Description panel to have marked as read.
Quiz task checks your knowledge with a question you can answer on the Task Description panel:
Click the Check icon at the top of the Task Description panel to check your answer:
Every ExerciseProgramming taskTaskTaskTaskTask has a Task.ktTask.ktMain.java*.py*.scala*.rs file with exercise code. It also has a description that you can read on the Task Description panel (View | Tool Windows | Task Description ):
Click to see which user account is currently logged in:
For manual checking of available course updates, click Synchronize course.
If you click your username, you will see your user profile at Stepik in your browser.
Getting started
Now you're ready to start programming. Read the first task description and the exercise code. You will find a placeholder in the exercise code which you need to complete to solve the task.
When you are ready, verify the task by clicking the Check button at the bottom of the Task Description panel. If you passed, you will see a CorrectCorrectCongratulations!Correct solutionCongratulations!Congratulations! message:
To check your submissions, go to the Submissions tab at the top of the Task Description panel:
To compare your current solution with any of your previous attempts and see the diff, click the needed submission:
Compare your solution with the sample answer after solving the task. Sometimes you'll learn there's a simpler way to solve it. Click the Peek Solution... link:
Compare your solution with the sample answer after solving the task. Sometimes you'll learn there's a simpler way to solve it. Click the Peek Solution... link:
Compare your solution with the sample answer after solving the task. Sometimes you'll learn there's a simpler way to solve it. Click the Peek Solution... link:
Compare your solution with the sample answer after solving the task. Sometimes you'll learn there's a simpler way to solve it. Click the Peek Solution... link:
Compare your solution with the sample answer after solving the task. Sometimes you'll learn there's a simpler way to solve it. Click the Peek Solution... link:
To go on to the next task, click the Next icon at the top of the Task Description panel:
Coping with mistakes
Continue with the code exercises. Mistakes are bound to happen, but the IDE will lend you a helping hand when you get stuck. If verification fails, you will get a message to help you to find the error:
Continue with the code exercises. If verification fails, you will get a message:
Continue with the code exercises. Mistakes are bound to happen, but the IDE will lend you a helping hand when you get stuck. If verification fails, you will get a message to help you to find the error:
Continue with the code exercises. Mistakes are bound to happen, but the IDE will lend you a helping hand when you get stuck. If verification fails, you will get a message to help you to find the error:
You can also use a hint. Click the Hint icon at the top of the Task Description panel:
Continue with the code exercises. Mistakes are bound to happen, but the IDE will lend you a helping hand when you get stuck. If verification fails, you will get a message to help you to find the error:
Continue with the code exercises. Mistakes are bound to happen, but the IDE will lend you a helping hand when you get stuck. If verification fails, you will get a message to help you to find the error:
If you need to restart from scratch with any task, click the Reset icon at the bottom of the Task Description panel:
The course also contains many tips and tricks for working with the IDE more effectively. Such IDE tasks are marked differently:
Right now there are no automatic checks for IDE tasks. After you read the IDE task description and do the exercise, you can click the Check button to have marked as completed.
Do not give up early! Make all the exercises green to finish the course: