Project

Coffee Machine (Kotlin)

Hard
3694 completions
~ 11 hours
4.2

This project allows you to better understand the basic OOP, its main concepts such as classes, class methods and attributes, and get a taste of Kotlin. Practice working with functions, challenge yourself with loops and conditions, and get more confident with OOP.

Provided by

JetBrains Academy JetBrains Academy

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.

Graduate project icon

Graduate project

This project covers the core topics of the Introduction to Kotlin course, making it sufficiently challenging to be a proud addition to your portfolio.

At least one graduate project is required to complete the course.

What you'll learn

Once you choose a project, we'll provide you with a study plan that includes all the necessary topics from your course to get it built. Here’s what awaits you:
Write a program that puts some basic information on the screen: let the machine describe what it takes to make a cup of coffee!
Program the machine to calculate the amount of ingredients it needs depending on how many people want some coffee.
Working with conditions, program the machine to estimate how many creamy coffees it can make based on the amount of ingredients we enter.
Teach your virtual coffee machine to perform three basic actions: collect the money, renew the supplies, and serve the coffee.
Program the machine to display on the screen the amount of supplies left. Set the main loop: now the menu keeps updating until you enter “exit”.
Time for some final touch-ups: structure the code so that it runs smoothly.

Reviews

Yin Wang avatar
Yin Wang
3 weeks ago
This is the best learning path I’ve ever used. Books don’t give feedback, and most online courses don’t offer enough hands-on practice. Here, each course is just the right length, and I can study anytime. At first, the tests are simple enough to complete on my phone. As the problems grow more comple ...
Ksenia Markova avatar
Ksenia Markova
3 weeks ago
I have learned create classes and understood how and when use getter and setter
kayode oyedeji
4 weeks ago
Decomposing issues into smaller re-usable solutions and thinking of everything as an object.

4.2

Learners who completed this project within the Introduction to Kotlin course rated it as follows:
Usefulness
4.3
Fun
4.2
Clarity
4.1