Toward Gamification of Proofs about Programs
In this talk, I will present our ongoing research on turning the task of doing proofs about programs into puzzle games that can played for fun. I will first present Polymorphic Blocks, a block-based UI in which a connector’s shape visually represents the structure of the data being passed through the connector. I will show how this UI can be used to add visual type information to block-based languages like Blockly, but more importantly, how it can be used to represent logical proofs in natural deduction. In this context, if we erase all the symbols, our UI becomes a visual puzzle game, where solving a puzzle is tantamount to building a proof in natural deduction. Using this gamification of natural deduction as a springboard, I will go on to discuss (1) implications of this result for doing proofs about programs (2) our follow up work on gamification of loop invariants, and finally (3) lessons learned from this project.