APP下载

第二步转移:从自然语言描述到问题解决逻辑图示

2023-08-30张智鹏

中国信息技术教育 2023年16期

张智鹏

摘要:本文通过两个教学案例介绍了三步转译编程教学法的实施过程,重点展示了第二步“自然语言描述→问题解决逻辑图示”在实际教学过程中的实施情况,向大家展示了多种场景下三步转译的应用情况和效果。

关键词:三步转译;自然语言;逻辑图示

中图分类号:G434  文献标识码:A  论文编号:1674-2117(2023)16-0010-03

“三步转译”是初中编程教学的一种教学方法,主要分为“实境体验→自然语言描述”“自然语言描述→问题解决逻辑图示”“逻辑图示→程序代码表达”三步转译过程。

柳栋等在《初中三步转译编程教学法框架构想》一文中提到:程序是特定问题解决办法用特定领域符号的代码表达,程序体现了对象的数字化结构,问题解决步骤的逻辑、控制与时序。所以说“编程的本质是翻译”。既然编程是翻译过程,那么在翻译之前,理清问题解决步骤的逻辑、控制和时序则显得十分重要,而三步转译过程的第二步“自然语言描述→问题解决逻辑图示”则是理清这个过程的重要一环。

在初中编程教学中,通常会有类似于编程动画、Python简单应用的纯软件编程和类似于智能创造的智能硬件编程两种类型,所以,本文将通过技术课程的教学过程中的两个实例《编程动画》和《学校放学疏散系统》,分别阐述在上述两种情况下,三步转译编程教学法第二步“自然语言描述→问题解决逻辑图示”在不同编程场景之下的运用。

“编程动画”项目中第二步转译的具体实施

1.项目简介

面向对象:六年级(下)的学生。

总课时:8课时。

主要任务:利用图形化编程软件设计制作用于六年级学生入学教育的学生行为规范教育动画。项目成果分为两轮,第一轮是情境展示类动画,第二輪是可交互类动画(借助microbit)。

项目流程:两轮实践过程中均按如图1所示的流程开展。

2.从自然语言描述到逻辑图示呈现

在本项目中,学生首先要根据任务确定好需要表达的行为规范,然后根据这些行为规范编写学生入学行为规范教育的相关故事。

类似于“编程动画”项目的动画制作场景,其实就是“多个对象”相互协同的情境,这种情况有个特点:各个对象各自的控制流程比较简单,大多数是三种结构(以顺序结构、循环结构为主,分支结构为辅)的简单组合,但是对各个对象之间的协同配合要求较高,所以对于这一类项目,在编程前通过三步转译中的“自然语言描述→逻辑图示”进行梳理至关重要。对这类项目,通常可以采用如下步骤分析并梳理流程,形成图示。

(1)分解任务,提取对象

对于动画类编程,学生首先需要知道该动画中有几个对象、几种场景。所以在编写完故事后,学生分析了创编的“入学行为规范教育故事”中存在的对象、场景(背景),并填写在任务单相对应的位置。

(2)分析对象,生成动作

每个对象需要做什么?各自的动作是什么?学生需要根据上一环节提取的对象,聚焦单个对象,分析各个对象自己的动作,并填写在任务单中。

(3)分析动作,理清关联

每个对象什么时候开始动作?什么时候结束动作?各个动作由什么触发或者是各个动作触发了哪些角色或动作?这些都需要在正式编程之前明确,所以笔者提供了如图2所示的几种符号,帮助学生更加便捷、快速地梳理清楚。

至此,学生通过以上三个步骤,对故事的逻辑、控制与时序有了清晰的认识,后续可将以上流程通过编程工具“翻译”,随后形成“学生行为规范教育动画”的制成品。

“学校放学疏散系统”项目中第二步转译的具体实施

在初中编程教学中,除了借助软件完成动画创作的编程场景之外,还会涉及对智能硬件编程的情况,下面,以“学校放学疏散系统”项目为例,重点展示在对智能硬件编程的场景中三步转译编程教学法的第二步“自然语言描述→问题解决逻辑图示”的实施情况和效果。

1.项目简介

面向对象:七年级(上)的学生。

总课时:12课时。

主要任务:体验学校路口交通情况,明确引起交通堵塞的主要问题,思考解决方案,尝试设计并制作模型,以改善学校路口拥堵状况。

项目流程:在本项目中,学生从始至终都在思考“如何解决门口道路拥堵情况”,所以首先通过实境体验的方式明确造成拥堵的具体问题,然后通过学习生活中的过程与控制流程以及可使用的智能硬件设备,尝试设计解决方案以解决明确的具体问题,最后借助学习的智能硬件设备模拟方案,并验证方案的可行性。流程如图3所示。

2.从自然语言描述到逻辑图示呈现

在“编程动画”项目中,学生通过“分解任务,提取对象;分析对象,生成动作;分析动作,理清关联”三个环节实现三步转译编程教学法的第二步“自然语言描述→问题解决逻辑图示”的转译过程。但是在“对智能硬件编程”的场景中,大部分情况下由于控制对象只有一个,上述三个环节则显得臃肿多余。

在“学校放学疏散系统”项目中,学生通过“声光控灯”的案例学习智能硬件编程,单个的声控灯或者单个的光控灯流程控制是简单的,但是对于声光控灯而言,其难点在于先判断声音还是先判断光线,因此,笔者给出了如图4所示的流程图,引导学生理清思路。

值得注意的是,在物联网或者需多块智能硬件控制板交互的场景中,“自然语言描述→问题解决逻辑图示”的转译过程又将会和“编程动画”项目处理方式一样,需要依据“分解任务,提取对象;分析对象,生成动作;分析动作,理清关联”三个环节实现第二步的转移,这主要是因为出现了多个控制对象,就必然会产生各对象动作间的协作。

在“学校放学疏散系统”项目中,学生通过实境体验发现引起交通堵塞的主要原因在于交通灯控制不合理,因此提出了解决方案,并对解决方案开展分析,得到如图5所示的流程,至此,学生对如何实现解决方案的流程清晰明了了。

实践后的思考

1.理清逻辑是代码编写前的学习重点

编程是“翻译”的过程,所以在初中编程教学过程中,理清逻辑是初中学生学习编程的重中之重。三步转译编程教学法的第二步“自然语言描述→问题解决逻辑图示”则是帮助学生深度理解问题,梳理逻辑的过程,在这一过程中,通过图示的方式将逻辑清晰地呈现,为后续程序编写做出铺垫。

2.初中生需要借助图示来表达逻辑,但未必需要标准的流程图

“自然语言描述→问题解决逻辑图示”重点是梳理清楚控制逻辑,所以通常需要借助图示梳理流程,但此图示是指一切能够描述清楚逻辑的图示,并不限于标准流程图。所以,在课堂教学中教师不需要花费额外时间教授标准流程图的绘制规范。