Strategies to Reduce Cognitive Overload with STEM Content

algorithmic thinking algorithms arduino block-based coding c++ circuit coding cognitive overload computer programming computer science critical thinking electronics game game development learning led logical reasoning mit problem solving programming programming language project-based learning raspberry pi real-world resistor school parternships school partners scratch software development stem stem education technological literacy text-based coding thinking tinkercad transferable skills Apr 15, 2024
Girl at computer overwhelmed with too much information

Through an on-going partnership with Delta Streets Academy in Greenwood, Mississippi, the Excalibur Solutions STEM Academy® is introducing high school students to the worlds of computer programming and electronics.  At the beginning of this course, many students are unsure whether they have ever programmed a computer. Now, these students are writing programs to play games, constructing electrical circuits that simulate devices they see and use every day, and more!  A strategic course design that introduces only one new concept at a time helps to reduce cognitive overload.

Too Much Too Fast Leads to Cognitive Overload

Delta Streets Academy offered a computer science course a few years ago, but the results were less successful.  Most likely, that course exposed students to too much too fast.  Programming a computer typically requires competency in two key areas.  First, the programmer must decompose a task into a sequence of logical steps.  Second, the programmer must translate those steps into a language the computer understands.  Someone just getting started experiences cognitive overload trying to learn both skills at the same.

Emphasizing Logic Over Syntax

The course, tailored specifically for this group of students, is divided into three phases.  In the first phase, students learn algorithmic thinking and logical reasoning by writing programs in Scratch.  Scratch is a blocks-based programming environment developed at the Massachusetts Institute of Technology (MIT).  Because the available instructions are represented as colored puzzle pieces, students are able to focus on the steps needed to solve the problem rather than the specific keywords and often obscure syntax associated with many text-based programming languages.  They are still learning computer science concepts like flow control, conditionals, functions, and variables. However, they are focusing on the logic rather than the structural elements of a programming language.  This approach reduces cognitive overload. Don't think, though, that the projects are trivial. In this course, students are writing programs inspired by arcade games like Breakout™ and Whac-a-Mole™.  

Bricks Buster game inspired by Breakout and implemented in Scratch Hunt the Hedgehog game inspired by Whac-A-Mole and implemented in Scratch


Electronic Circuits in the Virtual World

The second phase of the course introduces students to fundamental concepts in electronics. For example, they learn the difference between open and closed circuits and the relationships between voltage, current, and resistance (Ohm’s Law).  They construct circuits with light emitting diodes (LEDs), resistors, and push buttons. They then they write code to cause these circuits to simulate the behavior of everyday devices like a three-way light bulb and a nightlight.  Again, though, to reduce cognitive overload, students work in the Tinkercad virtual circuits environment. 

Tinkercad circuits project showing LED exposed to too much current

Here, they build circuits, see how the components interact with one another, and simulate the complete system. They can do all this without also needing to physically manipulate the components on a breadboard.  They are even able to do things that would be inadvisable or unsafe with actual components.  For example, a single double-A battery does not produce enough current to require a resistor to light an LED.  Adding a second battery to make the LED brighter increases the current to a point that could damage the LED.  What better way to demonstrate the purpose and need for a resistor than having a student say, “Mine blew up!” when Tinkercad shows an explosion icon on top of an LED exposed to too much current.

Blocks-Based vs. Text-Based Coding

Tinkercad also helps to reduce cognitive overload by allowing students to continue working in a blocks-based programming environment.  The Arduino single-board computer is typically programmed using a dialect of the C programming language.  C is a challenging language for beginners due to its terse syntax and strict rules for punctuation.  Tinkercad does allow for programming its virtual Arduino using this text-based language, but it also offers a purely blocks-based interface that is natural for someone already familiar with Scratch.  Additionally, Tinkercad has a blended mode that show both the blocks-based and the text-based code at the same time.  This is a great way to gradually introduce students to the C-like language and show how it relates to the blocks-based code they have been using.

Tinkercad code window showing both blocks-based and text-based code

Physical Computing in the Real World

In the final phase of the course, students begin working with the Raspberry Pi. They start to apply what they learned in Tinkercad to build physical circuits on an actual breadboard.  They find that ensuring the components are in the proper places is more challenging in the real-world than in the virtual one.  However, because they already understand the basic concepts, they are not overwhelmed and frustrated.  Further, they are able to use what they know about circuits to troubleshoot problems and find their own solutions.  For example, when one student’s LED was dimmer than expected, the student was able to reason that the problem might be too much resistance.  Sure enough, he had used a 10kΩ resistor when he meant to use a 220Ω resistor.

Using the Raspberry Pi to Host the Arduino

Students participating in this course use Chromebooks in their other classes.  The Chromebooks are great for the activities in the first two phases of the course because students do all the work in online environments.  However, there are few options for using the Chromebook to do Arduino programming, so students are using Raspberry Pis to host the Arduinos.  Because the Raspberry Pi comes pre-loaded with Scratch 3, students start by using the Scratch GPIO Extensions to drive their circuits. 

Raspberry Pi workstation for physical computing

They soon learn, though, that Scratch is too slow and too limiting for many physical computing projects.  Because Scratch runs at 30 frames-per-second to achieve smooth on-screen animation, it forces an artificial throttle on electronic circuits.  Also, the GPIO Extensions do not support analog signals, nor can they take advantage of pulse width modulation (PWM).  Seeing these limitations gives students a reason to move away from Scratch and to begin learning the Arduino’s native text-based language.  Tinkercad's “Blocks + Text” mode makes this transition easier by allowing students to see blocks-based and text-based code side-by-side. Further, the Scratch projects can be intentionally structured so they resemble the standard layout for an Arduino sketch (e.g., declarations, a setup function, and a loop function).

Reduce Cognitive Overload by Focusing on Only One New Skill at a Time

This one-semester course, Introduction to Computer Programming and Electronics, is designed for those who have never done any computer programming and have little experience with electronic circuitry.  Focusing on only one new concept or skill at a time reduces cognitive overload, thus making it easier to absorb the new content.  Additionally, activities that introduce new skills and concepts reinforce those to which students have already been exposed.  Check out this blog post to learn more about learning through repetition.

Want a copy of the course guide?

We've published a modified version of the Scope and Sequence Guide for this course specifically for homeschool families with high school students.  It outlines a semester long plan that will help you justify giving your student credit for a computer science or STEM elective.  We show what learning goals and objectives the student will satisfy by completing a select set of project from our subscription library.  In the third phase of this course, students explore both Python programming and web development instead of the physical circuitry, so there's no need to purchase an electronics kits.  If you would like a FREE copy of this Scope and Sequence guide, click here!

Stay connected with news and updates!

Join our mailing list to receive the latest news and updates from our team.
Don't worry, your information will not be shared.

We hate SPAM. We will never sell your information, for any reason.

To learn more about how we can help you integrate STEM education at your campus or homeschool, contact us for a consultation. 

Schedule a Consultation