JetBrains Academy
The place for learning and teaching computer science your way
JetBrains Academy’s New Projects and Topics: November Update
October was another productive month for the JetBrains Academy team, as we released eight new projects and 37 new educational topics. With the new fun projects you can study Kotlin, Python, Go, Java, and Frontend in an interactive environment of JetBrains Academy. Refine your skills while creating your own online cinema or even a small inhabited universe!
Moreover, we recently introduced a new track on Machine Learning Algorithms From Scratch. With this track, you will get a deep understanding of how ML algorithms work and will learn to build them step by step.
Now let’s dive into the updates in more detail.
Python
🆕 Project: Movie Quality Predictor. Challenging.
Get acquainted with NLP and bag-of-words — a simple yet effective NLP method. With this project, you’ll try to make a natural language understandable for a computer, transform words into digits, and predict movie ratings using various metadata from the movie database.
🆕 Project: NBA Data Preprocessing. Hard.
The predictive performance of a machine learning model highly depends on the input data quality. Get an insight into how to improve the quality of your input data by removing the features with low predictive value, engineering new ones, and dealing with multicollinearity. You will be able to apply these concepts to NBA data to get a high-quality dataset ready to be supplied to a linear model.
🆕 Project: Salary Prediction. Hard.
Linear regression is one of the simplest yet most powerful tools for finding regularities in data and using them for prediction. In this project, you will practice fitting linear models with the scikit-learn library to predict the salary of NBA players. You will also learn how to apply polynomial feature engineering, test your data for multicollinearity, and evaluate models with the MAPE score.
🆕 Topics:
- Machine learning: Cross-validation, Over- and underfitting
Frontend
🆕 Project: Petbook (Beta). Hard.
Imagine if our pets had their own social network. In this project, you can create one yourself! You will build a multi-page website with modern animations from ready-made Figma designs.
As a leading developer of this project, you’ll practice your HTML and CSS skills, learn about HTML5 Forms and master CSS Flexbox.
🆕 Project: HyperCinema (Beta). Hard.
Create your own simple version of an online cinema. By completing this project, you will learn how to position elements on a page correctly with CSS, work with text and animation, and of course, play videos in a browser with HTML tools.
Kotlin
🆕 Project: Word Virtuoso (Beta). Medium.
This project is about creating a simple word guessing program with colors. Players must find a secret five-letter word by inputting their guesses. You’ll learn how to work with strings, files, and collections and how to use colors in console applications.
🆕 Topics:
- Ktor: Ktor Engines, JWT Authentication
- Android: Permissions, Memory-efficient data structures in Android, Plurals
- Additional instruments: Custom annotations
- Control flow: Scope functions: let, run, and with
- Types and data structures: Aggregate operations on collections, Fold and reduce on collections, Grouping collections
Additionally, the Encryption-Decryption project has been released from Beta.
Java
🆕 Project: Gitman (Beta). Easy.
Git is probably the most popular and convenient source control system, where you can work simultaneously on different tasks with code repositories. In this project, you will study the basic Git commands that allow you to create branches for each task, manipulate the codebase versions, and save your progress, similar to checkpoints in computer games.
Additionally, the Chuck Norris Cipher Encoder project has been released from Beta.
Go
🆕 Project: Game of Life (Beta). Medium.
In this project, you will create a small inhabited universe and observe the many patterns in which this “life” can evolve. Practice using slices, loops, string formatting, standard IO, and become confident working with random values in Golang while writing a simple “Game of Life”. Careful, you might find it hypnotizing!
🆕 Topics: Unicode package, Debugging Go code, CRUD Operations — Create
JavaScript
🆕 Topics: Date, For … in for Objects, XMLHttpRequest, XMLSerializer & DOMParser
Math
🆕 Topics: Quadratic equations, Solving systems of linear equations by substitution method, Induction
Fundamentals
🆕 Topics:
- NLP: Practical NLP applications, Theoretical NLP applications, Text similarity
- HTML: The Dialog tag, HTML5 forms validation
- Algorithms and structures: Tarjan’s algorithm, Greedy algorithms
- Databases and SQL: Comparison of DELETE and TRUNCATE, Database statistics
- Dev tools: Envs and secrets, Introduction to Figma, CPU profiling, Debugging Go code in GoLand
- Essentials: GIF
- JVM: JMH: Deep dive
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, Facebook, or Reddit.
Enjoy learning!
Your JetBrains Academy team