Table of Contents

Introduction to NetsBlox

Akos Ledeczi

A brief introduction to NetsBlox, including a look at some recent additions. NetsBlox is a block-based programming environment that opens up the internet to novice programmers, supporting distributed computation, computer networking, robotics, cybersecurity, the Internet of Things, and many more. As a recent development, your program can even access your phone's sensors and turn it into a game controller.

NetsBlox: Block-Based Distributed Programming

Brian Broll

A brief introduction to NetsBlox, an open-source extension for Snap!, which demonstrates some of the powerful networking and query tools that are available to students. In this talk, we demonstrate how some of these tools could be used to grab images from Google Maps, complete with panning and zooming, collect and display animated solar eclipse data, read and plot historical earthquake data, and displaying images pulled from the IMDB database. View Flyer

Introduction to PhoneIoT

Devin Jean

A brief introduction to PhoneIoT, which is a free and open-source mobile app for Android and iOS that allows students to connect to their phones from NetsBlox. Once connected, students can read live sensor data such as the accelerometer, gyroscope, location sensor, camera, and more depending on the model of phone. Some restrictions are imposed on sensors (e.g., the camera) to ensure the app is safe for minors to use over the internet. This video serves as an overview of PhoneIoT's main capabilities and some real example projects that students can complete using our curriculum.

GPS Tracker Project using PhoneIoT

Devin Jean

This video serves as a walkthrough for one of the projects in our IoT curriculum, which has students use NetsBlox and PhoneIoT to create a GPS Tracker that gathers live location data from your phone and uses it to plot your course on a map via the GoogleMaps service in NetsBlox. The project also includes interactive controls on the phone's display, including start/stop buttons, an output showing the approximate total distance traveled, and an image display which we use to mirror the NetsBlox stage on the phone. You can also try out the completed project, but keep in mind you will need to change the device ID and password to your own device's credentials in order for it to work.

Snap!Con 2020: Exploring Climate Change with Programming Projects

Akos Ledeczi, Corey Brady, and Brian Broll

In this short talk, we present the results of a multi-disciplinary collaboration between earth scientists, education researchers and computer scientists, including undergraduate and graduate students and faculty. The goal of the project was to design a set of curricular components that teach about climate change and computational thinking in a synergistic manner. We utilized a Snap! extension called NetsBlox. NetsBlox is an open source, browser-based visual programming environment and corresponding cloud-infrastructure that integrates distributed programming capabilities at a level accessible for novice programmers. One of the new abstractions, Remote Procedure Calls (RPCs) provide students' programs access to online services and data sources including Google Maps, weather, NOAA climate change data, and others, as well as services created by the end-user community and hosted on the NetsBlox server. RPCs enable students to create engaging and motivating projects grounded in real-world applications.

Snap!Con 2020: Build Your Own (Data) Services in NetsBlox

Brian Broll, Corey Brady, and Akos Ledeczi

In this workshop, we will present how data services can be created in NetsBlox. First, we will start with a brief introduction to NetsBlox. Next, we will show what kinds of data service are possible, through a few examples. Then, we'll work with participants to create their own data services. Next, we will show how NetsBlox determines intelligent default configuration options based on the contents of the dataset (as a CSV file). Finally, we will explore options for customizing the data service (by editing the generated configuration), ranging from the help messages to the implementations of the individual remote procedure calls (RPCs).

Snap!Con 2021: NetsBlox: Bringing the Full Power of the Internet to Snap!

Akos Ledeczi and Brian Broll

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.

Koli Calling 2020 Keynote Teaching frontiers of CS in secondary school

Shuchi Grover

Teaching frontiers of CS in secondary school: gender equity, data science, transdisciplinary learning, and teacher professional development. In this keynote address, Dr. Shuchi Grover presents work on an NSF-funded project, 'Beyond CS Principles: Engaging Female High School Students in New Frontiers of Computing', a collaboration between Vanderbilt University, North Carolina State University and Looking Glass Ventures, CA. The keynote ends with a discussion of the Koli Calling 2020 paper: 'FIRST Principles to Design for Online, Synchronous High School CS Teacher Training and Curriculum Co-Design' by Shuchi Grover, Veronica Catete, Tiffany Barnes, Marnie Hill, Akos Ledeczi, and Brian Broll.