Computational Thinking for Kids: A Guide to Fun and Engaging Activities

There is a growing trend of initiatives that aim to introduce computational thinking and other computational concepts to young children. One notable example is MIT’s Lifelong Kindergarten group, which is actively developing programming software designed for children from preschool through second grade. There are even board books introducing HTML and CSS concepts to babies, although these may just be designed to amuse tech-savvy parents.

While these efforts are undoubtedly well-intentioned, the Institute for Mathematics and Computer Science (IMACS) believes that, when executed effectively, they can yield significant benefits. Before purchasing that web design book for your little one, we recommend introducing computational thinking to children through accessible activities. Even if you don’t consider yourself good at computing, you can confidently embark on this journey with us.

Computational Thinking: Beyond Coding

Jeannette Wing, the Executive Vice President for Research at Columbia University and Professor of Computer Science, authored an insightful paper, titled Computational Thinking, that neatly delineates what computational thinking entails and what it does not. The following excerpt succinctly captures the essence of her paper:

“Thinking like a computer scientist means more than being able to program a computer. It requires thinking at multiple levels of abstraction.”
Jeannette Wing

Developing abstract thinking skills is fundamental to success in the realm of computer science. Remarkably, students can cultivate a computational mindset without writing a single line of code. Our 30+ years of experience in teaching computer science has shown that students who first master computational thinking find programming a straightforward endeavor. Let’s explore how we can incorporate relatable, everyday examples to help children transition to abstract thinking.

Stacks and Queues: Learning Through Real-Life Examples

In computing, a stack is a data structure where data items are stored and retrieved in a manner where the last item stored is the first one retrieved—a concept known as Last-In-First-Out (LIFO). This concept mirrors real-life situations that even infants can grasp. While verbally explaining LIFO to a baby may be challenging, it can be demonstrated through actions. For instance, consider the classic Fisher-Price Rock-a-Stack toy. Begin with the rings removed from the cone and reattach them in the intended order, starting with the blue ring. Try to remove just the blue ring while the others are still on the cone. It’s impossible; you must remove the rings one by one, with the blue ring coming off last.

Older children can relate to LIFO and similar concepts in their daily lives, such as unloading dishes from the dishwasher into the cupboard, setting the table with those dishes the next day, and selecting and returning products in a store. The principle remains the same.

On the other hand, a queue, another data structure, follows the First-In-First-Out (FIFO) rule. Children frequently encounter this concept when waiting in checkout lines or drive-thrus. To demonstrate FIFO, replace the Rock-a-Stack cone with an empty paper towel roll, and you have a baby-friendly representation of a queue.

Computational Thinking for Kids.

Sorting Algorithms: Organizing for Efficiency

Sorting is a fundamental problem in computer science, where the goal is to arrange items in a specified order, typically alphabetically. Achieving this goal often requires complex algorithms, which emphasizes the importance of computational efficiency. If your children are old enough to understand or learn how to alphabetize words, you can turn it into a fun project by sorting their bookshelf. Begin by choosing a sorting criterion, such as title or author. Let’s use the title as the sorting criterion for this example. Start with the first shelf and have your child attempt a simple bubble sort. Traverse the shelf from left to right, comparing the titles of two books, and swapping them if needed. This process may need to be repeated several times until all the books on that shelf are correctly arranged.

Introduce a simple insertion sort for the next shelf by removing the books, one at a time, and placing them on the floor. Ensure that each book that’s removed from the shelf is correctly positioned relative to the books already on the floor. Move the books, in order, back to the second shelf.

Now that you have two sets of properly sorted books, collaborate with your child on a merge sort. Transfer the sorted books from both shelves into two piles on the floor while maintaining their order and keeping them separate. Then, reshelve the books by comparing the titles of the top books from both piles and selecting the one that goes first, until both stacks are empty.

Object-Oriented Programming: A Practical Analogy

In computer programming, an “object” is a complex structure that includes data fields and instructions. These objects interact, leading to the creation of more intricate computer programs. The beauty of object-oriented programming lies in its ability to reuse existing objects for common computing tasks, eliminating the need to reinvent them each time. Over time, programmers can develop a comprehensive library of useful objects.

While not a perfect analogy, consider planning an outing with kids. You’ll need a few essentials to ensure a smooth experience: nourishment, entertainment, and possibly a change of clothes. Imagine creating separate “objects” or three bags to organize these items. The nourishment object would contain fruits, carb snacks, a protein source, and beverages. The entertainment object would include items such as art supplies, books, sporting equipment, and a portable gaming device. Lastly, the clothing object would consist of a top, bottom, and outerwear. Place these “objects” in your vast tote “library”, and you’ll be well-prepared for your outing.

Computational Thinking for Kids.

Computational Thinking for Kids, the Mindset of a Computer Scientist

Encouraging computational thinking, especially abstract thinking, in children begins with recognizing everyday examples that can foster discussions. Like any new skill, adopting a computational perspective requires practice. As you embark on this journey, you may find yourself applying computational thinking to address data-related challenges in your own life, approaching problem-solving like a computer scientist.

The path to computational thinking may not always involve a direct route or a set of predefined instructions. Just like the algorithms we discussed, it’s a journey of exploration, adaptation, and creativity. Whether you’re teaching your child about stacks and queues, sorting algorithms, or object-oriented programming, you’re laying the foundation for a computational mindset that can serve them well in the digital age. IMACS, a program designed to foster such thinking, can be a valuable companion on this educational adventure. Embark on this journey with us, and together, let’s nurture the next generation of creative problem solvers and digital innovators.

If you liked this post, Computational Thinking for Kids: A Guide to Fun and Engaging Activities, you might also like: