Project

Coffee Machine (Kotlin)

Hard
3783 completions
~ 11 hours
4.1

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

Moeketsi Pelesa avatar
Moeketsi Pelesa
1 day ago
I have learnt about object orientated programing and how to have a developer mindset to break problems to easy small tasks
Kyle Jaesu Akuya
2 days ago
This was a good review project for me. Made me think about how to use state and when expression and enums as well.
Omar Enoc Manzo Morales avatar
Omar Enoc Manzo Morales
3 days ago
It's excellent for practicing the computational thinking and taking a more organized approach to problem solving

4.1

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