Search · four archives
Search · four archives
11 papers · ranked by Valyu relevance
Jesse Yusuf Chan, Haoming Wang, Mingwei Xu, Xianlong Xu
The transition from block-based to text-based programming requires learners to convert visible program structures into abstract textual expressions, which may create a cognitive gap between understanding computational concepts and expressing them in Python syntax. To support this transition, we designed and implemented…
Leif Andersen, Michael Ballantyne, Cameron Moy, Matthias Felleisen + 1 more
The dominant programming languages support nothing but linear text to express domain-specific geometric ideas. What is needed are hybrid languages that allow developers to create visual syntactic constructs so that they can express their ideas with a mix of textual and visual syntax tailored to an application domain.…
Yuki Ueno, Bretho Danzy, Zhuojun Jiang, Chris Bryan
Visual data analysis involves both open-ended exploration and targeted question answering. Visualization authoring tools support this process by enabling users to create visualizations for these tasks. With the rise of large language models, substantial effort has been devoted to developing visualization authoring…
Naaz Sibia, Jessica Wen, Amber Richardson, Yashika Jain + 6 more
Program visualizations are widely used to support novice programmers, yet students often ignore or resist well-designed visual scaffolds. Research on multiple external representations (MERs) offers cognitive design principles for coordinating views, but less is known about what shapes learners' engagement with…
Matthew Sotoudeh
As computer systems grow ever larger and more complex, a crucial task in software development is for one person (the system expert) to communicate to another (the system novice) how a certain program works. This paper reports on the author's experiences with a paradigm for program documentation that we call literate…
Shengguang Wu, Xiaohan Wang, Yuhui Zhang, Hao Zhu + 1 more
Spatial reasoning in 3D scenes requires precise geometric calculations that challenge vision-language models. Visual programming addresses this by decomposing problems into steps calling specialized tools, yet existing methods rely on either fixed toolsets or speculative tool induction before solving problems…
Samuele Burattini, Alessandro Ricci, Simon Mayer, Danai Vachtsevanou + 3 more
In this paper we introduce and discuss an approach for multiagent-oriented visual programming. This aims at enabling individuals without programming experience but with knowledge in specific target domains to design and (re)configure autonomous software. We argue that, compared to procedural programming, it should be…
Mickaël Baron, Patrick Girard
In some cases, end-user programming allows the design of stand-alone applications. But none of the existing approaches is concerned by safety aspects of programming. Heavy techniques exist to develop safe applications, particularly in non-interactive domains. They involve software engineering techniques, and sometimes…
Moida Praneeth Jain, Venkatesh Choppella
Misconceptions about program execution hinder many novice programmers. We introduce SimpliPy, a notional machine designed around a carefully chosen Python subset to clarify core control flow and scoping concepts. Its foundation is a precise operational semantics that explicitly tracks source code line numbers for each…
Ajay Brahmakshatriya, Saman Amarasinghe, Martin Rinard
Many program transformations and optimizations require information about the future behavior of the program. A standard way to obtain this information is to build an intermediate program representation, then use a backwards program analysis to propagate relevant information against the flow of control back to the…
Roland Leißa, Johannes Griebler
Dominance is a fundamental concept in compilers based on static single assignment (SSA) form. It underpins a wide range of analyses and transformations and defines a core property of SSA: every use must be dominated by its definition. We argue that this reliance on dominance has become increasingly problematic -- both…