Hyperskill Course Projects

Projects below are part of a JetBrains Academy courses "Kotlin Core" and "Kotlin Developer". Also, content for the course "Android Development with Kotlin" will follow.

Samples are placed in no particular order. The code may or may not (most likely) work on Playground, but it should work when run from suitable IDE (i.e. Android Studio or IntelliJ Idea). Copy and run at your own risk.

To see code in bigger window, open it in Playground mode (link is below the code).

About:

You suddenly remember you need to call your aunt and wish her a happy birthday, but how do you find her number quickly in a giant phonebook? Write a program that will solve this problem once and for all. Create a phonebook that allows you to find the information you need quickly and easily. Names and numbers, here we come.

About:

Remote is a git repository to store and exchange changes. It is a store that allows you to work from different places. In this project, you will examine basic git commands and how to work with a remote.

About:

Here is something you probably use regularly: contacts. In this project, you will write a program to create contacts (like on the mobile phone) and search for people or organizations by name.

About:

When learning a new language, it can be hard to remember all the new vocabulary, which is exactly where flashcards can help. Typically, flashcards show a hint (a task or a picture) on one side and the right answer on the other. Flashcards can be used to remember any sort of data, so if you want to create a useful tool to help your learning and your programming skills, this project is for you.

About:

Calculators are a very helpful tool that we all use on a regular basis. Why not create one yourself, and make it really special? In this project, you will write a calculator that not only adds, subtracts, and multiplies, but is also smart enough to remember your previous calculations.

About:

In this project you will create your own search engine, though it probably won’t compete with Google. Yours will be a simple search engine that processes a limited collection of data and searches it for a word or a phrase. It’ll be simple but cool.

About:

Secret agents use encryption all the time. You know that everything can be encrypted as different characters. What about encryption that uses only one character and space? This method has a name — the Chuck Norris cipher. In this project, you will create a program that can encrypt any text into a sequence of zeros and spaces and decrypt this sequence into text.

About:

It's always good to have something that can remind you about important tasks. It may be simple paper notes or a sophisticated app. In this project, you will create a text-based program that shows tasks, deadlines, and priorities.

About:

In this project, you will create a simple card game called Indigo. It has simple rules, but it can also be the foundation for developing a more complex card game. You will create a virtual card deck and implement the game rules, scoring system, and a simple strategy for the program to compete against users.

About:

Word games can be entertaining and addictive. This project is about creating a simple word guessing program with colors. Players must find a secret five-letter word by guessing into the game's input.

About:

They say a minesweeper makes only two mistakes in their life: the first is their choice of occupation, and the second one is fatal. In this project, you will create your own, safe "Minesweeper" – a game that will be a brain teaser for both you and your players.

About:

Cities are becoming smarter to meet our needs, and parking spaces are an essential part of urban design. As a developer, you can help improve them. In this project, you will create a parking lot management program that keeps track of vacant spots and parked cars.

About:

Privacy is an important matter is the realm of the Internet. When sending a message, you want to be sure that no-one but the addressee with the key can read it. The entirety of the modern Web is encrypted - take https for example! Don’t stay behind: hop on the encryption/decryption train and learn the essential basics while implementing this simple project.

About:

Learn one way to apply a watermark to an image. Come to know how to load, save, handle and edit your images. In this project, employ various image and file-specific classes that can be useful in many cases, not only for applying watermarks.

About:

In the modern world, data has become so abundant that processing it is no easy business. How can anyone make sense of all these words and numbers? In this project, you will write a program that processes textual and numeric data and sorts it. Your program will be able to determine the biggest or most frequent pieces of data and perform the necessary calculations on them. Data is waiting to be sorted!

About:

Chess is a very popular game, but over time even the classic chess rules may become tiresome. The good news is that there are hundreds of variants. One of them is Pawns-only chess. Let's make a game where players should move their pawns to the opposite side of the board or capture all opposite pawns to win. In this project, you will create a game intended for two players.

About:

You can use encryption to send secret messages, but if you want to be even more subtle, you can hide them in plain sight: in an image. This kind of encryption is called steganography. The message will be hiding in a picture on some web site, and only those who know will understand it. For maximum security, the message itself can be encrypted, as well.

About:

What can be better than a cup of coffee during a break? A coffee that you don’t have to make yourself. It’s enough to press a couple of buttons on the machine and you get a cup of energy; but first, we should teach the machine how to do it. In this project, you will work on programming a coffee machine simulator. The machine works with typical products: coffee, milk, sugar, and plastic cups; if it runs out of something, it shows a notification. You can get three types of coffee: espresso, cappuccino, and latte. Since nothing’s for free, it also collects the money.

About:

We’re all quite used to our good old decimal system of numerals. But let’s not forget that there are other ways to count! Whether we need to convert numbers from one system to another just for fun or to store large data more efficiently, a converter proves helpful. In this project, you will create your own tool that will help you convert numbers from one system to another.

About:

This short code challenge can help the local zoo look after its denizens. You will create a tool for monitoring animals and their status.

About:

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.

About:

Here, at the beginning of your programmer’s path, creating a simple console chat bot will do wonders to guide you through the basics of coding. During this journey you will also play some word and number games that you are going to implement all on your own. Pack up and let’s hit the road, my friend!

About:

Cinema has been a part of the entertainment industry for a long time: a good movie is a way to escape reality and live through a variety of emotions. The best cinema experience you can get is probably in a cinema theatre. In this project, you will create an application that helps manage a cinema theatre: sell tickets, check available seats, see sales statistics, and more.

About:

When learning a new programming language, we always have to figure out how to print text data. It is a simple and useful skill: you can print texts everywhere, even in the console. There is only one problem: the text itself isn’t pretty enough for your taste. What if we try to add a little “make-up”? Or get very creative with fonts, draw awesome letters with other letters? Let’s try this out.

About:

Everybody remembers this paper-and-pencil game from childhood: Tic-Tac-Toe, also known as Noughts and crosses or Xs and Os. A single mistake usually costs you the game, but thankfully it is simple enough that most players discover the best strategy quickly. Let’s program Tic-Tac-Toe and get playing!

About:

Connect Four is a fun game for two players. The players place discs on a vertical board that is 7 columns wide and 6 rows tall. The goal of the game is to be the first to form a horizontal, vertical, or diagonal line of four discs. In this project, you will develop this game with a number of improvements.

About:

When you travel, everything changes: people, languages, time zones, and even units. It may be difficult to read the temperature in Fahrenheit when you’ve always used Celsius, or to measure yourself in kilos if you’ve only used pounds. It’s no easy matter, though a nice unit converter could certainly help! In this project, you will write a converter that handles distance, weight, and temperature units – all the traveler's essentials.