Programming for all
Block-based programming (BBP) is a visual programming language that allows users to build programs by dragging and dropping graphical blocks. These graphical blocks resemble puzzle pieces that can be easily manipulated, and so when compared to text-based programming, the need to memorize syntax is reduced. Due to its lower entry barrier, BBP has been increasingly incorporated into school lessons as an introduction to programming for young learners.
Scratchis arguably the most popular BBP platform currently in the market. Designed specifically for ages 8 to 16, but its users range from elementary school to college level. It is used in Harvard’s CS50 entry-level computer science course as well. Scratchers use the platform to build creative projects such as games and animations and share them with other users. Its interface supports programming concepts which include conditional statements, iteration, arrays, variables, event listeners, threads, and more.
Users can also use Scratch programming blocks to control Lego Mindstorms robots and micro: bit microcontrollers. Through the “Explore” page on the website, users are able to play around with projects created by other users. Similar to how we fork repositories on GitHub, users can fork or “remix” other users’ projects on Scratch to experiment with ideas. Over the years, Scratch has gathered a vast community online. As of May 2023, it has over 109 million users, making it the world’s largest programming community for children. In fact, Scratch ranked #14 on the TIOBE index of programming language popularity, surpassing Ruby and Rust. Needless to say, the ranking is up to interpretation since the index is based on the number of search engine hits, so it is more like a rough trend of people’s interest in languages rather than an indicator of the most commonly used ones.
2. VexCode VR
VexCode VR, or VexCode Virtual Robots, is another popular BBP platform where users can maneuver a robot using Scratch-like programming blocks. Its hybrid environment allows users to write the same program in a block-based and text-based programming environment. Users can see the correlation between blocks and code, which makes it perfect for young learners to transition from visual to text-based programming.
3. MIT App Inventor
MIT App Inventor is a BBP platform for building mobile applications. Users can simultaneously build their mobile app on the MIT App Inventor web platform and test it out real-time on a mobile device. The app projects can be built directly on the device just by installing the companion app and scanning a QR code. Applications built with the platform can use the features in a mobile device such as sending SMS text messages, camera, GPS, NFC, accelerometer and gyroscope. It also supports the use of cloud data via its TinyDB or FirebaseDB component.
4. Minecraft: Education Edition + MakeCode
Due to the game’s immense popularity, there are various Minecraft-based programming competitions for age groups ranging from young children to university students. In Japan, the Minecraft Cup has been held annually since 2019, where students work together in teams to build a Minecraft world based on themes such as sustainable cities and schools of the future. Opportunities like this challenge students to demonstrate their creativity and programming skills while also encouraging teamwork and collaboration, which is crucial in software development.
Block-based programming platforms provide a hands-on, immersive learning experience that brings programming to life. A good thing about these platforms is that it focuses more on logic and computational thinking (versus getting stuck just because of a missing semicolon). As a project gets larger, the code blocks do get cluttered very quickly. It can be quite tedious to drag and drop a large number of code blocks, so managing and navigating code also becomes harder. Nevertheless, it serves as a great entry point to programming for beginners.
Given the many different options of block-based programming platforms, it can be overwhelming for parents who want to introduce their kids to programming but are not quite familiar with it. This can be an opportunity for both parents and kids to learn together and discover which platform(s) best suit the kid’s interests. As more and more people use these platforms as creative tools to explore computation, programming is becoming far more accessible than it has ever been before. Hopefully, this will lead to more diversity and inclusion in the field of software.
At HENNGE, we are looking for software engineers to join our Cloud Product Research and Development Team. To find out about more opportunities at HENNGE, check out our recruiting site.