Teaching computer science and coding to students can often be a difficult task – many of the concepts and skills involved can seem dauntingly complex at first glance. This is often the case for algorithms, which are an essential part of computer science – but which many students can easily get confused by if they aren’t taught effectively. “Algorithms” is also one of those technical sorts of words that can cause panic just because of the associated difficulty with them.
Algorithms don’t have to be a challenge, though – there are a number of ways to make them simple to understand for students of all ages. This guide will cover everything you need to know to successfully introduce your high-school students to the concept of algorithms and begin to explore how they relate to the wider topics of computer science, coding, and digital technology.
Try out Zenva Schools with your students for free! Contact our team via this form and we’ll be in touch to set up your free access.
What Is an Algorithm?
In simple terms, algorithms are a series of ordered steps that are required to carry out a task, sort information, or solve a problem. In order for an algorithm to work, it needs to be structured correctly, with each step in the sequence placed in a logical order.
Algorithms are everywhere, not just in computer science. At their simplest level, algorithms can be understood as a series of instructions that enable us to carry out basic tasks and solve simple problems. For example, a recipe is essentially an algorithm for creating a specific type of food; and a morning routine is an algorithm for getting ready for work efficiently.
In terms of computer science, algorithms provide programs with rules and sequences to follow in order to take a specific course of action or solve a problem. They’re a fundamental aspect of how many programs work, so any coding or computer science student should have a firm understanding of how they operate.
How Are Algorithms Used In Daily Life?
One of the best ways to help students understand how algorithms work is to introduce them to some of the algorithms they encounter on a daily basis. Algorithms are used in a variety of scenarios in order to complete a task efficiently or with the desired results – for example, the directions your students take to get to school can be considered an algorithm for getting there as fast as possible (unless you have a student who likes the scenic route).
Another example would be the recipe for baking a cake. If you don’t complete the steps in the recipe in the right order, then you won’t end up with a particularly good cake. Likewise, if an algorithm’s steps aren’t sequenced logically and correctly, then it will fail to carry out its intended purpose.
Algorithms are present in the technology your students use on a daily basis, too. For example, social media platforms such as Facebook, Instagram, and TikTok use algorithms to decide which posts and content to show them based on who they follow, what their interests are, and their typical browsing habits.
Another example is Google. Google’s search algorithm is used to sort search results for a particular term according to their relevance. While the primary factor is the search terms used, Google’s algorithm also takes note of a wide range of other information to sort results, such as location and previous searches. These factors are used to provide further context to the algorithm, enabling it to pick out the most relevant results for each user.
Finally, another way to examine algorithms is by considering the rules and win/loss conditions that govern how games work. This works for both board games and video games.
For example, in chess, you could consider determining check and checkmate as an algorithm, as the player must examine all possible actions until they find one that gets their king out of danger, and if they can’t then checkmate has been achieved. Video games, meanwhile, may use more complex algorithms to determine how AI opponents react to the player’s actions.
Important Algorithm Concepts To Teach
As well as explaining how algorithms work on a basic level, it’s important for high-school students to understand some of the broader concepts that underpin algorithmic functions. An important starting point is to explain linear algorithms – a simple form of an algorithm that uses a linear, step-by-step process to achieve a particular outcome.
Linear algorithms can be contrasted with branching. Algorithms that incorporate branching can take multiple different actions and operate on multiple potential sequences depending on a specific set of conditions and the information they’re provided with. For branching algorithms, it can be helpful to use flowcharts to represent the different pathways and the conditions which trigger them.
Branching algorithms link to two other important algorithmic concepts: conditional statements and loops.
A conditional statement is a step in the algorithm’s sequence that is dependent on certain requirements being met, and they are therefore one of the main drivers of a branching algorithm. For example, a streaming website might ask you for your age when you log on. An algorithm could then use a conditional statement to decide whether you’re old enough to access age-restricted content and change what content you’re shown as a result.
Loops, meanwhile, are an action or group of actions that are repeated by an algorithm until a conditional statement returns a different result. A practical example is boiling a kettle – the kettle keeps boiling water until the water is boiling hot, then turns off. The conditional statement required to end a loop and progress the sequence of an algorithm is known as the exit condition.
By learning about branches, conditional statements, and loops, your students can gain a firmer understanding of how algorithms perform highly complex functions that rely on a variety of different conditions being met.
Exercises For Teaching Algorithms
One of the best ways to teach algorithms to high school students without overwhelming them with complex theoretical concepts is to explain different aspects of algorithms through practical activities. These don’t necessarily need to be coding activities – there are many exercises you can run with your class that don’t even need a computer, meaning that the less technically experienced students in your class can still get to grips with algorithms easily.
For example, a simple way of explaining algorithms as a series of instructions is to run an art-based activity. Get students into pairs, then provide one student in each pair with a drawing that they must describe to their partner, who then draws it themselves. Compare the drawings they produce with the original image to see how close they get.
Then, read out a specific set of instructions to the entire class that clearly explains how to draw an object. With any luck, the clear set of instructions will result in more accurate drawings than the first time around. This can then be linked to algorithms by explaining how taking the proper sequence of clear instructions is vital to producing the desired result with an algorithm.
Another option for explaining sequencing within algorithms is to run a water measuring challenge, tasking students to measure a certain volume of water with a series of smaller containers. They should develop a methodology to measure the water as efficiently as possible, which can then be linked to the way that algorithms can be used to sort information efficiently through proper sequencing.
To explain branching algorithms, one effective and engaging activity is to task your students with creating a choose-your-own-adventure story using a flowchart. This story should have multiple pathways depending on the choices made. The exercise is a fun way of explaining branching and conditional statements, as well as demonstrating how flowcharts can be used to map out algorithms to make them easier to plan and design.
Finally, for a more technical activity, your class can take on a robot programming challenge – either with real robots, a simple game or program, or even by having your students act as the “robots” themselves. Tasking your class with programming their robot to navigate an obstacle course through a clear set of instructions is another way of demonstrating how sequencing works within algorithms.
Resources For Teaching Algorithms
In addition to the exercises above, it can be helpful to look online for resources that can help you to effectively teach your high school students about algorithms, The following are some great examples of online courses, resources, and tools to use in your lessons.
Zenva Schools is an online learning platform dedicated to teaching coding in schools. It features a varied library of project-based coding and computer science lessons and courses made by industry professionals, including various modules that teach students about algorithms with coding itself.
Since Zenva Schools focuses on practical learning through projects spanning web design, game design, app coding, and more, it keeps lessons fun and engaging for students. In addition, it features in-browser coding and on-demand video, meaning that students can access Zenva’s resources even when they aren’t in the classroom.
Zenva Schools also functions as a learning management platform for teachers, enabling them to track students’ progress through different courses. Thanks to all of these features, Zenva Schools is not only a great tool for teaching high school students about algorithms, but it’s also extremely helpful for teaching wider coding and computer science subjects as well.
Scratch is a fun and intuitive block-based coding platform which is highly popular as an educational tool in schools. Since it uses block-based coding rather than a text-based programming language, it’s much easier for beginners to use, so it’s a great way to introduce students to new concepts without needing too much technical experience.
There are a variety of lesson plans available as part of Scratch’s library of teaching resources as well as from other teachers and education websites, many of which offer fun and engaging ways of using the platform to teach algorithms. As an example, Scratch could be used in place of an actual robot for the robot-programming exercise outlined above.
Essentially, Scratch provides an easy-to-use platform for practical coding exercises, meaning it’s an ideal option for when your students are ready to start creating their first algorithms.
Hour Of Code
Hour of Code is a library of roughly one-hour-long coding activities covering a variety of subjects, including algorithms. Most of the lessons on offer focus on using game or app design as a means of explaining different coding concepts to students, meaning it can be a fun way to keep students engaged while they learn about algorithms.
The Hour of Code activity library contains exercises designed for a wide range of ages and experience levels, so you should be able to find suitable activities centered on algorithms no matter the needs of your class.
CS Unplugged is a site dedicated to giving teachers the resources to teach computer science without the need for students to have any previous coding experience. It does this by providing lesson plans and activities that don’t require a computer, instead focusing on practical, physical activities.
CS Unplugged has an extensive library of resources for different computer science subjects, including a variety of exercises and lesson plans designed to teach students about algorithms. As such, it can be a great place to start if you want to introduce your students to algorithms without needing to explain the coding technicalities first.
Algorithms are a vital subject to cover when teaching coding or computer science, as they form the backbone of many programs and technologies that we use in everyday life. As such, it’s important that teachers have the right approaches and resources to teach students about algorithms effectively.
Using the information and resources from this guide should make algorithms a much easier subject to handle for high-school teachers. Whether you opt for some of the practical exercises listed above or rely on ready-made courses and lessons from the likes of Zenva Schools and other online learning sites, these resources will enable you to explain algorithms to your class with ease.
If you’re from a K12 school and want to try out our platform, fill out the form below.
We’ll organize a free trial so you can test it out with your students in class!