Planning on Paper: Problem Decomposition with Diagrams in Introductory Computing
本研究调查了入门级计算专业学生如何利用纸笔图表来分解文字游戏任务,揭示了多样化的表征策略以及凸显初学者规划中结构化推理与顺序化推理之间紧张关系的常见概念挑战。
原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明
大局观:没有蓝图的盖房工程
想象一下,有人要求你盖一栋房子。大多数人会直接拿起锤子和锯子,在盖房的过程中边盖边琢磨墙该在哪儿。但优秀的建筑师知道,你首先需要一份蓝图。你需要将这项大任务(盖房子)分解成更小、更易处理的任务(打地基、搭建框架、布设电线)。
在计算机科学中,这个过程被称为分解(decomposition)。这是一种将巨大的、令人望而生畏的问题拆解成微小的、易于解决的部分的技能。
这篇论文讲述了一群研究人员如何观察初学者(刚开始学习编程的学生)是如何绘制这些蓝图的。他们并没有要求学生编写代码,而是要求他们仅仅在纸上画出一张图,展示程序应该如何运作。
实验内容:那个“邪恶”的单词游戏
研究人员给55名学生提出了一个特定的挑战:为一个复杂版本的“猜词游戏(Hangman)”设计一个计算机程序。
在这个被称为**“邪恶单词猜谜者(Evil Word Guesser)”**的版本中,计算机是一个“作弊者”。它不会在开始时就选定一个秘密单词。相反,它会等待你猜出字母,然后改变主意,选择一组能让你最难获胜的单词。这是一个复杂的谜题,需要计算机不断更新它的可能性列表。
学生们被告知:“不要写代码。只需画一张图表,展示你打算如何将这个游戏分解成不同的函数(小助手程序),以及它们是如何相互通信的。”
学生们的绘图:两种不同的语言
当研究人员查看这些图画时,他们发现学生们在使用两种不同的图表“语言”,并且经常将它们混淆。
“家族树”风格(层级式):
- 类比: 想象一位 CEO 向经理下达命令,经理再向工人下达命令。CEO 不负责具体工作,只负责告诉经理要做什么。
- 外观: 顶部是一个大方框(主程序),下方有箭头指向较小的方框(辅助函数)。这展示了谁调用了谁。
- 问题: 学生经常忘记游戏需要重复(循环)。他们画了一个树状结构,但树是不会回溯并重新开始的。
“流水线”风格(顺序式):
- 类比: 想象一条工厂传送带。第一步发生,然后是第二步,接着是第三步。这是一条直线的时间轴。
- 外观: 方框通过箭头连接,展示事件的先后顺序。“首先获取单词,然后询问猜测,然后检查是否获胜。”
- 问题: 这种风格非常擅长展示时间,但当你试图展示程序中的某一部分实际上是正在调用“工人”的“经理”时,它就会变得混乱。
大冲突: 许多学生尝试在同一个绘图中同时使用两种风格。他们画了一个“家族树”结构,然后又加上了“流水线”式的箭头来表示时间。
- 结果: 这就像是在画一张地图,其中有些路是单行道,有些是双行道,但图例却没有解释清楚哪种是哪种。这导致人们对于一个步骤究竟是“老板下达指令”还是“仅仅是接下来发生的动作”产生了困惑。
常见的错误:蓝图在哪里失效了
研究人员发现,学生的绘图中存在几个反复出现的难题:
- 缺失的循环(“卡带的唱片”):
许多学生忘记画出循环。在游戏中,你会不断猜测直到获胜或失败。一些学生的路径从开始到结束就停止了,就像一首歌播放了一次后就陷入死寂。他们漏掉了程序说“好吧,再试一次”的部分。 - “全能型”方框:
有些学生画了一个试图做所有事情的大方框:“获取单词、猜字母、检查是否获胜以及打印分数。”这就像试图在一天之内盖好整栋房子而不进行任何拆解。这使得计划变得无法执行。 - “魔法”输入:
有些学生画了一个写着“获取用户的猜测”的方框,但他们没有展示这个猜测是从哪里来的。这就像一份食谱说“加入秘密配料”,却没说配料是什么,也没说从哪儿获取。 - “邪恶”带来的困惑:
由于游戏是“邪恶”的,计算机必须不断更新它的单词列表。许多学生忘记了这条规则。他们画出的游戏是计算机在开始时选定一个单词并一直沿用,从而忽略了“邪恶”这一转折点的精髓。
为什么这很重要
论文指出,由于人工智能(生成式 AI)现在可以为我们编写代码,因此教师需要减少对教授学生如何输入代码的教学,而更多地转向教授如何规划。
如果一个学生画不出好的蓝图,他就无法告诉 AI 该建造什么。这项研究表明,学生在规划环节遇到了困难。他们在理清“事件顺序”与“程序结构”之间产生了纠结。
总结
研究人员建议,教师需要非常明确地教授如何绘制这些计划。
- 如果你教学生画“家族树”,请解释时间并不会在树中体现。
- 如果你教“流水线”,请解释它们无法展示谁是老板。
- 不要让他们在没有清晰图例的情况下混合使用两者,否则他们会感到困惑。
简而言之,在盖房子(或编写程序)之前,你需要确切知道你的蓝图应该是什样子的。这篇论文表明,初学者往往不知道蓝图的规则,因此教师需要明确地教授这些规则。
您所在领域的论文太多了?
获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。