Teaching Students to Code Using Free Simulators
Coding simulators give teachers a way to set up low floor, high ceiling activities for elementary students to practice what they’re learning.
When I taught elementary computer science in the past, I relied on a combination of gamified line coding platforms such as Kodable, robots like Wonder Workshop Dash, and physical computing products like Makey Makey. While the idea behind physical computing is to allow students to interact with more than just the screen, during the pandemic simulators gave computer science teachers a way to offer coding lessons under hybrid conditions that allowed students to run their programs virtually with fake physical computing.
A simulator is a program that generates an artificial view in order to create as close to a real-life situation as possible for the user. Since research has found that users can learn through simulations and then transfer the knowledge to the programs for the actual objects at a later point, simulators may be here to stay. The initial benefit in our hybrid class was that whether the student was at home learning online or in the classroom, they didn’t miss out on the lesson. A number of virtual coding simulators offer Bluetooth or transferable options when students are ready to use the actual products. This means that schools weighing choices about which products to purchase can road-test the simulators first and then decide if the product will work for their community.
Many of the simulations tested at the upper elementary grade levels offer two key perks for computer science teachers. First, several present a variety of on-site tutorials, which are ideal for both students and first-time computer science teachers. Second, several of the simulators offer a low floor, high ceiling approach to coding. CoderZ defines how computer science educators can offer low floor simulations to students of all abilities, no matter the coding level, while at the same time offering a high ceiling to students who already know how to code. The simulations below demonstrate levels that start with block picture coding, then move on to block coding using words, and finally, for students who can write in text-based code, Python or Java.
2 Fun Simulations
1. iRobot Coding: The company behind the Roomba vacuum, iRobot, created an educational version for student use, the Root Robot. This year, while introducing the Root Robot, I explained that all students would code first using the free simulator at code.irobot.com. The site has guides with several creative lessons, from practicing spelling words with code to social and emotional learning projects. Recently, students in our very early grades were challenged to code basic shapes, and the problem-solving that went into figuring out the measurements of the angles really pushed them to create more-difficult shapes as they met their goals.
This was a skill we previously practiced with different robotics, and at first I wasn’t sure if students would receive the same benefits with the simulator. They loved being able to practice right on their screen, however, without the clunkiness of the physical object. A few of the features that make this simulation work well are the ability to collapse the simulator when students need more room for code and the reset option of the simulator.
We were teaching in hybrid classrooms. The students at home didn’t feel limited, and I was able to give the in-class students the additional challenge of pairing their work to the physical robot in the classroom.
2. MakeCode micro:bit: When we changed to hybrid learning in March 2020, we found that the physical computing sections were too complicated for online delivery. They included circuitry tape connected to circuit boards with the end goal of having students understand that with code they could connect to other devices to make them run. We needed to simplify this activity for hybrid learning while including instructions about what physical computing is.
As we were still not sharing devices at my location, the makecode.microbit.org platform was one solution. The goal for students was to make something flash or change across their screens. Again, students who were at home could continue to code challenges in the simulator, while students who were at school could test downloading the code they created to the actual micro:bit. Features on the micro:bit simulator include the mock wait time for the students’ code to load to the simulation that mimics what would happen if they were using the actual micro:bit, and the simulator’s “buttons” operate as they would if the code were sent to the circuit board. If students created a yes/no game for a social studies test, they would be able to run the simulation to test their friends.
It may be time to view simulators as a separate type of visual category. Coding simulators are not games, but they do produce a new type of learning stimulation. Offering simulators to both remote and in-class students will enable all students to learn coding and make some amazing discoveries they’ll be able to use over a lifetime.