Keynote: Hyperblocks

View on Snap!Con

Presented By: Jens Mönig


Abstract:

The latest Snap! release is all about scaling up. We've redesigned Snap's architecture to support bigger projects that can do more in less time while retaining interactive liveliness. And we've also designed the blocks to be more expressive, so you can "think more" with fewer blocks. To accomplish this we've enhanced the domain of scalar functions to also operate on collections such as vectors, matrices and multi-dimensional data. Sound boring? We call it "Hyperblocks"! I can't wait to show you how fun they are.

Besides making linear algebra a first-class citizen in Snap! hyperblocks complement the technical side of our ongoing pedagogical exploration to rethink introductory computing from a data perspective rather than focusing on imperative "coding" alone. As our experience of the world is increasingly channelled through media, its digital representations let us discover real, relevant and engaging data "in the wild". We're excited about luring out educational and casual computing to realms beyond the well-trodden paths of video games and battery-powered plastic toys.

If the video-conferencing gods look favorably upon us I'll close with a little surprise...

Great presentation on hyperblocks and using them to process 2-D list data. The attached file has samples of two of the features Jens demonstrated. In audio processing, I selected a 60 second clip from ELO's song "Fire on High". It features a very clear, audible, back-masked opening. For image processing, I build two custom blocks to convert color RGB image to b/w image. One uses average method; the other weighted average or luminosity method. Both uses selectors to simplify choosing the individual color channels. One important note: Snap has a 10mb project size limit so if you process high sample rate audio or high resolution image and save it to a list variable, you will NOT be able to save the project to the cloud.
Audio and image processing using hyperblocks