Algorithms
Time
2 hrs
Difficulty
Beginner
Prerequisites
Data Types
Player Controls
Randomization
Player Controls
Randomization
Departments
Science
Authors
Sandra Kuipers
Groupings
Individual
Pairs
Pairs
Minimum Year Group
None
Blurb
Algorithms: What are they? How can we use them in our code?
License
This work is shared under the following license: Creative Commons BYSANC
Outline
Learner Outcomes Students will:


Competency Focus

Interdisciplinary Connections

Reflection What was successful? What needs changing? Alternative Assessments and Lesson Ideas? What other Differentiation Ideas/Plans could be used?


Credits Any CC attribution, thanks, credit, etc. 
This page requires you to be logged in to access it. Please login and try again.
5 mins
Introduction
Getting Started
 Algorithms are all around you.
 Well... unless you're camping in the wilderness with no technology.
 So, aside from escaping to the great outdoors, chances are you've interacted with several algorithms today.
 They're in Google, grabbing your search results.
 They're in Netflix, recommending shows.
 They're on websites, tracking which links you click.
 They're unlocking your phone, using fingerprint and face detection.
 They're in elevators, deciding which floor to go to.
 They're in maps, giving you directions.
 This list could get really long ...
 Where are some places you've noticed algorithms?
10 mins
What are they?
Theory
 What are algorithms, and how can we use them to take over the world?
 This video may not have answered the second question, but keep reading ...
5 mins
Thinking in Algorithms
Digging In
 Consider a simple procedural algorithm for making a PB&J:
 Get two slices of bread
 Spread peanut butter on one side
 Put jam on the other side
 Squish them together
 Notice how there weren't any decisions to make? Sometimes an algorithm is just a set of steps.
10 mins
DecisionMaking
Digging In
 However, sometimes we need a decisionmaking algorithm.
 Consider the same algorithm, but we don't know what ingredients are available:
 Get two slices of bread
 If we have peanut butter
 Put peanut butter on one side
 Otherwise, if we have chocolate spread
 Put chocolate spread on one side
 Then, if we have jam
 Put jam on the other side
 Otherwise, if we have bananas
 Put bananas on the other side
 Squish them together
 This algorithm is making two different decisions.
 How many different kinds of sandwiches can it create? Think for a second ... then scroll down.
 If you guessed four, you're on the right track ...
 However, what if there is no peanut butter and no nutella?
 When we account for no toppings, each decision has three possible outcomes.
 There are now more than four possible sandwiches we could make here.
 Including one very sad sandwich with nothing but bread :(
10 mins
Types of Algorithms
Theory
 Algorithms can do some pretty neat stuff!
 Genetic algorithms in simulations
 Pathfinding algorithms in games
 Machine learning algorithms in AI
 Procedural generation algorithms (eg: Minecraft!)
 Brute force algorithms in computer security
 Sudoku solving algorithms
 Plus many more!
 Each of these algorithms can generally be classified into different types:
20 mins
Are they taking over the world?
Consider
 Algorithms are already part of our civilization. The next 20 years will determine just how much they take over ...
 Are there places that algorithms shouldn't go?
 Here's a look into how some schools are putting algorithms in the classroom:
60 mins
Your Algorithm
Evidence
 Imagine you have a platter of sushi. In fact, you own a whole restaurant that sells sushi!
 Rolls are 10$
 Sashimi are 20$
 Everything else is 12$
 If a platter has more than 10 sushi, it gets a free tempura.
 If a platter has more than 20 sushi, it gets a 20% discount.
 Given any platter, no mater what sushi are on it, you could use these rules to figure out the cost.
 Your goal is to write an algorithm in pseudocode (regular english) to calculate the cost of any platter. If you're stuck, try and think of what you, a human, would do to solve this problem.
 Write your sushisorting algorithm in a Google doc.
 Then at the bottom, answer a hypothetical question: If you had the most powerful computer in the world, what problem would you solve with an algorithm?
 Submit your doc as your evidence of learning in this unit.
Links
 Machine learning algorithms
 Algorithms
 Brute force algorithms
 Genetic algorithms
 Pathfinding algorithms
 Procedural generation algorithms
 pseudocode
 Sudoku solving algorithms
Images
Embeds
There are no records to display.