胡义拯
摘要:本文以“编程动画”项目为例,介绍了三步转译编程教学法在“身边的算法”模块中的实践和应用。在项目中,学生在第一步转译中通过具身体验、情境模拟和故事脚本编写等活动,将真实问题转译为自然语言描述的文本。学生通过实践学习,将抽象的编程概念与实际问题结合,提高了学习兴趣和动机,并培养了创造力、逻辑思维和团队合作能力。借助三步转译编程教学法,学生能够经历一个从生活中澄清问题、逐步转化为程序解决问题的实践历程,训练在自然语言和计算机程序语言之间的转译和运用能力,从而发展和培养问题解决能力和编程技能。
关键词:三步转译;身边的算法;图形化编程
中图分类号:G434 文献标识码:A 论文编号:1674-2117(2023)16-0007-03
“编程动画”项目简介
1.项目概述
面向对象:六年级(第二学期)学生。
总课时数:8课时。
设计背景:项目基于《义务教育信息科技课程标准(2022年版)》中的“身边的算法”模块。与计算机的算法(代码)和数学的算法(公式与数学模型)不同,信息科技的“算法”是指问题解决的一套流程,涉及问题的步骤分解—算法的描述、执行与效率—解决问题的策略或方法。重点在于实际问题的解决,而教学过程中最易用的载体是图形化编程。
学生将借助项目经历“需求辨析、逻辑梳理、编码实现、調试运行”的程序设计制作过程,了解程序的顺序结构、分支结构与循环结构,接触代码的识读方法和调试方法。
2.学习内容安排(如右表)
“三步转译”第一步在“编程动画”项目中的具体运用
“三步转译”的第一步转译是真实问题→自然语言描述的文本,其目的是让学生正确认识问题,澄清需求。而“编程动画”项目所做的是对生活场景的还原,学生需要根据所给情境完成记忆、情绪和语言等具身体验,从而在场景中确定脚本。
1.情境导入与具身体验
(1)活动要求
根据所给情境“外出上课”,回忆该情境下涉及的行为规范。
(2)活动形式
学生小组讨论与模拟“外出上课”情境。
2.文学描述与脚本确定
(1)活动要求
结合自己的学习生活经历,编写“外出上课”动画故事脚本。
(2)活动说明
故事脚本应该完整,完整的定义包含所有行为规范,有时间、地点、人物。可以从不同的角度描述故事,但不应脱离生活实际。学生根据具身体验的结果和自己的生活经历,编写出完整的故事脚本。
3.脚本框图与初步分解
(1)活动要求
根据教师示例和讲解,尝试用图示对编写的故事脚本进行初步的分解。
(2)教法说明
这是六年级学生第一次进行相应的训练和实践,教师可以适当给出相关支架以支撑学生完成活动任务。下图是笔者针对本项目给出的示例。学生根据示例,将自己的故事脚本进行初步分解,形成了故事脚本框架,脚本框架在整个项目中具有承上启下的作用,学生可以通过它完成对项目任务的再明确,而在正式编程前,还需要对脚本框架进行二次分析(角色、动作、联系),所以脚本框架将贯穿整个项目始终。
效果与思考
传统的编程技能教学一般为三个步骤:教师呈现命令语句、教师例题、学生模仿编制程序。然而,编程使用的命令语句其实是对抽象概念的表达,而六年级学生的认知水平还处在具体运算转向形式运算的过渡阶段,对抽象的编程存在天然的畏难情绪,如果直接将知识点灌输给学生,只会让编程教学失去其本质和价值。因此,六年级的编程教学重点首先是问题解决能力的发展与培养,其次才是编程能力的启蒙与训练。笔者希望通过三步转译教学法,引导学生通过实践从生活中澄清问题,并逐步将问题转化为程序来解决,培养学生在自然语言和计算机程序语言之间转译和应用的能力,从而让学生总结出一套可行的问题解决流程。
1.问题解决的第一步
问题解决的第一步应当是对情境的体验。在最初的教学实践中(未使用三步转译教学法),笔者发现学生的编程作品会出现一些问题,如缺少程序的初始化、对不同角色和舞台需要独立编程不理解、对多个角色的联动编程不理解等。这些问题实际上反映了学生在将已有经验与新知联系起来、将实际情境与抽象概念联系起来等方面存在困难,而填补这一沟壑最有效的方法就是进行实境体验。
在本案例中,学生通过在教室内的具身体验,完成了故事脚本的文学描述和框架文本。通过还原和加工生活场景,让学生全面了解问题的各个方面,感受问题的实际环境和涉及的人员,思考问题可能存在的需求。这为问题的实践验证和解决提供了有效的基础和指导。
2.从低开放度任务开始
在选择情境时,通常应该考虑与学生生活学习密切相关的场景,以激发他们的兴趣和动机。这样的选择能让他们更容易看到学习的实际应用和意义,从而更愿意积极参与学习任务。
对于未接触过编程学习或逻辑梳理锻炼的低学段学生,建议从低开放度任务开始。这类学习任务所涉及的情境发散程度较小,学生只需对其进行还原与确定,无需过多地拓展,难度较小,易于学生接纳与完成。同时,在开展体验活动时,教师可以给出合适的示例,为学生故事文本和脚本框架文本的生成提供支架。