JetBrains Academy
The place for learning and teaching computer science your way
JetBrains Academy: New Projects and Topics in July
This July we released new projects for Python, SQL, JavaScript, Go, Bash, and Scala learners! There are also 45 new topics for you to study and enjoy. Moreover, this month we introduced our brand new SQL With Python track! If you are interested in learning SQL, Python, or both, make sure to check it out.
Now let’s dive into the updates in more detail.
Python
🆕 Machine learning project: HR Data Analysis (Beta). Medium.
If you are interested in getting a job as a data analyst, this project is for you! It is based on the real tasks a data analyst may encounter in their work. Master data merging and grouping, as well as aggregation functions. You’ll also draw up pivot tables using the pandas functionality and conduct data analysis.
🆕 SQL With Python project: Calculator for Investors (Beta). Challenging.
Create a small program that helps investors do a fundamental analysis based on a company’s reports and estimate that company’s performance. With this calculator, you can identify the best company in the industry and decide whether to buy its shares.
🆕 Django project: Bike Shop (Beta). Challenging.
Implement a web application for a bike shop that will allow customers to order a custom bike of their choice, provided that the relevant bike parts are in store. Learn about general Django concepts, such as models, forms, the admin panel, and the template language, and master Django ORM (object-relational mapping).
SQL
🆕 Project: Library Management System (Beta). Easy.
A database is an excellent tool for storing big chunks of information – anything, from images to text, single-character data to thousands of digits. In this project, you’ll learn the basics of SQL by operating a database that runs a library. You’ll process data, define functions, learn which data types can be used for management systems, and more.
Go
🆕 Project: Blockchain (Beta). Challenging.
One of the most fascinating developments of the past decade is the spread of blockchain technology. It has become the backbone for lots of modern decentralized solutions, most notably the first cryptocurrency – Bitcoin (₿). In this project, you’ll develop a profound understanding of how blockchains work, apply your hashing and multithreading skills, and learn about (de)serialization.
🆕 Topics:
- Control flow: Panic and recover
- Software quality: Introduction to testing in Go
- Relational databases: Introduction to GORM
Scala
🆕 Project: Simple Tic-Tac-Toe (Beta)
Do you remember this paper-and-pencil game from childhood? It’s also known as Noughts and Crosses or Xs and Os. In this project, you’ll program a Tic-Tac-Toe game while learning the basics of Scala, including defining and using methods, handling errors, and processing user input.
🆕 Project: Coffee Machine (Beta)
Build your own coffee machine simulator! This device uses coffee, milk, and plastic cups to serve espresso, cappuccino, and latte. If it runs out of any supplies, it will give you an alert and ask you to restock them. This is a great project for anyone who wants to to get a taste of Scala, practice working with functions, and refresh their knowledge of loops and conditions.
🆕 Topic: Operators
Bash (Unix shell)
🆕 Project: Enigma (Beta). Easy.
Familiarize yourself with Bash commands while building a simple cipher that creates a file and encrypts it with a Linux utility. Use variables, functions, and loops, and learn how to convert chars, as well as encrypt and decrypt files.
JavaScript
🆕 Project: Hangman (Beta)
Hangman is a popular yet grim puzzle game. A cruel computer hides a word from you, which you have to guess letter by letter. If you fail, you’ll be “hanged”. If you win, you’ll survive. This project is a great choice if you’re just starting with JavaScript. You’ll go through all the basics, become familiar with different data types, develop an understanding of the building blocks of a program, and practice working with loops and arrays.
🆕 Topics:
- HTML: Unordered lists and types; <samp>, <kbd>, <code> tags; Form attributes; Form elements; Input attributes; Input types; More input attributes; Headings, paragraphs, comments; Table sizing and alignment
- CSS: Display
Java
🆕 Topics:
- Essential standard classes: Instant, Period and duration
- Serialization: Jackson
- Errorless code: Logback
- Multithreading: CopyOnWriteArrayList
Kotlin
🆕 Topics:
- Android: Logging in Android
- Basics: Kotlin evolution principles
- Types and data structures: Iterators
- Object-oriented programming: Delegate
- Control flow: Lambda with receiver
- Additional instruments: Commonly used regex
Math
🆕 Topics: Power functions, Pitfalls of gradient descent, Expected value of a continuous random variable, Central limit theorem, Concept of a random variable, Normal distribution
Fundamentals
🆕 Topics:
- Databases and SQL: CAP theorem; OLTP vs OLAP; Logical operators; Relations between documents; Sort, limit, and skip in MongoDB; Stored procedure parameters; Triggers
- Essentials: Base64 and other bases
- Dev tools: Running a “Hello world” action
- Algorithms and structures: Complex constructions in pseudocode
- JVM: Benchmarking basics
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