Introducing Scala on JetBrains Academy
Over the past four years, JetBrains Academy has welcomed more than 600,000 students with the drive to develop and a passion for learning. Starting with a single Java track in 2019, we now support 6 programming languages, have 26 tracks, and offer more than 200 projects and 1,500 educational topics.
Scala provides a mix of two paradigms: object-oriented programming (OOP) and functional programming (FP). To improve your programming skills, it’s good to learn at least one language from each different paradigm, and Scala gives you a chance to explore them both together. Users with previous programming experience, especially in Java, Kotlin, or Python, often choose Scala as a second language.
With Scala, you’ll become a part of its large community and get access to a great stack of open-source libraries. They make it easier to launch servers, process data, work with different types of cache and message brokers, and more. Its neat syntax helps you focus on the logic of a program and its business value rather than the intricacies of the programming language. It is used by a number of high profile companies such as LinkedIn, the Guardian, Twitter, Netflix, and Sony.
The Scala track on JetBrains Academy
If you’re already familiar with programming and want to enhance your skills, this is the right track for you. It is based on projects that will allow you to gradually dive into the modern Scala language. Over the course of the track’s roughly 11 hours, you will learn how to:
✅ Use Scala’s most common features.
✅ Write declarative, easy-to-read code.
✅ Work with data and user input.
✅ Handle errors and design your own programs.
As a part of this track, you will create 3 real-world applications from scratch:
Coffee Machine – Easy.
Build your own coffee machine simulator! This device uses coffee, milk, and plastic cups to serve espresso, cappuccino, and lattes. If it runs out of any supplies, it will give you an alert and ask you to restock them. By building this application, you will get a taste of Scala, practice working with functions, and challenge yourself with loops and conditions.
Simple Tic-Tac-Toe – Hard.
Do you remember this paper-and-pencil game from your 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.
Smart Calculator – Challenging.
In this project, you will learn to create a simple calculator while familiarizing yourself with lists, strings, and other data types. You will also get experience with two important data structures: the stack and the queue.
Personalized study plan
Tailored to your skills, your study plan will help you stay focused and on track. It is divided into several stages of increasing complexity, allowing you to gradually expand your knowledge in Scala without getting overwhelmed.
Integration with IntelliJ IDEA
As with other JetBrains Academy projects, you can work on the First Glance at Scala track in your browser or right in IntelliJ IDEA! It will augment your learning process by providing smart coding assistance such as code analysis, refactorings, and code completion. By using the IDE when working on your project, you’ll gain experience with professional development tools while you learn to program.
To switch to IntelliJ IDEA when working on a coding problem in your browser, select the IDE tab and click the Solve in IDE button. If IntelliJ IDEA is not installed on your machine, hit Install and configure it from this page and download the IDE from the page that opens.
Your progress is synchronized between IntelliJ IDEA and the online platform, so whenever you want to go back and learn in the browser, you’ll be able to continue from exactly where you left off in the IDE.
We hope you enjoy learning Scala with JetBrains Academy! If you have any questions or would like to share some feedback, feel free to leave a comment below or contact us at email@example.com.
Your JetBrains Academy team