The JetBrains Academy Blog : The place for learning and teaching computer science your way | The JetBrains Blog https://blog.jetbrains.com Developer Tools for Professionals and Teams Tue, 06 Jun 2023 10:57:23 +0000 en-US hourly 1 https://blog.jetbrains.com/wp-content/uploads/2023/02/cropped-icon-512-32x32.png The JetBrains Academy Blog : The place for learning and teaching computer science your way | The JetBrains Blog https://blog.jetbrains.com 32 32 Livestream: Ask Us Anything About the Computer Science and AI Bachelor’s Program https://blog.jetbrains.com/education/2023/06/06/livestream-ask-us-anything-about-the-computer-science-and-ai-bachelor-s-program/ Tue, 06 Jun 2023 10:55:23 +0000 https://blog.jetbrains.com/wp-content/uploads/2023/06/Featured_image_1280x600-2.png https://blog.jetbrains.com/?post_type=education&p=360481 Join us this Saturday, June 10, 10:00 am UTC (1:00 pm EEST), for the free Ask Us Anything About the Computer Science and AI Bachelor’s Program livestream.

In response to the numerous inquiries we have received since the unveiling of our new Computer Science and Artificial Intelligence BSc program at Neapolis University Pafos, we will be hosting a livestream to address the most frequently asked questions, as well as host an “Ask Us Anything” session at the end.

You can register for the livestream by completing the Google form, and we will then send you an email with the registration link.

During this informative session, we will delve into the details of the program, providing comprehensive answers to the following key questions:

  • What are the courses offered during the first year of studies?
  • How can you access the syllabus of these courses?
  • Who are the esteemed faculty members responsible for teaching these courses?
  • How can you effectively craft a compelling personal statement?

This webinar will serve as an opportunity for you to gain a deeper understanding of our program’s curriculum, as well as to acquire valuable insights into the application process.

Following the official segment of the webinar, we will dedicate time to address any additional questions you may have. Our team is committed to ensuring that all concerns and inquiries are promptly attended to.

To secure your place and receive the webinar access link, complete the form provided below. For those who have previously submitted the form, rest assured that we will be sending you the webinar access link shortly.

Speakers

Alexander S. Kulikov, Program Lead

Alexander teaches his students algorithms and discrete mathematics. He holds PhD and DrSc degrees from Steklov Mathematical Institute and serves as the head of the Algorithms and Complexity Theory Lab at JetBrains Research. 

Alexander will go through the highlights of the bachelor’s program, tell you about the skills you’ll acquire, and explain how you can apply them in real projects in your future career.

Natalia Kitaeva, Project Coordinator

Natalia manages and oversees educational initiatives at JetBrains, including the Computer Science and Artificial Intelligence BSc program. She provides guidance and support to students, ensuring a positive learning experience.

Natalia will walk you through the application and admissions process and answer any questions you may have.

Alexander Avdiushenko, Professor

Alexander holds a PhD degree in math modeling. He is a dedicated educator and project manager on the JetBrains Education and Research team. With over 3 years of experience as a Data Scientist and over 7 years of teaching at top universities, he has honed his skills in deep learning and data optimization.

Pavel Mavrin, Professor

Pavel is an expert in algorithms and data structures. Pavel has participated in many programming competitions, and his most prestigious title is ICPC World Champion 2004.

Kirill Krinkin, Professor

Kirill holds a PhD degree in computer science. For more than 20 years, Kirill has been a seasoned organizer of STEM schools worldwide, collaborating with top-tier universities and international companies in software engineering, operating systems, computer networks, autonomous mobile robots, and co-evolutionary hybrid intelligence. Under his expert guidance, student teams won the AI-DO twice, once at ICRA and once at NeurIPS.

Tatiana Berlenko, Professor

Tatiana is a researcher in the Mobile Robot Algorithms Lab at JetBrains Research. Interested in simultaneous localization and mapping in 3D, Tatiana has 6 years of experience teaching computer science and software engineering at universities, creating MOOCs and conducting STEM-based robotics schools for students.

If you want to learn more about the program, check out the CSAI program webpage.

See you at the livestream!

The JetBrains Academy team

]]>
JetBrains Academy’s New Projects and Topics: June Update https://blog.jetbrains.com/education/2023/06/05/jetbrains-academy-s-new-projects-and-topics-june-update/ Mon, 05 Jun 2023 07:44:12 +0000 https://blog.jetbrains.com/wp-content/uploads/2023/06/Blog_Featured_image_1280x720.png https://blog.jetbrains.com/?post_type=education&p=360235 New projects for Python, Frontend, Kotlin, and Java learners are hot off the press!

In the past month, we’ve been busy creating a total of 10 projects and 53 topics for you to dive into. But that’s not all! We’ve also introduced two new tracks: Practicing Algorithms with Python and Kotlin Backend Developer (Spring Boot). These tracks have already received great reviews from our students, with ratings of 5.0 and 4.8 respectively. So be sure to give them a try and see why they’re so highly recommended.

Now let’s look at the latest updates in more detail.

Python

🆕 Project: Barbershop Simulation (Beta). Easy

Imagine you run a barbershop with several barbers. You’re curious about what will happen if one of them quits. Will the workload for other barbers increase? Will the average service time increase? These questions are hard to answer even if visitors come at regular intervals. In this project, you will simulate the work of a barbershop under various conditions and learn how to analyze the results.

🆕 SQL project: Databases for Sales (Beta). Easy

The volume of data generated by your car dealership continues to grow daily. The data can help you draw significant conclusions to run the business more efficiently. But first, you need a convenient way to collect, organize, and store the data. This project focuses on designing and optimizing a database system enabling efficient data management.

🆕 SQL project: Computer Store Database (Beta). Easy

As the manager of the computer hardware shop, one of your responsibilities is to retrieve data from the existing database efficiently. Accurate data retrieval is crucial for creating reliable financial documents, accounting records, and business reports. Learn to write basic queries on SQL and master the SELECT, FROM, GROUP BY, and WHERE clauses, including summation functions, logical operators, and comparison operators.

🆕 Project: Smart Calendar (Beta). Medium

In this project, you’ll develop a simple reminder calendar that will be able to save notes and dates of birthdays and remind you about them. Learn how to work with the datetime module and how to use files to save notes.

🆕 Topics: 

Last month 2 Python projects got high scores for their usefulness, clarity, and fun from our students. Check out Corpus Annotation from Scratch and HyperForms, which have just been released from Beta.

Frontend

🆕 Project: Photo Slider (Beta). Hard

These days, images occupy a good part of every website. One of the ways you can display them is to use a photo slider. The photo slider allows you to exhibit important work in an eye-catching way. In this project, you’ll learn how to implement the photo slider on your site.

🆕 Project: Petbook (Beta). Hard

Introducing the new social network for pets: the Petbook! It’s that simple — as the leading developer, you will design the layout for it. Practice an actual work process in the frontend field: use HTML and CSS to build a multipage website from our carefully prepared Figma designs.

🆕 Topics: 

Kotlin

🆕 Project: HyperMetro (Beta). Challenging

Write an application that will help you better navigate the complicated metro system while gaining a better understanding of algorithms and data structures, such as doubly linked lists and graphs.

🆕 Project: Restaurant Menu App (Beta). Challenging

Let’s make an app that will help waiters to manage client orders in a restaurant. It consists of a simple layout with buttons and several visual cues to register various orders. Learn the basics of Android Compose like text, row, col, button, event handling, and state management.

🆕 Topics:

Java

🆕 Project: Honest Calculator (Beta). Medium

Hone your understanding of loops, conditions, and algorithms by building a simple calculator. Later on, this calculator will motivate users to do math themselves by becoming increasingly honest with them. For example, if they need to do tricky calculations with floats, the calculator will just solve it. However, if the equation is a sum of two integers like 2 + 3, it will suggest solving it themselves.

🆕 Topics:

Docker

🆕 Project: Run Docker Run (Beta). Easy

In this project, you will learn how to create and run a container with a web application. In particular, you’ll build a custom image from an official image, create containers from an image, and start, stop, and delete a container.

Data science

🆕 Topics: 

DevOps

🆕 Topics: Getting data from standard input, Orchestration tools, Git diff, Components of Kubernetes

Algorithms

🆕 Topics: Hamming code, Hamming decoding

Bash

Last month the Bash project got high scores for their usefulness, clarity, and fun from our students. Give Hyper Commander a try, which have just been released from Beta!

Go

🆕 Topic: Relationships between models

Scala

🆕 Topic: Lambdas

Databases and SQL

🆕 Topic: ​​Indexes in MongoDB

That’s it for this month! We hope you’ll find a fun way to gain new programming skills with one (or a few) of these new projects and topics.

Note that projects marked as Beta are still in the early stages of testing. If you’re interested in checking out Beta projects on the platform, make sure the Beta-tester feature is enabled in your profile settings.

If you have any questions or if you would like to share your feedback, feel free to leave a comment below, contact us at academy@jetbrains.com, or share your thoughts with us on Twitter or Facebook.

Enjoy learning!
Your JetBrains Academy team

]]>
JetBrains Academy Plugin 2023.5 Is Available https://blog.jetbrains.com/education/2023/06/02/jetbrains-academy-plugin-2023-5-is-available/ Fri, 02 Jun 2023 14:25:58 +0000 https://blog.jetbrains.com/wp-content/uploads/2023/06/Featured_image_1280x600_EduTools-7.png https://blog.jetbrains.com/?post_type=education&p=359862 This release is packed with new features for course creators. You can now easily сustomize course structures, task сode highlighting, and the default course opening view.

We’ve also made more than 20 bug fixes and improvements across the entire plugin, from Codeforces solution submissions to matching problems for JetBrains Academy and Hyperskill.

To check out the latest improvements, install the JetBrains Academy plugin, or update it to the latest version from Settings (Preferences for macOS) | Plugins in your JetBrains IDE.

INSTALL FREE PLUGIN

Enhanced course structure management: easy copying of sections, lessons, and tasks

In the previous release, a feature was added to make it easier for course authors to copy tasks within a course by duplicating directories. Before that, the author had to manually add the new task to the lesson by editing the lesson-info.yaml file.

This release extends the functionality to allow copying tasks, lessons, and sections within a course. The course structure will be automatically updated to match the structure of the section-info.yaml, lesson-info.yaml, and task-info.yaml files as they exist on the disk.

Disabling code highlighting for individual task files

As a creator, you may want to disable сode highlighting for some of the problems in your Marketplace course that contain only part of a code block. Consider a Java task that showcases a content of the Java main method: System.out.println("Hello World");

Since this line of code does not have defined class and main methods, it will be automatically highlighted as an error for the student. To disable this functionality, follow these steps:

  1. Open the configuration file task-info.yaml.
  2. Add the field highlight_level: NONE in the YAML file of the task.

This task will no longer be automatically checked by the code inspection.

Customizable default course opener

New functionality enables course creators to customize the course’s default view for students. In the previous course opening flow, the README file would automatically open when a student accessed the course.

While this was the default behavior, many courses are designed in a way that eliminates the need for students to specifically refer to it. Starting with this release, the readme.md file will no longer be automatically created.

Notable improvements and bug fixes

  • EDU-5837 We resolved the submission loading issue that occurred with the Solve in IDE functionality.
  • EDU-5891 You can now share your news about completed courses on Twitter. 
  • EDU-5862 We fixed the bug preventing new task creation in framework lessons after restarting the course.
  • EDU-5870 The task submissions for Codeforces problems are now shown in the IDE as expected.
  • EDU-5815 Multiple choice tasks in Hyperskill tracks now have an option to select more than 1 answer in the IDE as well.
  • EDU-4653 We further improved the support of certain Hyperskill tasks in the JetBrains Academy plugin.
  • EDU-3520 Hyperskill tasks with cropped code snippets are displayed without code highlighting.

For the full list of issues addressed in the JetBrains Academy plugin 2023.5, see our issue tracker.

We hope you enjoy this release, and as always, please share your feedback with us in the comments section below and use our issue tracker to report any issues or bugs you encounter.

The JetBrains Academy team

]]>
Reinforcement Learning Maze Solver https://blog.jetbrains.com/education/2023/05/09/reinforcement-learning-maze-solver/ Tue, 09 May 2023 14:48:25 +0000 https://blog.jetbrains.com/wp-content/uploads/2023/05/Blog_Featured_image_1280x600-12.png https://blog.jetbrains.com/?post_type=education&p=350661 Reinforcement learning is an exciting subfield of machine learning that focuses on teaching agents how to make decisions based on rewards and penalties. Reinforcement learning is like training a puppy. Just as a puppy learns by receiving a reward when it behaves well and being scolded when it misbehaves, reinforcement learning algorithms learn in a similar fashion as they attempt to solve a problem.

Our new course, Reinforcement Learning Maze Solver, teaches you to harness the power of reinforcement learning by guiding you through the process of building a simple algorithm that trains a learning agent to solve a 2D maze in the fewest possible steps.

Whether you’re interested in artificial intelligence and machine learning or just looking to expand your Python programming skills, this course is an excellent choice.

GET STARTED

Course prerequisites and the project you’ll build

This practice-oriented course is aimed at learners who are already familiar with Python and want to learn how to implement another simple algorithm. You will need a good understanding of Python syntax, data structures, classes, and objects, as well as a fair understanding of NumPy arrays and operations on them. Basic math skills and the ability to read and understand formulas are also required.

In this course, you will:

✅ Learn key concepts of reinforcement learning.

✅ Discover the types of use cases for these algorithms.

✅ Understand the limitations of these approaches.

By the end of this course, you will have implemented a Q-learning algorithm that uses rewards and penalties to teach a learning agent how to navigate through a maze, iteratively updating a table with scores to optimize the learning process. In addition, you will build a dynamic visualization of the agent’s progress through the maze, which will help you see whether the algorithm you built works properly.

custom_videos

If you are new to Python or machine learning, we recommend starting with our Introduction to Python and NumPy courses. This will give you a solid foundation to build upon as you progress to more advanced topics.In this reinforcement learning project, you will be solving a predefined maze. If you want a more comprehensive experience, we recommend taking our AMazing course, which guides you through the process of building the same maze from scratch.

Meet the course author

Sofia Kolchanova has a background in bioinformatics and comparative genomics, having studied and worked in both the USA and Russia. She holds a Master’s degree in genetics and biotechnology. In 2018, Sofia began working at JetBrains as a collaborator for the Neurodevelopment and Neurophysiology Lab. Later in 2020, she transitioned to JetBrains Academy, where she currently works as a data analyst and educational content creator. Sofia is an enthusiast of science, technology, and critical thinking and a lifelong learner, passionate about the team’s goal of bridging the gap between complex STEM concepts and accessible, engaging content.

What’s next

From teaching robots to perform complex tasks to creating intelligent game-playing agents, reinforcement learning has become an essential tool in the field of AI.

By completing Reinforcement Learning Maze Solver, you’ll gain valuable hands-on experience implementing a simple reinforcement learning algorithm. From here, you can take your knowledge further by exploring more advanced Python algorithms and applications of reinforcement learning or by delving deeper into machine learning and artificial intelligence.

If you have any questions or would like to share your feedback, feel free to leave a comment below or contact us at academy@jetbrains.com.

Keep learning!
Your JetBrains Academy team

]]>
Livestream: Computer Science and Artificial Intelligence Program https://blog.jetbrains.com/education/2023/05/08/livestream-computer-science-and-artificial-intelligence-program/ Mon, 08 May 2023 12:48:50 +0000 https://blog.jetbrains.com/wp-content/uploads/2023/05/Featured_image_1280x600-1.png https://blog.jetbrains.com/?post_type=education&p=349795 Join us this Sunday, May 14, 9:00 am UTC (12:00 pm EEST), for the free Computer Science and Artificial Intelligence Program livestream.

You’ll learn about how our new bachelor’s program at Neapolis University Pafos in Cyprus can help you get closer to a future tech career. Students who graduate from bachelor’s and master’s programs developed in collaboration with JetBrains work at top IT companies like Meta, Google, and JetBrains, so don’t miss your chance to join the team!

You can register for the livestream by filling out the Google form, and we will then send you an email containing the registration link.

Please note that the program is still in the process of accreditation.

Speakers

Alexander S. Kulikov, Program Lead

Alexander teaches his students algorithms and discrete mathematics. He holds Ph.D. and Dr.Sci. degrees from Steklov Mathematical Institute, and serves as the head of the Laboratory of Algorithms and Complexity Theory at JetBrains Research. 

Alexander will go through the highlights of the bachelor’s program, tell you about the skills you’ll acquire, and explain how you can apply them in real projects in your future career.

Natalia Kitaeva, Project Coordinator

Natalia manages and oversees educational initiatives at JetBrains, including the Computer Science and Artificial Intelligence program. She provides guidance and support to students and ensures a positive learning experience.

Natalia will walk you through the application and admissions process and answer any questions you may have.

Come prepared with any questions you may have – we’ll try to answer them during the stream! The recording will be made available shortly afterwards.

The JetBrains Academy team

]]>
JetBrains Academy’s New Projects and Topics: May Update https://blog.jetbrains.com/education/2023/05/04/jetbrains-academy-s-new-projects-and-topics-may-update-2/ Thu, 04 May 2023 14:11:06 +0000 https://blog.jetbrains.com/wp-content/uploads/2023/05/Blog_Featured_image_1280x600-11.png https://blog.jetbrains.com/?post_type=education&p=348939 As we head into summer, we’re excited to announce our May content update which includes nine new projects for Python, Kotlin, Java, Flask, Android, and Bash, ranging from easy to challenging, as well as 55 new topics. 9 projects that were previously in Beta have also now been fully released!

At JetBrains Academy, we are dedicated to providing learners’ with the best possible learning experience, and we are constantly improving our content based on learners feedback. We encourage you to share your thoughts, especially on Beta projects and topics, as this feedback helps us to make our interactive platform even better.

Now let’s dive into the updates in more detail.

Python

🆕 Project: My First Project (Beta). Easy

This project is great for beginners who are just starting to learn Python programming. You’ll learn some of the basics of Python syntax, including integer arithmetic, variables, and how to take user input. The goal of the project is to help you create a simple tool that will calculate your net income for the first month of running a small corner shop.

🆕 Project: Spell Checker (Beta). Challenging

It’s hard to imagine a time before spell checkers, as we now rely on them heavily to ensure our writing is error-free. This project is a simple introduction to the world of NLP. You’ll learn how to create a simple spell checker using Python, the Levenshtein distance algorithm, n-gram models, and the Natural Language Toolkit (NLTK) library.

🆕 Topics:

Furthermore, we’ve released the projects Maze Runner, Jeopardy! Question Answering Bot, Learning Progress Tracker, HotKitchen, School of Wizards and Magic Wars and Duskers from Beta, with improved features and functionality for learners.

Kotlin

🆕 Project: File Server (Beta). Challenging

Do you ever worry about losing your precious data? Storing files on a server can help prevent that, as it provides a reliable backup and allows you to access your files from anywhere. In this project, you will learn how to create your own file server that can handle multiple client connections. You’ll gain experience working with sockets in Kotlin and improve your multithreading and serialization skills.

🆕 Project: JSON Database (Beta). Challenging

JSON is a versatile data format that’s widely used in web development to exchange data 

between servers and clients. In this project, you will create a client-server application in Kotlin that allows clients to store their data on the server in JSON format. You’ll learn how to implement parallelization and handle multiple client requests simultaneously, improving the overall performance of your application.

🆕 Topics:

Additionally, the Maze Runner has been released from Beta.

Flask

🆕 Project: Recipe Builder API (Beta). Challenging

In this project, you will create a web service with Flask that allows you to store, retrieve, update, and delete recipes. With a pre-uploaded list of recipes to choose from, you’ll be able to find your next meal in seconds. Through this project, you’ll gain experience with Flask, JSON, and the SQLAlchemy SQL toolkit, making it a great opportunity for beginners to learn about backend development.

🆕 Project: Above the Rim API (Beta). Challenging

Create your own API from scratch and improve it with new functionalities to post basketball game results right after a match is over. By the end of the project, you’ll have a fully functional API that can add new teams and game results, making it easier than ever to stay up-to-date with the latest scores.

Java

🆕 Project: Last Pencil (Beta). Easy

Become the mastermind of the Last Pencil game and challenge your friends to a match. In this project, you will create a simple but engaging game where you can decide who wins. You’ll practice the basics of Java programming, from creating variables and methods to using loops and conditionals to build a fully functional game.

🆕 Topics:

Android

🆕 Project: Simple Bank Manager (Beta). Challenging

Want to learn how to manage your bank account and pay bills on-the-go? In this project, you will create a simplified version of a banking app using Android Studio and Kotlin. You will gain a better understanding of how to use Kotlin in the development process while building your first banking application.

Bash

🆕 Project: File Janitor (Beta). Easy

Learn how to master the command line and automate your work with Bash scripts. In this project, you’ll explore the basics of Bash scripting, including functions, arguments, and conditional statements. You’ll also discover useful utilities and learn how to automate tasks with shell scripts. Whether you’re a beginner or a seasoned Linux user, this project will help you sharpen your skills and take advantage of the power of the command line.

Frontend

🆕 Topics:

Additionally, the projects Amazing Prices and Dog Glossary are now out of Beta.

Data Science

🆕 Topics:

Fundamentals

🆕 Topics:

Scala

🆕 Topic: High-order functions

Mobile

🆕 Topic: Recomposition

Projects marked as Beta are still in the early stages of testing. If you’re interested in checking out Beta projects on the platform, make sure the Beta-tester feature is enabled in your profile settings.

That’s it for this month! We hope that you will find these updates valuable and that they will enhance your learning experience. As always, we welcome your feedback and suggestions, so please don’t hesitate to get in touch with us at academy@jetbrains.com or share your thoughts with us on Twitter or Facebook.

Enjoy learning!
Your JetBrains Academy team

]]>
Introducing the Computer Science and Artificial Intelligence Bachelor’s Program With Neapolis University Pafos https://blog.jetbrains.com/education/2023/05/03/introducing-the-computer-science-and-artificial-intelligence-bachelor-s-program-with-neapolis-university-paphos/ Wed, 03 May 2023 11:31:47 +0000 https://blog.jetbrains.com/wp-content/uploads/2023/05/Blog_Featured_image_1280x600.png https://blog.jetbrains.com/?post_type=education&p=347959 Together with Neapolis University Pafos (NUP), our partner university in Cyprus, we are announcing the launch of the Computer Science and Artificial Intelligence bachelor’s program.

NUP is a leading private university in Cyprus that was established in 2010. It reflects our core values, particularly in providing high-quality higher education, generating innovative applied knowledge, and serving as a hub for primary research activity through its Scientific Centers and Laboratories.

This is a unique chance to acquire skills you can apply in your future career by learning from the best. The program is headed by a team of prominent industry experts, computer scientists, and world champions in competitive programming.

Please note that the program is still in the process of accreditation.

About the program

This undergraduate program focuses on Information Technology, Robotics, Machine Learning, and Theoretical Computer Science. Designed to empower students with a solid foundation in computer science, mathematics, and modern IT, our program equips you with the practical skills needed to excel in today’s competitive tech landscape.

Students who graduated from bachelor’s and master’s degree programs developed in collaboration with JetBrains work at top IT companies like Google, Meta, and JetBrains, as well as continue their studies at Ph.D. programs at top-notch universities like NYU, Princeton University, and UCSD.

The program will develop your ability to:

  • Comprehensively explain the fundamentals of mathematics and computer science, which form the basis of modern software, artificial intelligence, and robotics.
  • Design innovative hardware architectures for next-generation processors, computers, and sensors by applying processor design methods and tools.
  • Create general and special-purpose operating systems, along with performance analysis tools.
  • Develop optimal high-load services and distributed systems for maximum efficiency.
  • Construct programming languages, compilers, interpreters, virtual machines, and frameworks to facilitate software development.
  • Apply artificial intelligence techniques to enhance search engines, social networks, and intelligent assistants.
  • Use robotics in autonomous robots, the Internet of Things, and other applications.
  • Implement machine learning and deep learning algorithms across various domains, such as computer vision, natural language processing, reinforcement learning, and recommendation systems.
  • Establish and manage IT businesses, fostering effective team collaboration, process management, and customer and partner relations.

What background is expected

We expect all applicants to have a strong background in high school mathematics and know the basics of at least one programming language. We encourage you to check your background using this automatically graded test. It contains nine problems, and you will be asked to work on them for 2 hours in a row.

If you are only able to solve a maximum of 4 problems, it may be challenging for you to pursue studies in the Computer Science and Artificial Intelligence program. If you can solve at least 6 problems, then the program is a perfect match for you.

How to apply

You can apply for the upcoming 2023 program or send your application for the 2024 program. The classes for this year’s program commence on October 1, 2023.

  1. To indicate your interest in the program, please complete the Google form. We will then send you the application form, the list of required documents, and further instructions. The sooner you begin, the more time you’ll have to prepare your application documents. The deadline for applications is June 15, 2023.
  2. Once we’ve reviewed your application, we’ll send an interview invitation to your email address. Based on the interview results, we expect up to 40 students to be accepted into the program.

Financing and scholarship

The interview process comprises solving mathematical problems and engaging in a conversation with our team. If you’re successful, the company will cover the tuition fee, accommodation, and provide a monthly stipend of €300 for 15 selected applicants in the form of a grant.

We believe that education is a significant investment in your future, and we work hard to make it an affordable reality for students from all over the world. If you do not receive a fully-funded scholarship, the tuition fee will amount to €6,000 per year. Accommodation fees vary based on the type chosen, ranging from €2,000 to €6,000 per year. The fee remains fixed for the academic year.

We’ll be doing a livestream to answer any extra questions you have about the program. We’ll end it with a Q&A session, so stay tuned for more details. Alternatively, feel free to contact us at nup@jetbrains.com.

Meet our professors

We are pleased to introduce you to a team of seasoned professors with over 10 years of expertise in Computer Science research and education.

Alexander Avdiushenko holds a Ph.D. degree in math modeling. He is a dedicated educator and project manager at JetBrains Education and Research team. With over 3 years of experience as a Data Scientist and over 7 years of teaching at top universities, he has honed his skills in deep learning and data optimization. Passionate about both machine learning and human learning, Alexander has developed an engaging Machine Learning course that showcases his expertise and commitment to education.

Tatiana Berlenko is a researcher in the Mobile Robot Algorithms Lab at JetBrains Research interested in Simultaneous Localization and Mapping in 3D. Tatiana has 6 years of experience teaching Computer Science and Software Engineering at universities, creating MOOCs, and conducting STEM-based robotics schools for students and schoolchildren.

Kirill Krinkin holds a Ph.D. degree in Computer Science. Kirill is doing research in robotics autonomy and is an accomplished author or co-author of over 100 technical papers. For more than 20 years, Kirill is a seasoned organizer of STEM schools worldwide, has collaborated with top-tier universities and international companies in software engineering, operating systems, computer networks, autonomous mobile robots, and co-evolutionary hybrid intelligence. Under his expert guidance, student teams won the AI-DO twice, once at ICRA and once at NeurIPS.

Check out the Linux Container Technologies and Their Applications lecture to get to know Kirill more.

Alexander S. Kulikov holds Ph.D. and Dr.Sci. degrees from Steklov Mathematical Institute. He serves as the head of the Laboratory of Algorithms and Complexity Theory at JetBrains Research. Alexander co-authored Data Structures and Algorithms and Introduction to Discrete Mathematics for Computer Science online courses that are available at Coursera and edX.

Take a look at The Satisfiability Problem lecture to get a feel of Alexander’s teaching style.

Pavel Mavrin is an expert in algorithms and data structures. Pavel has participated in many programming competitions. His most prestigious title is ICPC World Champion 2004.

Watch Pavel’s Parallel algorithms lecture to get to know him as your future professor.

Ivan Mihajlin is a theoretical computer scientist interested in computational complexity theory. He did his Ph.D. studies at the University of California, San Diego. He was a visiting graduate student at the Simons Institute for the Theory of Computing at Berkeley.

Learn more about Ivan and his teaching style in his Non-equivalence of Hardness Assumptions lecture.

Niyaz Nigmatullin is a software engineer in Applied Program Analysis Laboratory at JetBrains. He used to research and develop compression algorithms and data-storing techniques. He teaches algorithms and data structures, competitive programming, as well as organizes various programming competitions. He was a world champion in the most prestigious competitive programming competition, the ICPC International Collegiate Programming Contest, in 2012 and 2013.

Key information

Language of studies: English
Program duration: 4 years, full-time
Place: Neapolis University Paphos, Cyprus
Tuition fee: €6,000 per year.
Number of students: 40
Number of grants: 15
Deadlines:

  • October 1, 2023: Classes commence.
  • June 15, 2023: Application deadline.

Our team has thoughtfully designed the program to ensure that you not only acquire the necessary skills but also enjoy your studies. We wish you the best of luck in getting into the Computer Science and Artificial Intelligence program! Meanwhile, we are working to establish additional collaborative initiatives with our partner universities. Stay tuned for more of these announcements on Twitter and Facebook.

Enjoy learning!
Your JetBrains Academy team

]]>
JetBrains Academy Plugin 2023.4 Is Available https://blog.jetbrains.com/education/2023/04/27/jetbrains-academy-plugin-2023-4-is-available/ Thu, 27 Apr 2023 08:42:47 +0000 https://blog.jetbrains.com/wp-content/uploads/2023/04/Featured_image_1280x600_EduTools-2x.png https://blog.jetbrains.com/?post_type=education&p=345296 The 2023.4 version of the JetBrains Academy plugin introduces a long-waited feature for learners. Now you can review all your code submissions to keep track of mistakes and find the most efficient solution to the task. For course creators, we made it easier to rename courses.

To check out the latest improvements, install the JetBrains Academy plugin or update it to the latest version from Settings (Preferences for macOS) | Plugins in your JetBrains IDE.

Review your code submissions for courses on JetBrains Marketplace

Tracking your code submissions is crucial to efficient learning. It allows you to understand your strengths and weaknesses, identify patterns of mistakes, and learn from those mistakes. To make this easier, we’ve made it possible for you to review all of your task submissions via the Task Description window. Switch to the Submissions tab and compare your various attempts to solve the problem.

code_submissions

You can take any course on JetBrains Marketplace for free! From your JetBrains IDE, go to My Courses tab > Start New Course > Marketplace and choose from a variety of courses of different proficiency levels.

Rename the courses you create more easily

With the new course creator functionality, you now have the ability to easily modify the names of your courses. First, change the name of your course via the course-info.yaml file and then upload the update to JetBrains Marketplace.

If you’ve already created a course with the older plugin version, follow the steps below to rename your course:

  1. Change the name of the course in the course-info.yaml file.
  2. Add the generated_edu_id property to the same file.

To find out your course’s generated_edu_id value, update the course-info.yaml file without adding generated_edu_id. You’ll get the error message that contains the following  information:

Failed to upload course update for course course_number: {"statusCode":400,"message":"You cannot change the plugin ID. The ID of the edited plugin is CourseName_AuthorName_LanguageName, but you uploaded a plugin with the ID CourseName renamed_AuthorName_LanguageName."} Code 400.

The generated_edu_id in the error is CourseName_AuthorName_LanguageName.

  1. Export the course as an archive.
  2. Upload the .zip file to JetBrains Marketplace.

If you want to learn more about the JetBrains Academy plugin features for course creators, check out our Course creator start guide or drop us an email at academy@jetbrains.com.

Notable improvements and bug fixes

  • EDU-2796: When you copy and paste tasks and lessons in the Project window, they are now added to the task-info.yaml and lesson-info.yaml files, respectively.
  • EDU-5305: We fixed a bug that was preventing courses from being exported to .zip files.
  • EDU-2510: The answer placeholders are now sorted in the .yaml file the same way they are listed in the course.

For the full list of issues addressed in the JetBrains Academy plugin 2023.4, see our issue tracker.

We hope you enjoy this release, and as always, please share your feedback with us in the comments section below and use our issue tracker to report any issues or bugs you encounter.

The JetBrains Academy team

]]>
JetBrains Academy’s New Projects and Topics: April Update https://blog.jetbrains.com/education/2023/04/06/jetbrains-academys-new-projects-and-topics-april-update/ Thu, 06 Apr 2023 15:39:38 +0000 https://blog.jetbrains.com/wp-content/uploads/2023/04/Blog_Featured_image_1280x600-10.png https://blog.jetbrains.com/?post_type=education&p=341057 At JetBrains Academy, we believe that learning can be both educational and entertaining. Our latest projects let you build your own traffic light, create a hospital appointment booking system, and even a password hacker project – not coincidentally combining learning and fun.

This month we’ve released 10 new projects and 36 topics across a variety of programming areas, including Java, Python, Flask, frontend, and data science. Let’s take a closer look at what’s new in our project repository.

Java

🆕 Project: Traffic Light (Beta). Medium

Do you know how traffic lights work? In this project, you’ll have the opportunity to create a simplified version of your own traffic light and learn a variety of new skills in the process. By the end of the project, you’ll be able to work with multithreading, handle exceptions, inherit classes, and use the circular queue data structure.

🆕 Project: Hospital Appointment Booking System (Beta). Hard

In this project, you’ll learn how to build REST services with Spring Boot and work with databases, JSON, and REST API basics. Using your newfound skills, you’ll develop an appointment system based on a REST API that will improve the management of hospitals. Patients can easily schedule appointments, the head physician can monitor doctors’ workloads, and doctors can better plan their days.

🆕 Project: Password Hacker (Beta). Challenging

Get ready to enter the world of hacking with our Java project! As a hacker, your mission is to connect to a secret server without knowing the password. Through this project, you’ll learn about the key tools and techniques used in hacking, including iterators, generators, and the itertools module in Java. You’ll also develop a client app and connect to a server using the socket module, all while gaining a deeper understanding of JSON and the time module.

Additionally, the Meal Planner project has been released from Beta.

🆕 Topics:

Python

🆕 Project: Jeopardy! Question Answering Bot (Beta). Challenging

Challenge yourself with our Jeopardy!-style question-answering project, where you’ll create a bot that can answer questions from various fields of knowledge. Can you outdo IBM Watson, which famously beat humans at this game in 2011? Learn how to use sentence-embedding algorithms to separate user questions, and gain insights into preparing a corpus for creating a Q&A system.

🆕 Project: Marathon Runners (Beta). Hard

Get introduced to machine learning by implementing one of the most popular algorithms – the k-nearest neighbors (KNN) algorithm. In this project, you’ll use basic Python tools to code the KNN algorithm from scratch and solve classification problems. You’ll learn about basic data types, practice using Python functions, and get an introduction to object-oriented programming. Additionally, you’ll learn how to prepare and normalize data before feeding it into a machine learning algorithm.

🆕 Project: Learning Progress Tracker (Beta). Hard

Build an education platform to manage registrations, track learning progress, and provide detailed information for users and categories. You’ll practice using loops, flow controls, functional decomposition, and SOLID principles. Learn how to process strings and leverage the unittest framework to ensure error-free code. Suitable collections such as lists will be used to sort and filter data.

Furthermore, we’ve released the projects Simple Text Summarization, Sorting Tool, and Video Game Database from Beta, with improved features and functionality for learners.

Flask

🆕 Project: Movie Database API (Beta). Challenging

Movie buffs will love this new project. Using a movie database, you’ll learn how to use SQLAlchemy to design and implement database table mappings, insert and retrieve data, and filter data by building SQL queries. You’ll also gain valuable experience in implementing data models and relations in a database schema. Grab some popcorn and let’s get started!

Additionally, the Memorization Tool has been released from Beta.

Frontend

🆕 Project: URL Shortener (Beta) Medium.

In this project, you will create a web page to shorten website URLs using HTML and JavaScript. You will also practice manipulating the Document Object Model (DOM) to take input from the user and display the results dynamically. This is a great opportunity to apply your HTML and JavaScript skills in a practical setting and gain hands-on experience with web development.

🆕 Project: Dog Glossary (Beta). Hard

Who doesn’t love seeing cute dog pictures online? Create your web page to display random dog pictures and a list of dog breeds using a public API. This project will help you practice handling APIs and improve your HTML and JavaScript skills. Through fetching data from an API and displaying it on the web page, you’ll learn how to work with promises and handle different data structures.

🆕 Topics:

Data science

🆕 Machine learning project: Naive Bayes Classifier with Pen and Paper (Beta). Easy

In this project, you’ll gain insight into the process of converting words into numerical data and discover the inner workings of the Naive Bayes classifier. Through working on a simple dataset, you’ll develop familiarity with solving classification problems. You’ll also learn about language identification – a crucial task in natural language processing – and discover how to create a basic classifier with only a pen and paper.

Additionally, the projects Generating Randomness and Linear Regression from Scratch are now out of Beta.

🆕 Topics:

This month we have also released a new Game Development with Unity track and updated Introduction to Natural Language Processing. Check them out if you missed them.

Kotlin

The Contacts project has been released from Beta.

🆕 Topics:

Bash (Unix shell)

The Enigma project is now out of Beta.

Android

🆕 Topic: Parcel and Bundle

Fundamentals

🆕 Topics:

Note that projects marked as Beta are still in the early stages of testing. If you’re interested in checking out Beta projects on the platform, make sure the Beta-tester feature is enabled in your profile settings.

That’s it for this month! We hope that you will find these updates valuable and that they will enhance your learning experience. As always, we welcome your feedback and suggestions, so please don’t hesitate to get in touch with us at academy@jetbrains.com or share your thoughts with us on Twitter or Facebook.

Enjoy learning!
Your JetBrains Academy team

]]>
https://blog.jetbrains.com/pt-br/education/2023/04/06/jetbrains-academys-new-projects-and-topics-april-update/ https://blog.jetbrains.com/ja/education/2023/04/06/jetbrains-academys-new-projects-and-topics-april-update/ https://blog.jetbrains.com/es/education/2023/04/06/jetbrains-academys-new-projects-and-topics-april-update/
JetBrains Academy Plugin 2023.3 Is Available https://blog.jetbrains.com/education/2023/03/30/jetbrains-academy-plugin-2023-3-is-available/ Thu, 30 Mar 2023 10:58:42 +0000 https://blog.jetbrains.com/wp-content/uploads/2023/03/Featured_image_1280x600_EduTools-6.png https://blog.jetbrains.com/?post_type=education&p=338547 Today, we’re releasing a new version of the JetBrains Academy plugin, packed with exciting new features designed to make it easier for you to learn and teach coding.

You can now solve unsupported tasks on Hyperskill and resume your studies without skipping any tasks. This release also adds support for the 2023.1 versions of JetBrains IDEs. Additionally, we’re discontinuing Stepik integration in the plugin. To check out these and other improvements, install the JetBrains Academy plugin or update to the latest version from Settings/Preferences | Plugins in your JetBrains IDE.

INSTALL JETBRAINS ACADEMY PLUGIN

Unsupported Hyperskill tasks are now shown in the IDE

There are some types of tasks that are currently not supported by the JetBrains Academy plugin, such as  matching, sorting, and table tasks. Previously, when learners tried to download such tasks, the plugin would ignore them and download the next task instead.

Now, you will see a message in the task description, prompting you to solve it directly on Hyperskill. This means you can now smoothly resume studying your topic in the browser without skipping any tasks. Furthermore, you can click the “Sync with Hyperskill” button to check whether your task was correctly solved in the browser.

Discontinuing Stepik integration

Starting with the upcoming 2023.3 version of the JetBrains Academy plugin, Stepik courses will no longer be available in JetBrains IDEs. The Stepik tab will be removed from the course selection view.

However, courses such as Introduction to Python, Kotlin Koans, Atomic Kotlin, and Learn Rust, formerly hosted by Stepik, have been migrated to JetBrains Marketplace, the repository of JetBrains Academy’s IDE-based courses.

If you’re a student of these courses, you can continue your studies in JetBrains IDEs. In the event that your course is not available on JetBrains Marketplace, you will be suggested to continue working on it via the Stepik website:

Notable improvements and bug fixes:

  • EDU-5714 Lessons are not deleted and task folders are not duplicated anymore when you update a course to the latest version.
  • EDU-5611 Rust courses are now working with the latest Rust edition 2021.
  • EDU-5587 The JetBrains Academy plugin now supports the 2023.1 versions of JetBrains IDEs.
  • We’ve also fixed the bug causing display issues for some icons inside the plugin.

For the full list of issues addressed in the JetBrains Academy plugin 2023.3, see our issue tracker.
Please share your feedback with us in the comments section below or on Twitter, and use our issue tracker to report any issues or bugs you encounter.

The JetBrains Academy team

]]>
Start Your Game Development Path With Unity https://blog.jetbrains.com/education/2023/03/21/start-your-game-development-path-with-unity/ Tue, 21 Mar 2023 10:51:32 +0000 https://blog.jetbrains.com/wp-content/uploads/2022/12/Blog_Featured_image_1280x600-5-1.png https://blog.jetbrains.com/?post_type=education&p=310319 In the last couple decades, video games have become one of the most influential and innovative forms of entertainment, and the game industry keeps on growing. If you’re not interacting with this medium already, there’s a chance you might be soon – whether on your phone, a PC, a console, or on a VR set.

The magic of imaginary digital worlds is made possible by game engines – sets of tools designed for game building. Today, Unity is one of the most widespread cross-platform game engines for 2D, 3D, VR, and AR games, such as Angry Birds 2 and Pokémon Go. Released in 2005, it now supports over 25 different platforms and dominates more than half of the mobile gaming market.

Are you excited to bring your creations to life? Get started with our new track on JetBrains Academy – Game Development With Unity!

GET STARTED

Track description and prerequisites

Offering a free version, the Unity engine allows you to create games in almost every genre while enjoying great functionalities like high-quality visual effects, a Play Mode option, and built-in analytics. All of these features, and the fact that you don’t need to write a single line of code to develop a game, make Unity a perfect fit for both beginners and experienced game developers.

This learning track is designed for anyone interested in game development as a hobby or a career path. It’s a practice-oriented track that only includes projects where you create simple games with prepared templates. To start building Unity projects, learners should have basic knowledge of Unity installation and setup and C# programming, or be eager to learn it by doing.

The Game Development With Unity track is here to give you a great foundation for game design and game development that will help you create your own indie games from start to finish.

In this track, you will:

  • Create your first 2D or 3D game and deploy it on different devices.
  • Learn how to interact with game objects, game spaces, and the player.
  • Discover how to use behavioral scripts to manipulate game objects.
  • Work with the graphical user interface (GUI) and users’ preferences.
  • Publish your game on any game-hosting platform.

The projects you’ll build

The track contains 4 real-world projects for you to complete, allowing you to experience what it’s like to be a game developer. Let’s take a closer look at a couple of them:

It’s Raining Cubes

This project will teach you how to create a casual game using Unity. Develop a game where players catch falling cubes with a moving platform. Along the way, you will gain a basic understanding of the Unity game engine and some of its features.

custom_videos

Sunny Mood

Many well-known game developers started their careers by making rather simple 2D platformers. It is a good way to explore different unique mechanics and practice storytelling. In this project, you need to create a simple 2D platformer with different levels, items, enemies, and music.

A career to pursue after track completion

This track is designed to help anyone interested in pursuing a career in the 2D and 3D gaming industry. If you continue your education along this path, you will be able to become a game developer, game designer, or game producer.

If you have any questions or would like to share your feedback, feel free to leave a comment below or contact us at academy@jetbrains.com.

Keep learning!
Your JetBrains Academy team

]]>
Apply to Google Summer of Code – Kotlin Projects Available https://blog.jetbrains.com/kotlin/2023/03/google-summer-of-code-kotlin/ Mon, 20 Mar 2023 13:06:11 +0000 https://blog.jetbrains.com/wp-content/uploads/2023/03/DSGN-15981-Blogpost-banner-for-GSoC-with-Kotlin_Blog-Featured-image-1280x600-1.png https://blog.jetbrains.com/?post_type=kotlin&p=333565 Kotlin is taking part in Google Summer of Code (GSoC) for the first time!

GSoC is a global online program focused on bringing new contributors into open-source software development. This is an excellent opportunity to work on a 12-week programming project with the Kotlin Foundation under the guidance of mentors from Google, JetBrains, and Gradle, while gaining experience on a real-world project in the open-source community (with a chance to earn a stipend as well!).

Here are the proposed projects:

  • Kotlin Multiplatform protobufs
  • Kotlin Compiler error messages
  • Kotlin Multiplatform libraries
  • Groovy to Kotlin Gradle DSL converter
  • Eclipse Gradle KTS editing
  • Improve support for parameter forwarding in the Kotlin plugin for IntelliJ IDEA
  • Enhance the kotlinx-benchmark library API and user experience
  • Parallel stacks for Kotlin Coroutines in the debugger

See the full list of projects

Submit a proposal from March 20 to April 4 to be considered for one of these projects. 

To get started, please check the main contributor guidelines:

  1. Check out the GSoC FAQ and program announcement.
  2. Familiarize yourself with the Kotlin language
  3. Get to know the Kotlin open-source community and explore the general Kotlin contribution guidelines
  4. Refer to the GSoC contributor guidelines.
  5. Check out the project ideas and select the one you’d like to work on.
  6. Apply via the GSoC website.

See full guidelines

Thank you! We look forward to reading your applications!

]]>