NetsBlox is an extension of Snap! that introduces two new concepts for developing distributed applications: RPCs and message passing. These two concepts open up a plethora of possibilities accessible to beginners. RPCs can be used to access existing web services like Google Maps, Twitter, ThingSpeak, and The MovieDB or real-world datasets including climate, eclipse, and COVID data. Message passing enables students to build engaging social applications such as chat applications, shared whiteboards, multiplayer games, and many more.
This environment empowers even novice programmers to get hands-on experience with many advanced topics such as distributed computing, machine learning, cybersecurity, and the Internet of Things. Using NetsBlox, students have built their own mesh networks, encrypted chat applications, and programs for breaking encrypted messages. They have designed programs to analyze tweets from Twitter and even British periodicals from the 1800s. The very same abstractions also enable NetsBlox programs to connect to WiFi enabled devices such as educational robots or smartphones. The NetsBlox program runs in the browser and controls these devices remotely enabling students to create non-trivial distributed applications. In the course of a summer camp, students have even been able to not only program controllers to drive their own robots using their phone but hack and defend these robots from cyberattacks.
In this talk we will present an overview of NetsBlox as well as some of the newest features including:
Accessing your phone’s sensors from your project and placing interactive GUI elements on the screen. This enables applications like 1) an exercise tracker showing your route on a map and displaying the distance covered and your speed or 2) turning your phone into a remote sprite controller.
A Virtual Reality environment where students get virtual robots that they can control with their NetsBlox programs. They can collaborate on tasks in this shared world or compete against each other.
Create and deploy your own Alexa skill while writing it entirely in NetsBlox.
Create a suite of auto-graded assignments within NetsBlox itself.
Make your own data available to any other user of NetsBlox anywhere in the world instantly.
Slides for the keynote at SnapCon 2021. More information available here: https://www.snapcon.org/conferences/2021/program/proposals/225