Learnable Programming
I just finished reviewing the galleys for a review paper about learnable programming that I wrote with Lyn Turbak, Caitlin Kelleher, Jeff Gray, and Josh Sheldon, while being advised by Rob Miller.
It is called "Blocks and Beyond" and it surveys the innovation happening around blocks-based programming interfaces designed to be accessible to novice programmers. Much of the ongoing work in learnable programming can be seen in terms of modern HCI principles. Programming is the original human-computer interaction, but it is also one of the most complex. When seen as an HCI problem, programming is far from solved.
Research in blocks languages shows that blocks are not "just for kids." Applying blocks-based instruction in college education have resulted in significant academic gains, and there are reasons to believe that this is because blocks aid in recall, reduce cognitive load, and make programming less error-prone. Blocks allow students to focus on concepts rather than syntax. These are benefits that could benefit many users of all ages, especially those who are learning something new.
This work is very important because it addresses a fundamental problem in society. While our computers were originally designed to be programmed by people, in the last 20 years, much more effort has been put into creating computer algorithms that program people instead. To put humanity back in control, we need to make systems more transparent and programmable. And we need programming to be more broadly accessible and more broadly understood.
Look for the article in the June issue of CACM.
Posted by David at April 25, 2017 12:00 PM