JetBrains Educational Products for Competitive Programming

Posted on by Anna Morozova

Programming is fun. It’s an exercise for your brain – a mental sport. When this sport is held over the internet with contestants challenging each other, it becomes Competitive Programming. JetBrains is proud to be a Global Tools Sponsor of the International Collegiate Programming Contest (ICPC), one of the oldest and most prestigious competitive programming contests. We have lots of tools and materials to support the brilliant and creative minds of the ICPC community on their journey, and in this series we will introduce you to a number of them. We’ll begin the series with this post, which discusses JetBrains Educational Products and their uses for competitive programming.

For contestants

In order to prepare for competitions and refresh your knowledge of particular Java and Python topics, you can take advantage of the JetBrains Academy platform. Navigate the Knowledge Map, which presents a complete list of the available topics, the connections between them, and the progress you’ve made toward completing them. Find and quickly jump into topics of interest, read up on theory, and do practical tasks in an interactive environment:

Use the platform as an opportunity to practice algorithms. Just select the Algorithms tab in the Knowledge map to get going:

Read the JetBrains Academy Guide for more details. Follow us on Twitter and join us on Reddit to stay connected!

If you are looking for a quick introduction to a programming language, you’re welcome to try any of our express courses in the Educational IDEs, such as Introduction to Python, Rustlings, Scala Tutorial, or Atomic Kotlin. Work through interactive tasks and receive instant feedback that will help you learn the basics of your chosen programming language, with all the perks that come with being supported by a professional IDE.

CHOOSE YOUR EDUCATIONAL IDE

Over the last few months, we’ve been intensively working on the new integration with Codeforces, a platform that hosts competitive programming contests. With the EduTools plugin, you can browse the challenges in the Codeforces platform without leaving your JetBrains IDE. Once you’ve selected your challenge, you can solve it in the IDE, test your solution, and then just paste the solution from your clipboard back to the Codeforces platform.

codeforces_cpp

For more details about this integration, take a look at our previous post. And please feel free to try out this functionality and share your thoughts. We encourage you to submit your feedback to our issue tracker. It really helps us make our products better.

For coaches

JetBrains Academy, express courses in the Educational IDEs, and the Codeforces integration described above provide good additional learning and training resources for your team. In addition, Educational IDEs, with the bundled EduTools plugin, can help you share your knowledge and transfer your programming skills in the form of code practicing tasks and integrated tests, with all the productivity boosters that a professional IDE offers.

The EduTools plugin supports Java, Kotlin, Python, Scala, JavaScript, Rust, C/C++, and Go, with more languages to come. You can install it on top of your favorite JetBrains IDE, or use PyCharm Edu or IntelliJ IDEA Edu, which come with the EduTools plugin bundled. Then you can create a course for practicing competitive programming tasks right in the IDE.

Structure each lesson as a list of tasks, with each task including a description, a file with the exercise code, a test file to check the solutions, and any other files needed to complete the task.

Keep track of your learning materials and share them publicly or privately with others:

After publishing your course on Stepik using the corresponding IDE feature, you will be able to see all the submissions from your team members in your Stepik account. Using this functionality, you can set up competitions that allow you to see how well your team performs and where they have gaps in their knowledge.

Read the Quickstart Guide for more details, and please feel free to contact us at academy@jetbrains.com if you have any questions or need support.

Become a contributor

We always appreciate contributions and new ideas from the community.
You could, for example, become a mentor or author on the JetBrains Academy platform or contribute to the free and open-source EduTools plugin. We’re always excited to have new people join our community!

Free licenses for professional tools

And just a quick reminder: as a student or teacher you can get free access to all JetBrains IDEs.

If you are a member of an accredited educational institution, you can apply for educational licenses for all JetBrains IDEs and team tools and use these powerful professional development tools, both individually and in classrooms, for free. You can find more details and apply for your license on the Free Educational Licenses webpage.

Never stop learning, and good luck in your future challenges!

The JetBrains Educational Products team