APP下载

经历思维过程,把握计算本质

2018-09-28钟海峰

中国信息技术教育 2018年17期
关键词:脚本指令程序

钟海峰

新一轮课改将我国基础教育的总目标落实到“发展学生核心素养”上,具体到信息技术学科的核心素养为“信息意识”“计算思维”“数字化学习与创新”和“信息社会责任”四个方面。其中的计算思维教育在美国、英国等发达国家受到了前所未有的重视,甚至提出了“信息时代的创新,如果缺少了计算思维,犹如鸿雁失去了翅膀”的口号。据此,基于为发展学生的“计算思维”而教将是信息技术教育发展的一种新趋势。那么,作为一名小学信息技术教师,该如何让“计算思维”在信息技术教学中落到实处呢?这就需要我们调整思维,深入理解“计算思维”的本质,吃透教材并创造性地使用教材,因地制宜地开展小学信息技术教学活动。基于此,本文结合浙摄版小学信息技术六下《角色对话》一课教学实例,谈谈如何在信息技术学科中使“计算思维”落地生根的实践和思考。

通观“思维”全局,体验计算思维

我国的《普通高中信息技术课程标准(2017年版)》指出:“计算思维是指个体运用计算机科学领域的思想方法,在形成问题解决方案的过程中产生的一系列思维活动。”思维是人对客观事物本质特征和内在规律性联系的间接的、概括的反映。优质的思维总是伴随着学生接受知识时的思维过程而逐渐形成。所以,在信息技术教学中我们要让学生经历“思维”过程,善于抓住课堂的每一个环节,训练学生的计算思维,是落实信息技术学科核心素养的根本途径之一。例如,在教学六下《角色对话》时,笔者就尝试了引导学生经历计算思维的过程。

1.创意构思,启发思维

在小学阶段,学生的思维水平从具体形象思维向抽象逻辑思维水平过渡,具体形象思维占优势。学生的思维处于一种经验型的抽象思维阶段,思维活动还需要具体、直观、感性经验的支持。一些直观形象的事物既易于学生理解,又能引起学生浓厚的兴趣,还能启发其想象和创新思维。因此,在创设有效培养计算思维的情境时,教师要找准学习内容和实际生活的联系点,根据学生已经具有的生活经验,精心设计充满趣味性的内容,激起学生的计算思维。

师:我们一起来看看猫和老鼠经典动画吧!(学生观看动画)今天我们就要用scratch来导演一出属于自己的猫和老鼠的动画剧。那么,要当好一个导演可不是那么容易的,老师先来问问大家,你觉得要导演一场戏,需要经历哪些步骤呢?

生:创编剧本、遴选角色、布置舞台……

师:(出示教材中《猫和老鼠》的对话剧本,如下页图1所示)你觉得他俩的对话将怎样继续下去呢?

生:……

师:刚刚大家都说了自己为猫和老鼠设计的对话内容,老师觉得大家都特别有创意,请把自己的创意写到《猫和老鼠》剧本当中。

生:……(续写剧本)

师:有了基本的创意,接下来我们就可以想办法来实现自己的创意了。

本环节中选用“猫鼠对话”的案例,配以经典卡通动画形象,开放性的对话内容设置,给了学生无尽的想象空间,激发了学生的创作热情。创意构思过程实质上是用自然语言描述程序算法的思维过程,为下一步抽象模型、设计程序脚本做好了铺垫。

2.设计脚本,归纳思维

计算思维是一种抽象逻辑思维。它是在感性认识取得材料的基础上,运用概念、判断和推理等理论认识形式,对客观世界间接、概括的反映的过程。它以概念性、抽象性、逻辑性为基本特征。它包含两个阶段:从感性具体上升到思维抽象,从思维抽象上升到思维具体。运用计算思维不但使我们能够了解问题是什么,而且能制定可行的解决方案,最终用计算机解决复杂的问题。

师:请同学们仔细观察对话剧本或回忆自己平时与人对话的场景,思考实现对话的基本单位或过程是怎样的?

生:老鼠问一句,猫答一句。

师:我们可以发现构成对话的基本单位为“一问一答”两句话,对话就是通过这个最小的基本单位不断重复循环的发生,得以实现并不断深入。

师:根据以上分析发现,我们可以把猫鼠的对话剧本简化为如下形式:鼠说—猫说—鼠说—猫说……请你们思考一下,猫和老鼠能同时说话吗?

生:不能。这样就不成对话了。

师:那老鼠在说的时候,猫应该在干什么?

生:猫在听。

师:也就是说要使得对话顺利进行,两句话之间还必须有一个听的过程。那么猫鼠的对话剧本应该如何简化表示才完整呢?

生:鼠说—猫听—猫说—鼠听—鼠说—猫听—猫说……

师:如果我们把对话剧本按角色再进一步细分成“分角色剧本”,又会是怎样的形式?请同学们试一试。

生:鼠的剧本:鼠说、鼠听、鼠说、鼠听……猫的剧本:猫听、猫说、猫听、猫说……

師:好了,至此我们顺利地概括抽象出了两个角色的对话模型。

本环节中运用不完全归纳推理的思维方式,通过分析化简“对话”的形式,引导学生抓住“对话”关键特征,降低其复杂度,提炼概括出计算设备可以处理的模型,从而使我们可以以人和计算机两者都能理解的方式,呈现与执行解决方案来解决问题。

3.调试程序,诊断思维

周以真教授认为,计算思维意味着每个人都应该能够判断计算工具、技术和问题之间的匹配程度和理解计算工具、技术的局限性和优势。计算机运行程序的特点是逐条执行预先编写的脚本,其一旦执行了错误的程序指令,表现出的现象必定与设计时的初衷不一致。程序调试能够诊断我们的解决方案能否完成其设计的工作,并考虑如何改进。如果没有这一诊断过程,脚本中的任何故障都不会被发现,程序可能无法正确解决问题,也可能无法以最佳方式解决问题。

师:程序脚本编写好后猫鼠是不是就一定能顺利对话了呢?

生:不一定,还要检查脚本。

师:那么我们该怎样检查呢?

生:自己写好后把脚本按对话顺序读一读,观察运行结果,就会发现错误。

师:对。我们可以通过“运行程序—观察结果—分析错误原因—改进脚本”的方法来测试程序,并发现程序中的问题。如果对话顺序和时间不匹配的话,我们可以适当调整脚本中“等待”指令的时间长度,直至两个角色对话能自动化的开展。

本环节中要求学生模拟计算机执行程序指令进行思考,分析计算机执行每一条指令后应该出现的结果,与计算机实际执行后的现象比较异同,找出出错的程序语句,并在脚本中修改正确。这样的过程既能使学生认识到程序调试的作用和重要性,同时也是对其计算思维过程的一次诊断和验证。

把握“抽象”程式,促进计算思维

周以真教授将计算思维描述为“关于对抽象的自动化处理”。学界也普遍认可“抽象”和“自动化”是计算机思维的两大本质特征。因此,我们不妨将抽象看作计算思维能力培养的关键之一,贯穿于小学信息技术教育中,让学生从小具备“抽象”的意识和能力,为发展其计算思维、培养其数字化创新能力打下基础。那么,如何培养学生的“抽象”意识和能力呢?所谓抽象,是指通过分析的途径,运用概念在人脑中再现对象本质的方法,从众多的事物中抽取共同的、本质性的特征,而舍弃其非本质的特征。简而言之,抽象的目的是把复杂的现实通过“分解—识别—概括”化简为可计算的模型。笔者结合上文《角色对话》一课教学实例中的“设计脚本,归纳思维”环节为例加以说明。

1.目无全牛,分解任务过程

哲学大师黑格尔说过:“要想把握对象,分解作用是不可少的。”分解是分析和解决问题的基本,凡事不破不立,而分解就是破,重构是立。分解是将问题分割为一系列较小可管理问题的过程,分解有助于我们找到复杂问题的解决方案。在分解“对话”过程环节中,教师首先引领学生解构“对话”过程,将复杂的对话剧本分解成以“一问一答”形式的小而易于管理的基本单位,为重构“对话”模式提供了逻辑基础。这样的思维既有完整的全局观,又达到了目无全牛的认知境界。(分解“对话”过程教学片段详见上文“设计脚本,归纳思维”环节)

2.见微知著,识别内涵模式

分解完后是重构,只有分解没有重构则如盲人摸象般陷入到事物的局部细节。在真正了解了各个部件的内部逻辑后,只有重构才能够将我们分解完后的事物重新整合为一个解决问题的模式。重构模式需要我们识别出小的分解的问题之间的相似性,寻找一类问题的一般方法。运用模式可使我们的任务更简单、问题更容易解决,因为我们可以在模式存在的地方使用相同的问题解决方案。在识别内涵模式环节中,通过对分解的对话基本单位进行单独观察,进一步设问分析得出“问答”之间还隐含有一个“听”的环节来衔接“对话”过程,从而帮助学生识别出“对话”的内涵模式,为开发可用于解决此类问题的解决方案提供算法脚本雏形。(识别内涵模式教学片段详见上文“设计脚本,归纳思维”环节)

3.钩玄提要,概括可计算模型

唐代韩愈《进学解》曰:“记事者必提其要,纂言者必钩其玄。”此句告诫我们,做学问要“探取精微,摘出纲要”。抽象可计算模型也是如此,它需要通过隐藏任何不必要的信息使问题更容易理解,抽象是简化事情,识别什么是重要的,而不用担心太多细节。抽象过程决定我们需要突出和保持的一般特征以及我们可以忽略的细节,这是计算思维的基础。在概括可计算模型环节中,通过引导学生关注重要特征,忽略无关细节,再仔细研究“对话”内涵模式,并要求将其分解成“分角色剧本”,进而抽象概括出一个可计算的“对话”模型。(创建“对话”模式教学片段详见本文“设计脚本,归纳思维”环节)

对于小学阶段的学生来说,抽象概念的理解与运用是比较困难的。在scratch《角色对话》一课中,采用“解构任务过程—识别内涵模式—抽象可计算模型”的思维程式,可以有效地引导学生体验和运用抽象。学生学会抽象可以更容易找到程序设计的切入点,梳理现实事件的本质规律,并且最终将本质规律转变为程序脚本。在儿童化编程的教学过程中,抽象是必不可少的。在计算思维教育过程中,要引导学生全面地把握抽象程式,形成“抽象”的意识和能力,促进学生计算思维的高效发展。

理解“自动化”本质,提升计算思维

“自动化”是计算思维的另一关键特征,它特指对“抽象”的处理,即把高强度的或海量的运算交给高速的计算设备“自动化”处理,通过处理后的反馈,不断优化抽象模型。其重要性虽然被置于“抽象”之后,但正确认识和理解“自动化”,对促进学生计算思维的发展也是很有必要的。那么,如何帮助学生认识和理解“自动化”呢?

1.算法脚本——自动化的静态路由

计算机自动化运行程序的过程,就是逐条执行预先设计的脚本语句的过程。可以说算法脚本是程序自动化的灵魂,是自动化运行的静态路由表,它决定了程序执行的顺畅度和问题解决的有效性。我们使用抽象得出可计算模型,然后运用编程指令通过合适的步骤来解决问题,该步骤可以表示为算法。算法是一系列指令或一组规则来完成某些操作的集合,它必须有一个起点、一个完成点和一组明确的说明。“角色对话”的算法脚本是按照解决问题的顺序写出的相应程序指令,属于最简单的顺序结构程序,但它是学习其他程序结构的基础。Scratch是一款可视化的编程语言,学生利用它可以直观形象地将算法转换成可自动化执行的程序。编写“对话”算法脚本教学片段如下:

师:至于要让角色根据我们的指令来说话,就需要用到scratch软件指令面板中的各种指令来编写程序脚本。请大家先在指令面板中找一找,能让角色说话的指令是谁呢?

生:说话指令。

师:可以用什么指令来表示角色在“听”呢?

生:等待指令。

师:请你根据分角色剧本,用“说话”和“等待”指令,分别为两个角色编写程序脚本(如图2)。

2.程序调试——自动化的动态外显

计算机是自动执行程序的,程序的执行结果就是“算法”的动态显现。但程序的执行过程是一个黑匣子,没有办法看到每一步程序的执行过程,只能通过执行结果来感受。对小学生来说,以程序调试为切入点,通过寻找计算机程序实际执行结果与最初设计方案的不一致,让学生尝试像计算机执行程序一样思考执行语句应该对应的动作,从而发现问题并解决问题。(调试程序、实现“对话”自动化教学片段详见本文“调试程序,诊断思维”环节)

在《角色对话》作品中只有猫和老鼠两个角色,程序代码相对比较简单,教师通过“开发算法脚本—运行程序—观察结果—分析错误原因—改进脚本”的方法来引导学生测试程序,并甄别程序中的问题。这样不但让学生感受到了计算机执行语句和执行结果的关系,同时也帮助学生正确认识了“自动化”的含义。这一过程既是程序编写和调试的过程,也是理解“自动化”的过程。

总之,计算思维的教学对我国中小学教育来说,还是一个全新的领域,不仅需要教育专家们在理论研究上做出引领和指导,也需要我們一线教师加强自身修养,提升课程领悟能力。只有在教学实践中不断加深对计算思维的认识和理解,深入思考计算思维在解决问题中的应用,积极寻找计算思维落地的教学策略,践行信息技术学科真正基于核心素养而教的理念,才能促进学生计算思维的形成和高效发展。

猜你喜欢

脚本指令程序
一样,不一样
《单一形状固定循环指令G90车外圆仿真》教案设计
给Windows添加程序快速切换栏
新机研制中总装装配指令策划研究
简化化学平衡移动教学程序探索
自动推送与网站匹配的脚本
“程序猿”的生活什么样
英国与欧盟正式启动“离婚”程序程序
举一反三新编
捕风捉影新编