Presented by:

Devin Jean

from Vanderbilt University

Devin graduated from Middle Tennessee State University in 2020, majoring in math and computer science. Aiming for a PhD in computer science, he applied for graduate school and was accepted into Vanderbilt’s PhD program. Devin has always loved academia and wants to eventually become a professor to share knowledge of both computer science and math---and especially their interactions---with new generations. At Vanderbilt, Devin works as a research assistant, and has the opportunity to explore another area of interest: developing educational software.

Akos Ledeczi

from Vanderbilt University

Ledeczi is a CS Professor at Vanderbilt University. He has been working on NetsBlox, an extension that adds distributed computing capabilities and online collaboration to the Snap! for many years. He is also known for his highly popular introductory programming MOOC on Coursera.

Many schools offer makerspaces and other opportunities for students to get their hands on simple embedded computers, sensors and educational robots. However, most do not. Also, the kind of sensors and devices available are limited by cost. Finally, these kinds of activities are restricted to the school where the lab is located making remote education difficult. However, mobile devices that most students already own contain a rich collection of sensors that are connected to the internet out of the box. This presents an opportunity to teach concepts related to IoT, networking and distributed computing in a manner that is not only accessible to novices but also highly engaging and motivating. To make this approach a reality, we have created PhoneIoT, a mobile app for Android and iOS, which allows the built-in sensors of the device to be accessed remotely from NetsBlox, a Snap! extension. Since these devices have touchscreens as well, PhoneIoT makes it possible to configure a graphical user interface on the phone from the same NetsBlox program that processes the sensor data and handles events from the mobile device. Hence, students can build truly distributed applications that run on two or more computers connected via the internet and that interact with the physical world via sensors.

In this workshop, participants will build two applications. The first is similar to the popular handheld non-electronic maze game, where the player tries to move a ball through a maze while avoiding holes where the ball can fall in. In the PhoneIoT version, the stage contains many hole sprites that the ball must avoid to go from the lower left corner to the top right. But the ball moves based on streaming accelerometer data from the phone. That is, depending on how the user tilts their phone, the ball on the stage running on a laptop responds accordingly. In other words, you can turn your phone into a game controller. We will provide the game template that initializes the stage with hole clones and includes the code that detects the ball falling into them. Participants will work together with the instructors to access the phone’s sensors and write the code that controls the movement of the ball to get to a functional game.

Hole maze project

The second application is an exercise tracker. It will display a Google Maps background both on the stage and the phone’s screen showing the user’s current location and their animated track as they move around. The phone will have a start and stop button as well as a text display area showing the total distance covered. Again, a template will be provided and participants will work to finish the application.

Exercise tracker project

1 h
Room 4
Snap!Con 2021

Events Happening Next

The Secrets & Surprises in Coding Spirals:
TurtleStitch Tur-torial

Cynthia Solomon, Sarah Magner,

WORKSHOP DESCRIPTION In this workshop, we will focus on building blocks that allow you to play with polygons and spirals with TurtleStitch. If you create a design you love and do not have access to a computerized embroidery machine, global TurtleStitch community friends will embroider & mail you your design!

TurtleStitch is an activity and a coding environment. TurtleStitching is a mi...


Grand Gestures
Storytelling with AI

Jens Mönig, Jadga Hügle

In this workshop we'll share a curriculum around AI that we're currently working on. We try to show how to use machine learning in the classroom by implementing a gesture recognizer (based on the $1 gesture recognizer) in Snap!

We start by creating a single-stroke gesture drawing program.
By building an "animate" control structure based on the pen trails, we are able to animate our drawn...


Codification (Transformation) of GUI Elements and database structures from SNAP to Python
From blocks language to typing language by SNAP Code conversion

Matthias Kim

Codification means to create Python code directly out of SNAP Code via a mapping SNAP blocks to Python code. The created Python Code via codification in SNAP is downloaded and runs immediately in Python. This has been useful in supporting the steps from SNAP development in a blocks language to a typing language. I would like to show how we enhanced codification with GUI elements: There a...