---
title: Coding concept - Algorithms
description: Learn about algorithms and creating your own practical applications.
---
## Algorithms in real life and in code
An **algorithm** uses a series of steps to determine an outcome. Steps can be a set of directions, comparisons, or even a mathematical formula.
Your daily life is full of algorithms that you use without thinking about it. They help you make decisions, create things, and solve problems.
**Real life examples:**
- Checking if you have enough money to buy a snack.
- Getting dressed in the morning.
- Drawing stick figures.
**Coding examples:**
- Checking if a skill level is high enough to use an item.
- Sorting a list of items into alphabetical order.
- A player standing on lava loses 5 health every second. If they reach 0, they respawn.
| Methodology | Example |
|---|---|
| **Selection** - Uses conditional statements such as if/then to determine an output. | ```lua if time == 0 then stopLightColor = red end ``` |
| **Sequencing** - A set of precise steps. | ```lua local function createBridge() create new block size block set color rotate set location parent to workspace end ``` |
| **Iteration** - Repeats parts of the code as necessary, such as in for loops or multiplication. | ```lua for countDown = 10, 1, -1 do time -= 1 task.wait(1) end ``` |
Think of your real-life morning time algorithm to get dressed. If that's your main algorithm, it might use one algorithm for picking out your clothes, and a second algorithm for putting clothes on.
```lua title="Getting Dressed Pseudocode"
-- First algorithm for picking clothes
local function pickClothes()
pick top clothing
pick bottom clothing
pick Socks
pick Shoes
end
-- Second algorithm for putting clothes on
local function putOnClothes()
put on top clothing
put on bottom clothing
put on socks
put on shoes
end
-- Main algorithm, calls pickClothes()and putOnClothes()
local function getDressed()
pickClothes()
putOnClothes()
end
```