The word “algorithm” may not seem relevant for use in our every-day vocabulary. However, algorithms are all around us, governing everything from the technology we use to the mundane decisions we make. In most YouthCode activities, we like to start with a basic definition since algorithms are foundational to coding.
Algorithms are simply detailed, step-by-step instructions for solving a problem or completing a task. Computer scientists write algorithms that instruct computers what to do. The algorithms that computer scientists create are called programs and the code they use to instruct the computer is called a programming language.
Algorithms are simply detailed, step-by-step instructions for solving a problem or completing a task. Making dinner is an algorithm. Setting the table is an algorithm.
Now back to algorithms being everywhere and governing our daily life. Making dinner is an algorithm. Setting the table is an algorithm. Turning on and watching your favorite show is an algorithm. Instructions to assemble a trampoline is an algorithm. The method used to solve addition or long division problems is an algorithm. Determining the best route to get to the store is an algorithm. Even your morning routine could be considered an algorithm!
Algorithmic thinking, or the ability to define clear steps to solve a problem, is crucial in subjects like math and science. Students use algorithms without realizing it all the time--especially in math. To solve a long division problem, for example, students apply an algorithm they’ve learned in order to iterate through the digits of the number they’re dividing. For each digit of the dividend (the number being divided), the child must divide, multiply, and subtract. Algorithmic thinking allows students to break down problems and organize solutions in terms of discrete steps.
Students can strengthen their algorithmic thinking skills by completing coding activities at online sites such as Code.org, CodeCombat, codeSpark or Kodable. You can also encourage your child to write out their morning routine as an algorithm, or write out the algorithm for an even simpler task such as making a PB&J sandwich or eating cereal. Without knowing it, they’ll be exploring important coding concepts like sequencing (put cereal in bowl and then put in milk), loops (chew each bite of cereal 20 times) and conditionals (if the bowl is empty, stop eating).
Challenge your child to be as specific with the instructions as possible. Make it fun by having your child tell you his/her instructions and you do EXACTLY what they say. Remember, computers can only follow instructions--they don’t understand intentions or assumptions. If your student doesn’t specify that you need to get a bowl out of the cupboard first, you’ll end up pouring milk on the floor!