JetBrains Academy: New Projects and Topics in May
For quite a while, we’ve been receiving a great number of requests from learners interested in studying C# and developing games. Hold your breath…
In May, we prepared not one but four C# for Unity projects! They will walk you through the process of creating real games using Unity, like the full-fledged 2D platformer that includes three game levels.
We also created new projects for Python, Java, Kotlin, and Go, and published 24 new educational topics. Let’s look at these updates in more detail.
🆕 Unity project: It’s Raining Cubes
This project will teach you how to create a simple game where players catch falling cubes with a moving platform. You’ll get an understanding of the Unity game engine and some of its powerful features.
🆕 Unity project: Hit’n’Run
Create a 2D game while learning how to interact with different game scenes and track the player’s progress. This project can also help you to revamp your portfolio with a full-fledged game.
🆕 Unity project: Sunny Mood
In this project, you’ll build a full-fledged 2D platformer that includes three game levels. You’ll work with sounds in Unity, use Tilemaps, and learn the basics of game design. After completing the project, feel free to add more levels and new mechanics to it to make your game truly unique.
🆕 Unity project: Training Field
In this project, we would like to introduce you to one of the most popular game genres — First-Person Shooter (FPS). As your experience in game development and mastering Unity grows, you’ll be exposed to even more demanding games.
Note that there is no dedicated C# track yet and the projects are only available via direct links. There are also no complexity levels for them just yet.
🆕 Swing project: Desktop Connect Four. Hard.
Connect Four is a slightly more challenging version of Tic-Tac-Toe. It’s a great game, which fuses the complexity of a larger game board and the need to line up more pieces. In this project, you will create a version of the game with a graphical user interface, which you can run on your computer.
- Spring Boot: Bean lifecycle, Many-to-many relationships, Advanced exception handling in Spring Boot
- Working with data: Enumset, hashCode() and equals() in collections, HashSet
- Object-oriented programming: Sealed classes and interfaces
🆕 Data science project: NN from Scratch (Beta). Challenging.
By completing this project, you will get your first experience in every aspect of creating a fully connected neural network – the feedforward model, the backpropagation algorithm, and weight initialization. You will also create your training loop and visualize the model’s training process.
🆕 Data science project: Properties of Compact Groups of Galaxies (Beta). Challenging.
Don’t worry if you’re completely new to the field of astrophysics! In the project, we’ll explain all the important concepts and provide you with the tips that will help you navigate through the process.
🆕 Data science project: Decision Tree with Pen and Paper (Beta). Easy.
Have you ever wondered how machine learning algorithms work from the inside? This project provides a good insight into the mechanism behind one of the well-known algorithms – a decision tree. Classification and calculations, let’s do it ourselves!
🆕 Project: Version Control System. Medium.
The ability to roll back to the previous versions is crucial for software development. In this project, you will get acquainted with the idea of version control and write a simple version control system.
- Additional Instruments: Kotlinx serialization
- Basics: How to work with documentation
- Object-oriented programming: Pair and Triple
- Types and data structures: Collections as interface
🆕 Project: Flashcards. Challenging.
When learning a new language, it may be hard to remember all the new vocabulary, which is exactly where flashcards can help. Flashcards can be used to remember any sort of data, so if you want to create a useful tool to support your learning and your programming skills, this project is for you.
🆕 Project: Regex Engine (Beta). Medium.
Regular expressions are a fundamental part of computer science and natural language processing. In this project, you will write an extendable regex engine that can handle basic regex syntax, including literals (a, b, c, etc.), wild-cards (.), and metacharacters (?, *, +, ^, $).
- Packages and modules: Introduction to Regexp package, Parsing and formatting time
- Working with data: SQL package
🆕 Topic: Introduction to classes
- Databases and SQL: Delete Operations in MongoDB, Document data model, Update operations
- Essentials: Introduction to CI/CD, Flyweight pattern
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 to have the Beta tester feature enabled in your profile settings.
Your JetBrains Academy team