基于块编程的量子设计自动化教学
Teaching Quantum Design Automation with Block-Based Programming
AI总结:
针对量子设计自动化概念学习门槛高的问题,提出Scratch平台扩展的基于块编程框架,经用户研究验证其可降低入门难度,该框架为开源项目。
AI中文摘要:
随着量子电路规模超出小型演示样例,将其准备用于物理设备执行的过程变得愈发复杂。因此,设计自动化对可扩展量子计算至关重要:编译流程可优化资源需求,并将电路转换为与特定硬件兼容的格式;资源评估可衡量执行成本;验证方法可证明电路的正确性。然而,这些概念对新手而言学习曲线陡峭,尤其是当通过低级文本表示引入量子电路时。为解决该问题,我们提出了一种用于量子设计自动化的基于块编程框架,该框架作为Scratch编程平台的扩展实现。此系统允许用户将量子电路构建为一系列块,并将其嵌入经典控制逻辑中以执行评估、比较模拟结果,以及直接应用不同的设计自动化技术。我们针对计算机科学专业学生开展用户研究来评估该方法,学生们使用该平台完成了指导性练习,并以自我报告和简短知识评估的形式提供了结构化反馈。结果表明,学生对量子设计自动化概念具备了扎实的理解和信心,说明基于块的方法成功降低了量子设计自动化的入门门槛。所实现的框架为开源项目,可通过此https URL获取。
英文摘要:
As quantum circuits grow beyond small toy examples, preparing them for execution on physical devices becomes increasingly complex. Design automation is therefore essential for scalable quantum computing: Compilation procedures optimize resource requirements and transform circuits to a format compatible with specific hardware; resource estimation evaluates execution cost; verification methods prove circuit correctness. However, these concepts present a steep learning curve for novices, particularly when quantum circuits are introduced through low-level textual representations. To address this, we present a block-based programming framework for quantum design automation, implemented as an extension to the Scratch programming platform. This system allows users to build quantum circuits as a sequence of blocks and embed them in classical control logic to perform evaluations, compare simulation results, and directly apply different design automation techniques. We evaluated the approach in a user study with computer science students, who completed guided exercises using the platform and provided structured feedback in the form of self-reports and short knowledge assessments. Results demonstrate strong understanding and confidence in quantum design automation concepts, suggesting that the block-based approach successfully lowers the entry barrier to quantum design automation. The implemented framework is open-source and available at https://github.com/munich-quantum-toolkit/scratch-quantum.