Using Cubelets Blockly, you can code every single Cubelet within your robot construction. But what does this mean? And how does it compare with coding in other contexts?
The Cubelets App has two main functions: Remote Control and Personality Swap. We’ve already introduced you to the Personality Swaps, but have you begun to use Remote Control in your classroom? There’s a hidden feature I want to highlight for you because it’s not the first application people think of when they see a title like Remote Control: gathering data about our robot constructions. (Before you continue, it’s a good idea to make sure you understand how data travels through Cubelets by either reading this blog post or taking the Cubelets 102 (free) online workshop.) As you already know, you can easily gather information about how data is traveling through a Cubelets robot construction using the Bar Graph Cubelet. The Bar Graph is also a screen-free way to gather data about your Cubelets constructions. It simplifies the numbers into a 1-10 scale, as opposed to numbers between 1-255, so it makes data flow conversations available for students who are still emergent mathematicians. However, there is one thing Remote Control can do that Bar Graph Cubelets cannot: collect information about every Cubelet in a robot construction at the same time. By screenshotting the data in Remote Control, students can very quickly gather static data to analyze later. As students build more complex creations, especially by adding multiple SENSE Cubelets, it’s more important that they check their assumptions about how the data is flowing through their robot constructions. In general, the five main states of a two-SENSE robot are:
- two sensors at 255,
- two sensors at 0,
- two sensors at ~127 (about halfway),
- one sensor at 255 while the other sensor is at 0,
- and vice versa.
Cubelets are the Inception of modeling tools. As you go deeper into your Cubelets experiences, you learn layer upon layer of new skills, taking your models from simple ideas to more abstract ones. At first, students model concepts like animal adaptations, poem structures, push and pull forces, or energy transformation. Then, as students gain a deeper understanding of Cubelets, they begin to draw models of how the data flows within and between Cubelets. This, in turn, opens doors for students to use Cubelets as a tool for modeling more abstract and complex behaviors like computer networks, the internet, and even Turing computers! This is why we’ve written an entire Introduction to Computer Science mini-unit: to help you introduce concepts that take Cubelets from ‘fun building blocks’ to ‘modeling tool.’ At their youngest, or when Cubelets are most novel, learners will connect this tool to their background knowledge. For this reason, one of our recommended first challenges for Cubelets users is to build a Cubelets lighthouse. We mentioned this in our Tactile Coding blog post. Then, students progress to designing robots that incorporate various animal adaptations such as nocturnal versus diurnal or object avoiding versus object seeking. As robots become more complicated, however, Cubelets learners are bound to ask, “Why is this happening?” And if they don’t, we, as teachers, should! Continue reading
Indeed you can! Do you know what a Turing Machine is? It’s a type of a computer, or, well, it’s a model of a computer. A simplified computer, with a memory tape and a read/write head that moves back and forth along the tape. It’s a funny little type of a computer, but it’s interesting in that with a Turing Machine, you can do any kind of digital computation that we can think of. Maybe not in a super optimized fashion, but… LOOK! Here’s a Turing Machine made with Cubelets and some LEGO bricks: This construction was built by Genaro J. Martínez and students and collaborators at ALIROB (Artificial Life Robotics Lab) in Mexico. I think it’s brilliant. There’s a web site with a few more videos and all of the code has been published there too. You’ll see a ton of neat little programming features in these robots: Rotate Cubelets, for example, can only be controlled by specifying a speed, not a position. Check out how they use a distance Cubelet as a “stop” to recalibrate the little swinging arm after each swing. Most of the Cubelets we make end up in elementary or middle school classrooms. So we spend a lot of time working on making Cubelets accessible, educational, and intriguing: focusing on the low-threshold aspects more than the high-ceiling aspects. It’s nice to be reminded that Cubelets are actually a universal computational material, a medium, capable of supporting some pretty advanced thought experiments.
We call it tactile coding, but you may have heard it called “physical computing”, and it’s becoming a movement. As computer science becomes a pillar of K-12 learning standards across the country, many of the early adopters are realizing the concepts underlying computer science often live outside the computer. When we look at the standards and practices embedded into the K12 CS standards, as well as NGSS, helping students demonstrate the underlying skills and processes behind computer science are actually better addressed away from the screen. There’s also something else that’s important to consider, especially for our elementary teachers. When we think about how the brain develops, some of the more abstract concepts that support computer science are beyond our youngest students’ developmental levels. Sure, we can train them to repeat some movements on a screen and call it coding, but when it comes to understanding how and why computers really work, we need to look for more concrete examples of fundamental concepts. Let’s anchor ourselves in a Piagetian developmental approach to computer science. While Piaget tied his stages to general age ranges, children all develop at different paces. Plus, it’s acknowledged that exposing children to increasingly complex ideas aids in their development. Please consider references to ages or grade-levels to be generalized, as they may not fit your experiences or students exactly.