
arduino.cc
Programming unites the mechanical and the electrical, enabling mechatronics and robotics through control systems. By learning a computer language, we learn how a computer processes information and makes decisions based on a series of logical evaluations. It’s at this confluence of mathematics and language that we can develop a host of 21st-century business skills, especially creative and critical problem-solving.
In Tinkercircuits we introduce programming through code-blocks, a block-based graphical programming language also known as “snap” or “scratch” used for education. Code blocks serve as scaffolding, enabling students to advance their designs without requiring a rigorous coding background. It introduces the principles of structured programming while students learn to read and write in C++.

We can combine the necessary components and then virtually load and test our code in the Tinkercircuits simulator. After proving the concept in our virtual environment, the snap code blocks are translated into C++ for loading onto an Arduino microprocessor.

Our student interns have compiled a series of independently led activities to help implement code with basic electronics:
- Tinkercircuits supplement: Introduction to using Arduino, snap programming, LEDs, and servo motors in Tinkercircuits
- How to make a traffic light: use Tinkercircuits and snap coding to activate LEDs
- Activate LED with a pushbutton: use C++ text programming in Tinkercircuits
- Fading through the rainbow: use C++ text programming to control RGB LED in Tinkercircuits (here is a screen recording of the final result)
Here are some additional at-home tools and resources to help students from 5-8+ learn programming languages:
- Arduino: ready-made resources for hardware and software https://www.arduino.cc/
- Robozzle: “program” a robot to solve different puzzles http://robozzle.com/
- Tynker: Coding projects and lessons for K-12 https://www.tynker.com/
- Scratch: intro training in the language of programming https://scratch.mit.edu/
- Code Combat: game-based computer science ed https://codecombat.com/
- Blockly Games: free games to teach Scratch programming https://blockly.games/