Tangible Programming Blocks

Project Name:Tangible Programming Blocks
Company/Affiliation: Northwestern University
Role(s): Programmer (hardware interface) / Designer (hardware)
Programming Language(s): Python, Google Dart Language
Technology Stack: Google Dart Web Application, with Raspberry Pi acting as a serial bridge with RFID Readers.

Github: https://github.com/dhpollock/chm_program_interface

This project was an experiment in developing a tangible programming interface for an already existing touch-table game aimed at teaching players how to program.  Research for this project focused on comparing the educational/attitude impact of  physical programming blocks in comparison to users only using the original touch-screen interface. Initial user studies were done at the Computer History Museum in Mountain View, CA.

Programming Challenges: The major hurdle in this project was interfacing with the RFID readers.  There were three RFID readers installed in the base, and each of these readers had eight antennas reading a specific slot for the programming blocks.  Each reader had to be multiplex through each antenna.  In order to make the user experience viable, multi-threading was required to speed up the process, as addressing the three readers in series was too slow.


An overview of the interface as well as an initial study on the impact of the touch screen interactive can be found here.