Colaroid:用于创作可探索的多阶段教程的文学编程方法
荣誉提名作者
编程教育与计算思维知识工作者工具与工作流原型设计与用户测试软件工程师与开发者UI/UX 设计师HCI 研究员
文献标题
Colaroid: A Literate Programming Approach for Authoring Explorable Multi-Stage Tutorials
文献信息
- 主题领域: 编程教学工具与探索性学习
- 关键词: 编程, 教程, 文学化编程, 计算笔记本, 教学系统, 可探索学习, 编程教育, IDE集成, 多阶段教程, 用户评估
研究背景与问题
- 发现的问题或挑战:
- 编程教程中详细描述代码如何逐步构建具有重要意义,但这种教程制作耗时费力。
- 现阶段的计算笔记本(如 Jupyter)通常无法很好地以阶段方式展示完整的代码开发过程。
- 当前多阶段教程缺乏对代码上下文和输出的全面捕捉,难以平衡可读性与可操作性。
- 重要性:
- 在学习编程的过程中,逐步展示代码的构建过程不仅便于学习概念,还能帮助学习者培养解决问题的能力。
- 为编码团队和教学者提供更有效的工具,有助于更好地传播知识和协作。
- 研究动机与相关工作:
- 文献研究指出教程应包含逐步展示与代码高亮等特性以提高学习效果,但传统工具难以整合代码、注释及输出。
- 当前的调研总结指出,教程创作过程需要更好地捕捉代码变化上下文,并可探索中间结果,此外还应支持学习者即学即用。
解决方案
- 提出的方法或解决方案:
- 开发了 Colaroid,这是一种集成在 IDE 中的工具,允许作者记录编程过程中的增量变化并生成可互动的多阶段教程。
- Colaroid 使用“时间型笔记本”概念,将代码变化、上下文及输出设计为独立的历史状态,允许学习者加载和修改任意步骤的代码。
- 主要功能包括代码差异捕捉、输出捕捉与交互及高效的基于 Markdown 的编辑。
- 创新之处:
- 转变了基于“空间型文档”的传统笔记本模式,通过展示代码随时间变化的过程,扩展了文学化编程的概念。
- 提出了基于 IDE 的教程创作与学习工具,实现实时开发与教程编写的深度集成。
- 用户可在构建阶段的任何时间点加载状态并与之交互,增强了基于动手实践的学习体验。
- 实施步骤:
- 教程创作: 作者通过 VS Code 中的扩展实时捕捉代码变化和输出,支持对每一步的详细文字说明和交互录制。
- 教程编辑: 允许对阶段性步骤进行修改,支持更改或补充代码并将变动自动传播到后续步骤。
- 教程发布与分发: 教程可作为项目文件导出,支持在代码托管平台和云 IDE(如 GitHub Codespaces)上实时使用。
- 学习者交互: 支持加载任何历史步骤并直接修改或运行代码,帮助学习者探索具体变化的影响。
研究成果
- 具体成果:
- 实现了一个完整的原型工具 Colaroid,并在 IDE 中集成了教程创作、编辑和探索功能。
- 通过两项用户研究评估了该工具:
- 教程创作实验表明,Colaroid 可显著提高教师和高级学习者的教程编写效率和质量。
- 学习实验表明,Colaroid 的教程与传统文章和视频教程相比具有更高的交互性和参与度。
- 优势与比较:
- 与传统教程相比,Colaroid 可捕捉完整的代码上下文及变更,支持跳转、探索和修改。
- 学习者能够快速跳过熟悉的步骤并深入研究感兴趣的部分,同时直观理解输出结果的变化。
- 教程作者可以在真实的开发环境中快速完成创作,无需切换工具或来回编辑。
- 实验或评估结果:
- 作者视角: 作者认为 Colaroid 显著改善了创作体验,其自动差异捕捉和交互录制功能颇有帮助。
- 学习者视角: 相较于文章和视频教程,学习者对 Colaroid 的参与时间更长,认为其更具交互性且易于导航。
- 教程生成的学习成果相近,但学习者更倾向推荐 Colaroid 作为学习工具,认为其节省时间且更便于理解。
- 局限性与未来方向:
- 局限性: 当前工具主要支持网页编程教程,其他编程领域(如数据科学或图形设计)尚未覆盖;不支持保存学习者探索行为。
- 未来方向:
- 扩展支持其他领域的编程语言与任务类型。
- 集成语音识别等功能以增强口述教程的生成能力。
- 增加分析模块以比较学习者改写代码与参考解决方案的差异。
综上,Colaroid 提供了基于时间维度的全新教程创作与学习工具,为编程教育和协作开辟了新空间,为更广泛的学习情景和用户群体提供潜力方向。
研究问题 / 现实痛点
这篇论文在当前问题库中对应的问题线索。
help
研究问题
3- 如何减少创建分阶段可探索编程教程的时间与工作量?分类: 教程制作与技能传授同类问题arrow_forward
- 现有计算笔记本无法有效展示代码开发过程的阶段性,能否通过新工具弥补?分类: 教程制作与技能传授同类问题arrow_forward
- 如何设计交互方案同时提升编码教程的可读性与可操作性?分类: 教程制作与技能传授同类问题arrow_forward
lightbulb
现实痛点
1- 编程教程繁琐繁重,学习者难以交互式探索分阶段的代码演变。分类: 教程制作与技能传授同类问题arrow_forward
- 83%
Misty: 通过交互式概念融合进行UI原型设计
CHI '25· 知识工作者工具与工作流 +1
- 83%
Fuse:浏览器内的就地 sensemaking 支持工具
UIST '22· 知识工作者工具与工作流 +1
- 71%
从标签页到结构:理解与支持网页管理
CHI '26· 知识工作者工具与工作流 +2
- 71%
UX设计系统世界中的创意招聘
CHI '26· 参与式设计(Participatory Design) +2
- 67%
通过文件简历探索网络世界的新型文件隐喻
CHI '18· 知识工作者工具与工作流 +1
- 67%
ORC布局:带有OR约束的自适应GUI布局
CHI '19· 知识工作者工具与工作流 +1
- 67%
避开图灵陷阱:通过从代码的目的开始学习对话编程
CHI '21· 编程教育与计算思维 +1
- 67%
思维 aloud 计算:支持丰富且低努力的知识捕获
CHI '21· 知识工作者工具与工作流 +1
- 67%
TweakIt:支持将代码变形的终端用户程序员
CHI '21· 知识工作者工具与工作流 +1
- 67%
理解程序员如何在文档中使用注解
CHI '22· 编程教育与计算思维 +1
基于研究子主题与职业分类的 Jaccard 相似度(≥60%)
快捷操作
广告推荐
学习 AI 编程到 CodeNow
open_in_new打开DOI链接
DOI: https://doi.org/10.1145/3544548.3581525
一眼看懂
fact_check论文快照
dataset
来源
CHI
calendar_month
年份
2023
emoji_events
奖项
荣誉提名
group
作者
5 位作者
sell
研究子方向
编程教育与计算思维、知识工作者工具与工作流、原型设计与用户测试
work
职业/产业
软件工程师与开发者、UI/UX 设计师、HCI 研究员
article
内容状态
已索引正文
hub
相关论文
10 篇相关论文