A visual programming environment for introducing distributed computing to secondary education - Broll, Brian; Lédeczi, Ákos; Zare, Hamid; Do, Dung Nguyen; Sallai, János; Völgyesi, Péter; Maróti, Miklós; Brown, Lesa; Vanags, Chris (Journal of parallel and distributed computing, 2018)
The paper introduces a visual programming language and corresponding web and cloud-based development environment called NetsBlox. NetsBlox is an extension of Snap! and builds upon its visual formalism as well as its open source code base. NetsBlox adds distributed programming capabilities by introducing two well-known abstractions to block-based programming: message passing and Remote Procedure Calls (RPC). Messages containing data can be exchanged by two or more NetsBlox programs running on different computers connected to the Internet. RPCs are called on a client program and are executed on the NetsBlox server. These two abstractions make it possible to create distributed programs such as multi-player games or client–server applications. We believe that NetsBlox not only teaches basic distributed programming concepts but also provides increased motivation for high-school students to become creators and not just consumers of technology. •NetsBlox is an educational visual programming language which extends Berkeleys Snap!•Provides capabilities for building distributed applications.•Introduces remote procedure calls and messaging networking abstractions.•Provides access to external APIs, such as Google Maps, from within NetsBlox.