JetBrains Academy
The place for learning and teaching computer science your way
JetBrains Academy’s New Projects and Topics: December Update
The most magical time of the year is underway and all of us are starting to prepare for the holiday season. At JetBrains Academy, we hope you and your loved ones have many cozy and joyful moments, and that the holiday season fills you with happiness, joy, and good cheer!
We hope that learning and discovering new things brings you joy too, and JetBrains Academy is always happy to help with this! Сheck out the 7 new projects and 22 topics that we released last month.
Python
🆕 Project: Hacker Attack (Beta). Easy.
Are you ready to fix a hacking attack? In this project, you’ll rebuild a destroyed school’s database while getting familiar with SQL commands. You’ll also work with csv
files, import data from files, and learn how to merge data from different tables.
🆕 Project: Video Game Database (Beta). Easy.
Working with a private detective, deciphering riddles in data, finding answers to questions about video game information – does this sound interesting? Go ahead and work on this project that will also teach you basic SQL commands for working with data.
🆕 Project: K-Means Clustering from Scratch (Beta). Hard.
In this project, you’ll dive into implementing one of the simplest algorithms for clustering data: KMeans. Explore it from scratch using only numpy,
pandas,
and matplotlib
for visualization. We’ll use the Wine dataset, so it won’t be boring!
We’ve recently introduced our new track, Pandas for Data Analysis (Beta). You’ll learn all about pandas, one of the most popular libraries for data analysis.
We also released 5 projects from Beta: Neural Network from Scratch, Decision Tree from Scratch, NBA Data Preprocessing, Salary Prediction, and Monty Hall Problem.
Bash (Unix Shell)
🆕 Project: True or False (Beta). Challenging.
Сreate a question game with the help of the curl
utility while getting familiar with Bash. You’ll also learn to connect an API, retrieve data from it, and work with files.
🆕 Project: Enigma (Beta). Challenging.
In this project you’ll write a program for encrypting messages and files. But first, you need some basic knowledge about ciphers. You will start with the validation of user input and then convert chars to ASCII values. In the end, you will build a simple cipher that creates a file and encrypts it with a Linux utility.
Kotlin
🆕 Project: Chuck Norris Cipher Decoder (Beta). Easy.
You know that everything can be encrypted as different characters, but what about encryption that uses only one character and spaces? This method has a name — the Chuck Norris cipher. In this project, you’ll create a program that can encrypt any text into a sequence of zeros and spaces and decrypt this sequence into text.
We also released the Words Virtuoso project from Beta.
🆕 Topics:
- Additional instruments: OkHttp
- Control flow: Scope functions: summary
- Types and data structures: Mapping transformation
- Ktor: Exposed advanced, Sessions, Thymeleaf template engine
Java
🆕 Project: Traffic Light (Beta). Medium.
Have you ever thought about how traffic lights work? In this project, we’ll implement a simplified version of a road junction in which many roads converge to one. You’ll learn how to work with multi-threading, handle exceptions, inherit classes, and implement and apply the circular queue data structure.
We also released the Graph-Algorithms Visualizer and Zookeeper projects from Beta.
🆕 Topic: Setting up Spring Boot tests
JavaScript
🆕 Topics: Intro to events module, CommonJS modules, Node.js CLI, Running Node.JS code, yarn
Go
🆕 Topic: Reader and Writer interfaces
Additionally, the Smart Calculator project has been released from Beta.
Scala
🆕 Topic: Scala build tool
Math
🆕 Topics: Exponential function, Inclusion–exclusion principle, Rule of sum and rule of product
Fundamentals
🆕 Topics:
- Algorithms and structures: Algorithmic thinking
- Databases and SQL: Basic data types
- Dev tools: Docker build and docker tag, Docker networking
- JVM: G1 Garbage collector
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, Facebook, or Reddit.
Enjoy learning!
The JetBrains Academy team