The other day I was in a Zoom meeting with someone who is relatively new to the field of educational technology. I was asked about any “must read” books or sites. The first thing that came to mind was Seymour Papert’s Mindstorms. Mentioning Mindstorms then took me down the path of talking about Logo and its importance in the development of using personal computers in the classroom.
Logo was my introduction to programming back in my elementary school days 30+ years ago. You can still find and use Logo and its many iterations today. There are also many other good sites and apps that can introduce your students to various types of programming and coding. Here’s a short list of some of my favorite options today.
MIT App Inventor The MIT App Inventor is a free app development tool that I’ve used with students and teachers for over a decade now. It’s a great tool to use to introduce students to some programming concepts while letting develop apps that they can actually use on their phones. While it might seem complicated at first glance, after they have mastered a few basic concepts students can create some amazing applications through the MIT App Inventor. Here’s my video overview of how to create your first app with the MIT App Inventor.
Daisy the Dinosaur
Daisy the Dinosaur is a free iPad app designed to introduce young students to some programming basics. The app asks students to create commands for Daisy the Dinosaur to carry out. There is a free play mode in which students can make Daisy do whatever they want. But to get started you might want to have students work through the beginner challenges mode. Daisy the Dinosaur asks students to enter commands in the correct sequence in order to make Daisy complete tasks correctly. Daisy the Dinosaur could be used with students as young as Kindergarten age.
Scratch & Scratch Jr.
Scratch like the MIT App Inventor has been around for over a decade and is still the first thing that many people mention when talking about introducing students to programming concepts. Scratch allows students to program animations, games, and videos through a visual interface. Students create their programs by dragging together blocks that represent movements and functions on their screens. The blocks snap together to help students see how the “if, then” logic of programming works. Watch the video here to learn more about Scratch. And check out the ScratchEd team’s curriculum for teaching with Scratch (link opens a PDF).
Scratch Jr. is based on the aforementioned online Scratch program. Scratch Jr for iPad and for Android uses the same drag and drop programming principles used in Scratch. On Scratch Jr students can program multimedia stories and games. To program a story or game on Scratch Jr. students select background settings for each frame of the story. Then in each frame students select the actions that they want their characters to take. Students snap programming pieces together to make characters move and talk in their stories and games.
Snap! is a drag-and-drop programming interface designed to help students learn to program. Snap! uses a visual interface that works in your browser on your laptop as well as on your iPad. To design a program in Snap! drag commands into a sequence in the scripts panel. The commands are represented by labeled jigsaw puzzle pieces that snap together to create a program. You can try to run your program at any time to see how it will be executed. After previewing your program you can go back and add or delete pieces as you see fit.
The best aspect of CodePen is that it is a real-time editor. That means you can change any aspect of the HTML, CSS, or JS and immediately see the effects of those changes in the preview panel. This is a great way to see what happens when a variable is changed in an application. If the change didn’t work as anticipated, a quick “CTRL+Z” on your keyboard reverts it back to the previous state. The same is true when you edit an aspect of the HTML or CSS.
CodePen does have a gallery of publicly shared projects that you can copy and modify. Those public projects make it easy for students to get started using CodePen as I demonstrate in this short tutorial video.