APP下载

“查错表”赋能编程教育

2021-11-14周显胜

中国信息技术教育 2021年21期

周显胜

摘要:由于Python功能强大、简单易学,相比其他语言更容易上手,因此,在新一轮课改中,普通高中信息技术教材均采用了Python作为编程语言。但学生在初学时,普遍存在基础知识掌握不牢,导致调试程序耗时过长的通病。为此,本文作者帮助学生搭建基于Python语言的助学支架——“查错表”,将知识建构、代码纠错、学情反馈一表融合,解决学生初学Python的困境,并将学习中的生成性资源转化为后续学习资源,为持续学习服务。

关键词:编程教育;语言助学支架;查错表;代码纠错

中图分类号:G434  文献标识码:A  论文编号:1674-2117(2021)21-0050-02

问题:调试程序耗时过长

笔者依据教材的编排组织教学,学完程序设计语言的基础知识后,接下来引导学生根据问题分析,编写程序描述问题求解过程。在教学实施过程中笔者发现,学生调试程序花费的时间非常长,严重影响教学进度,无法完成预设的教学任务。

分析:基础知识掌握不牢

是什么原因造成学生调试程序耗时过长呢?为了弄清这个问题,笔者从学前现状、基础知识、原因与对策三个维度设计了一套问卷,用来调查和测试学生对Python语言现有知识的掌握情况。笔者抽取了558人参与测试,从学前现状看,547人在进入高中学习前从没有接触过编程教育,占比98.03%;从基础知识的掌握情况看,20道基础题,平均正确率为36.56%;从造成的原因看,“课堂知识容量大,没有及时消化落实”占比81.63%;从寻求帮助的方式看,“会,不需要帮助”占比14.7%,“遇到問题时翻书”占比47.2%,“遇到问题时问同学”占比20.3%,“遇到问题时问教师”占比17.8%。

由此分析出,学生调试程序耗时过长的原因是:处于Python语言的初学阶段,缺乏学习技巧和方法;由于课时少,课堂知识容量大,消化落实不及时,造成规则不清、表示方法混乱、语法结构不规范,寻求帮助花费了大量时间,导致调试程序耗时过长。

策略:搭建语言助学支架

笔者搭建Python语言助学支架,为学生程序调试遇到错误时快速纠错助力。在探索过程中受到字典、词典的启发,笔者设计出基于Python语言程序设计的“查错表”,帮助学生实现程序调试的快速纠错。

1.什么是“查错表”?

“查错表”是指学生在程序代码编写、调试过程中,在遇到错误提示时,可快速查找正确的相关规则、表示方法、语法结构等,并进行纠错的一种数字化学习工具。

2.“查错表”的设计

“查错表”由名称、内容、示例、查错频次四要素构成(如下页图1)。其中,内容由概念、规则、表示方法、语法结构、操作方法等组成。名称为知识板块名称,如Python的变量、列表等;示例则是一些典型的范例;查错频次则记录查询纠错的次数,用于标识学生对该内容出错的频率。

3.“查错表”的生成

“查错表”以学生自主、按需、动态生成为架构理念(如图2),以Excel平台为载体。

具体做法是:首先教师根据图1所示的样式提供统一、规范的模板;然后学生根据教师课堂讲解,结合自己的学习能力、知识难易、消化程度等按需构建,并随着学习内容的增加而逐步完善,动态生成;最后学生将自己每次生成的“查错表”提交给教师检查,教师批阅后将存在的问题反馈给学生修正。

应用:助力程序调试纠错

“查错表”主要服务于程序调试纠错,以“发现问题→诊断→查询→纠错”为操作流程(如图2)。

例如,学生在编程解决“鸡兔同笼”问题时,在程序调试中出现错误提示信息“invalid syntax”(发现问题),并将错误定位于代码“if 4rabbit+2chicken==94:”。该信息提示“非法语句”,但对初学者来说,仅凭提示语很难找出错在哪里,此时,通常考虑三种情况(诊断):一是代码书写错误,如括号不配对、关键字多写或漏写等;二是格式不规范,如没有严格遵守缩进、缺少冒号等;三是语法错误,表示方法不正确、不规范等。学生结合具体代码进行诊断,诊断结果是算术表达式错误。在明确错误类型后,接着在“查错表”中查询算术表达式的表达规则和表示方法(查询),发现该代码中省略了算术运算符“*”。最后将代码修改为“if 4*rabbit+2*chicken==94:”。

结语:一“表”多能 赋能编程

对初学者来说,“查错表”的生成是学习Python语言的方法,“查错表”一但生成又转化为编程工具,则将知识建构、代码纠错、学情反馈三维一体深度融合。

学生在“查错表”的生成中通过对Python语言基础知识进行重构,加深了对Python语言基础知识的理解;在程序调试中,通过查询“查错表”的语法规则、表示方法、易错易混案例,实现代码快速纠错,提高了编程效率,同时对基础知识再次进行复习巩固,达到“学—用”紧密融合,良性互动;通过“查错频次”反馈学情,为教师教学提供决策,从而精准施教。

人们常说“磨刀不误砍柴工”,“查错表”赋能编程教育亦是如此。