APP下载

计算思维下可计算能力的培养

2020-03-08许憬

中小学信息技术教育 2020年1期
关键词:水葫芦涂色计算能力

许憬

计算思维,是现代人的基本能力,现代人赖以生存的世界就是建立在形形色色的、或显或隐的计算之上。可计算是计算思维之基础能力,它的培养体现在每项任务、每个作品、每个活动间,体现在更具体的算法程序、智能仿真、问题解决、作品设计和人类行为理解等不同学科领域里。只有可计算的问题才能构建相应的计算模型,才能被语言描述、被计算机精确地符号化表达。

可计算能力与计算化过程

所谓可计算能力,就是能将复杂问题的分析与问题解决的步骤分解,细化至每一个明确、可控、可实现、可操作、可处理的步骤,即实现精确计算,甚至可以实现计算机精确模拟和全程自动化目标的能力。计算机问题解决中的可计算能力包括了对问题的精细分析、对过程(解题方法)的精确描述和对结果的精准预测。计算机问题解决中所指的可计算就是要求算法(广义)的每一步都必须是清晰的、确定的、有结果指向的。从原理上讲,可计算问题的解决过程与程序设计中算法的基本特征高度吻合,都具有确切性、有穷性、唯一性和可行性。

完整问题的计算化过程包含了三步渐进式的操作。一是问题的指令化,即将问题分解成可操作、可处理的指令集合(碎片化)。二是指令的序列化,将散乱的指令集通过一定形式的排列形成有意义的指令序列组合(程序)。三是序列的最优化,通过一定的优化策略(方法的筛选与步骤的优化)形成有效率的指令组合。

可计算能力的培养策略

在信息技术课堂现场,长期进行可计算能力的训练和培养,必将使学科思考更有序、问题解决更高效。

(1)实践模拟。模拟法是实现问题解决的有效方法,模拟法用实践体验的方式,让孩子理解计算的每一步,模拟的方式可以是用脚走一遍、用手划一遍、用笔画一遍等。

(2)自然语言描述。这是计算素养培养中不可或缺的一个环节。我们要重视讨论、交流与汇报,自然描述问题解决的算法过程就是一個思维的整理过程,也是一个暴露思维漏洞的过程,是一个精确化、条理化、完善化的过程。

(3)图表呈现。计算过程需要形式化的符号图形支撑,图表便是一种。我们可以采用电子表格等方式表达信息问题的状态和结构,描述静态数据的二维逻辑关系,我们可以采用手绘图形等可视化方式表示问题解决的进程和流程等。

(4)文字脚本。用文字表述的脚本是解决问题的“剧情”分解,是编写一个给计算机照着做的文字说明。一份好的脚本,就像导演手中剧本,应包含角色与动作,要有明确的表达主题,要有创意的求解过程,要有可行的技术指令。让学生尝试撰写自己的脚本,以细节描述为主,越清晰越易使计算机实现问题解决。

(5)画流程图。流程图是表达计算过程的极好方式,它形象直观、简洁扼要,能动态表达流向。画流程图是算法实现过程的预演,用框图可以把解决问题的思路、数据处理的过程、程序执行的步骤清晰地用图形的方式表示出来。

信息技术模块学习中可计算能力培养案例

1.算法模块中可计算能力的培养

案例1:高中“数组操作——数据插入”

课上教师设问,我们如何将一个任意的整数X插入到升序数组A中?

学生的回答可能不是很完善,教师要提示引导,让学生的表述准确:第一步,先找到X在数组A中的位置P;第二步,再将P位后的数据逐次后移;第三步,将X赋到数组中。

教师继续追问,怎样才能准确找到X在数组A中的合适插入位置,且保持升序不变呢?

学生间充分讨论得出结论:对数组A的数据进行从头到尾的扫描,寻找到第一个比X大的数据。

教师接着追问,怎样准确描述P位后的数据往后移?

学生可能会回答,将P位后数据元素逐次向后移一位,也有学生质疑会覆盖上相同数。

教师可提示用语句实现批量的后移赋值过程。最后可请学生再完整描述一下数组插入新数的过程。

程序设计中算法的形成会经历一个从模糊到清晰的渐变过程,“说”则可以加速这个进程。案例中老师巧妙的3次细节追问逼迫学生精确思考,只有当学生用数学语言、口头语言甚至是动作语言对解决问题的方法和步骤能详尽描述,头脑中的算法框架已然形成并逐步完善、清晰、具体化时,那么编程也就水到渠成了。

2.作品设计中可计算能力的培养

案例2:浙教版第三册上“涂色”,基于计算能力的课例设计

油漆桶工具除了用作色块涂色还能做什么?有位老师在课堂上尝试运用涂色的技术在中国行政区域图上证明四色定理。最初的地图涂色,学生操作是无序的、思路是混乱的,然后让学生用“搜索—回溯”法(让每个省份遍历红黄蓝绿4种方案,用“相邻是否同色”条件决策涂色方案)进行理性地逐一操作,直至尝试涂遍为止。

作品设计不是简单的技术叠加,也应有思维的含量。本课例模拟了搜索算法的基本原理,让孩子经历了“从无序操作到有序操作、从无序思考与有序思考、从无意学习到意义学习”的过程,体现了有序计算能力的培养。

3.问题解决中可计算能力的培养

案例3:浙教版第四册第9课“综合任务:身边的学问”

身边处处有学问,在信息技术课堂上研究和汇报身边的学习内容,我们应该怎样展开研究呢?首先教师让学生明确“身边的学问”研究的主方向,如结合生活体验,选取研究方向。有学生说星期天去农村,发现河道中水葫芦泛滥,致使河道淤塞,我们能不能研究水葫芦“污染”?

教师肯定学生的提问,并引导学生回答要完成这个项目还需哪些必要的环节。如可以进行成果的汇报展示;可以制作演示文稿让效果更直观;要清晰化我们想研究内容的线索;上网搜索大量相关水葫芦的资料。

教师根据学生的随意描述,用板贴把问题解决的五环节在黑板上“零乱”地罗列,并提问思考问题的解决过程,根据需要,我们应该怎样有效编排这5项看似孤立的研究过程?

然后师生共同整理“五环节”板贴,使之变成有意义的、指向问题解决的一般算法流程:提出研究主题——确定研究线索——网上收集资料——制作演示文稿——展示研究成果。

教师进一步提问,我们可以具体研究关于水葫芦的哪些方面的学问?学生纷纷提出问题:水葫芦是外来生物吗?水葫芦是什么样的植物?水葫芦的生长习性?水葫芦有哪些危害?没有土壤的水葫芦是怎样生存的?水葫芦怎样防治?水葫芦有天敌吗… …

问题很多,但有些跟研究方向无关,有些是同一范畴的问题。师生共同将这些问题概括为与水葫芦相关的3个核心问题:水葫芦是什么?水葫芦的危害?水葫芦的防治?让研究聚集于关键性项目。

将学生分成几个研究小组,并让学生讨论怎样科学安排这些任务可让我们的研究过程更高效。

如有的小组就说,我们小组四人打算这样分工协作:1人研究水葫芦是什么,1人研究水葫芦危害,1人研究水葫芦防治,三个人负责上网搜集资料并分类保存于指定文件夹内,由第4人负责汇总筛选与PPT制作。

教材是依据“提出研究主题——确定研究线索——网上收集资料——制作演示文稿——展示研究成果”这样的逻辑顺序编写的,如果按这样的标准次序教学,环节规整、问题良构、过程高效,但并不符合孩子思维的规律,也缺乏学习的意义建构。我认为,教学的实施结构与教材的逻辑结构是两种不同的框架体系,我们可以改变教材的顺序,让孩子经历“问题的指令化、指令的有序化、有序中的优化”的算法式学习过程,培养学生问题解决中的可计算能力。由此,案例也给我们提出一个有关计算的全新课题:能否将抽象的概念性知识、综合性问题分解成可观察和可测量的具体操作?

计算机科学中的计算能力更多地体现在问题解决过程中方法的细化与分解上,如同程序设计可以把数学问题的求解过程归结于程序语言的几条基本语句,归结于一些极其简单的机器操作命令一样,所有的复杂问题都可转化成可处理的基本指令、基本问题或基本算法。拓展到人类生活,如果问题可计算,它的求解过程一定也都可以归结于若干条最基础的、最简单的指令或操作或规则或行为上,从理论上讲,可计算的问题一定可以被计算机模拟或实现。

作者单位:浙江余姚市兰江小学

猜你喜欢

水葫芦涂色计算能力
水葫芦
浅谈如何提高小学生的计算能力
小学生计算能力的提高策略
基于无线遥控的水葫芦清理装置的设计
小学生计算能力的培养
涂色
涂色
涂色
涂色
浅谈小学生计算能力的培养