Litcius/Paper detail

Notational Programming for Notebook Environments: A Case Study with Quantum Circuits

Ian Arawjo, Anthony DeArmas, Michael Roberts, Shrutarshi Basu, Tapan S. Parikh

202210 citationsDOI

Abstract

We articulate a vision for computer programming that includes pen-based computing, a paradigm we term notational programming. Notational programming blurs contexts: certain typewritten variables can be referenced in handwritten notation and vice-versa. To illustrate this paradigm, we developed an extension, Notate, to computational notebooks which allows users to open drawing canvases within lines of code. As a case study, we explore quantum programming and designed a notation, Qaw, that extends quantum circuit notation with abstraction features, such as variable-sized wire bundles and recursion. Results from a usability study with novices suggest that users find our core interaction of implicit cross-context references intuitive, but suggests further improvements to debugging infrastructure, interface design, and recognition rates. Throughout, we discuss questions raised by the notational paradigm, including a shift from ‘recognition’ of notations to ‘reconfiguration’ of practices and values around programming, and from ‘sketching’ to writing and drawing, or what we call ‘notating.’

Topics & Concepts

Computer scienceProgramming languageNotationDebuggingContext (archaeology)AbstractionUsabilityTheoretical computer scienceHuman–computer interactionMathematicsArithmeticPhilosophyEpistemologyPaleontologyBiologyInteractive and Immersive DisplaysAdvanced Malware Detection TechniquesInnovative Human-Technology Interaction