JetBrains Academy
The place for learning and teaching computer science your way
JetBrains Academy’s New Projects and Topics: May Update
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:
- Control flow: Introduction to Functional Programming and Recursion in Functional Programming
- Python libraries: Introduction to AstroPy
- Django topics: Forms and Validation
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:
- Additional instruments: Sockets, MockK
- Concurrency and parallelism: Flows: error handling, dispatching
- Object-oriented programming: Class delegation, hashCode and equals, Sealed class and interface
- Ktor topics: Koin for Ktor, CORS
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:
- Additional instruments: Setting up a server with HttpServer and Kryo
- Spring Boot: Events and listeners, Intro to H2 database, Spring Security architecture
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:
- HTML: Buttons
- CSS: Grid rows and columns, Grid alignment: part 1, object-fit and object-position
- JavaScript: Introduction in websocket, Deep Copying Objects, Map, Shallow Copying Objects
- Node.js: ECMAScript modules, Sending requests, Introduction to the HTTP module, Intro to assert module, Intro to path module
Additionally, the projects Amazing Prices and Dog Glossary are now out of Beta.
Data Science
🆕 Topics:
- Instruments: Additional feature scaling techniques in sklearn, Feature scaling in sklearn, Polynomial Regression in sklearn
- Machine learning: Silhouette coefficient and Feature scaling
- NLP: OCR Implementation, Reading text from image, Information Retrieval and Question Answering, SARI, Text clustering, Topic modeling
Fundamentals
🆕 Topics:
- Essentials: Understanding JSON Web Tokens
- JVM: Serial GC
- SQL and Databases: CHECK constraint, CUBE, ROLLUP and GROUPING SETS, Data models, Array query operations, Importing and exporting data, SQLite dot commands
- System administration and DevOps: Customizing the on directive, Braces and parentheses, Introduction to Docker compose
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