The critical thinking required for effective programming and computer science is increasingly being recognized as a fundamental 21st-century skill. As experts around the world began to ask how to present concepts like decomposition, abstraction, algorithmic solutions, and debugging, one of their first steps was to make the act of coding more accessible to younger and more diverse learners. Now, we’re used to seeing such programs as Scratch and Cubelets Blockly in elementary and middle school. These color-coded pre-built code blocks allow students to drag and drop to build a program without needing to memorize the vocabulary and syntax of a programming language first. We all agree this is more developmentally appropriate for young learners who are simultaneously still grasping the fundamentals of their primary language through reading and writing instruction. But what about students who are pre-literate or are struggling with reading in their native language? That’s where Cubelets come in. Cubelets are block-based programming. Literally. Each Cubelet is itself a color-coded block of programming. We also refer to this as Tactile Coding, since Cubelets program robot behaviors without a screen. For example, the Inverse Cubelet is equivalent to an inverse block in Cubelets Blockly. Continue reading
As District Staff Developer for Elementary Science at Pinellas County Schools, James Hite has a big job. 78 schools alone rely on his expertise, especially when adding a new tool like Cubelets to their programs. Mr. Hite trialed the little robots in ten classrooms and quickly discovered how engaging and versatile they are. Today, Cubelets are found in every Elementary Science lab in the district with over 14,000 students playing and learning with robot blocks. “Cubelets play a huge role in our science programs,” Mr. Hite explains. “All 2nd- and 4th-grade students are using Cubelets to solve complex problems and conduct various investigations.” Of course, these investigations with Cubelets aren’t always so structured. “In one of our science labs, students built a robot that would be used to transport their class gecko around. Sure enough, the robot was constructed, and the gecko rode around the classroom in style in his custom robotic transport.” Continue reading
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?
User InterfaceCubelets Blockly functions very similarly to other visual programming languages like Blockly or Scratch by using a drag and drop functionality of function blocks that hook together like puzzle pieces. Cubelets Blockly has a few of its own blocks, however, that you won’t find anywhere else. That’s because Cubelets are such a unique robot-building experience. Check out Episode 9.1 of our Create with Cubelets series to learn more! Continue reading
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.
Pre-K and KindergartenContinue reading
“Focusing on student learning to use technology enables them to be consumers of technology. Teaching them how to create new technology enables them to be designers, innovators, and problem solvers.” – Dr. Chris Stephenson, 2012 Executive Director of CSTAHappy Computer Science Education Week! Computer science is finally becoming a core component of a complete education in our 21st-century, digital world. According to CSTA (Computer Science Teachers Association), by 2022, 1.3 million jobs in computer and mathematical occupations will be created. We are already well into the digital age, and yet an overwhelming majority of students are graduating their K-12 education without a complete computer science education. The students who are exposed to technology are often taught through the lens of consumers rather than creators and designers. But just as basic economics and mathematical principles are included in a comprehensive education to provide students tools to make informed decisions and analyze the information around them, students ought to be introduced to how technology such as banking apps, messaging systems, and cloud storage actually work. Continue reading