APP下载

面向计算思维培养的微项目学习设计与实践

2021-12-15杨琼岳仁超

中国信息技术教育 2021年23期
关键词:流程图算法计算机

杨琼 岳仁超

《普通高中信息技术课程标准(2017年版)》将计算思维列入高中信息技术学科的核心素养,因此,如何将计算思维的培养真正渗透到信息技术课堂教学中,已成为中小学信息技术教育研究的重点。

● 微项目学习与计算思维培养

项目式学习是一种围绕项目展开的教学模式,其核心思想是“做中学”,注重实践性和体验式学习,强调在项目的完成中潜移默化地培养学生分析问题和解决问题的能力。

微项目学习是在项目式学习的基础上演化而来的一种以项目为核心的教学指导模式。微项目就是“小、近、实、活”的项目。小,即选题小,研究难度小,方法易操作;近,即贴近教学,联系实际;实,即解决学习中的真实问题;活,即方法灵活,形式多样。与项目式学习相比,它对时间、资源的要求更低,具有切口小、周期短、知识承载量少、活动任务体量较少等特点。

微项目学习强调基于真实的情境创设具有驱动性的挑战问题,激发学生的学习内动力,让学生在看到所学知识与真实世界的某种联系后,围绕驱动性问题进行持续性的主动探索与回应,充分运用抽象、分解、概括等计算思维的思想方法解决问题。微项目学习可以让学生在解决实际问题的过程中建构知识,发展思维,提升计算思维能力。

● 面向计算思维培养的微项目学习设计分析

指向计算思维培养的微项目学习以微项目学习过程为主线,将计算思维的五要素融入项目过程中(如图1)。

(1)提出项目:创设真实的问题情境,提出项目问题,激发学生的学习动机。

(2)分析项目:分析项目主要包含分解和概括两个部分。教师可以引导学生将项目问题进行分解,降低问题解决的难度;概括则是教师针对所出现的问题引导学生搜索先前解决问题的方法。对于不能解决的问题,教师帮助学生寻找问题之间的关联,发现问题解决的突破口。

(3)项目规划:制订项目规划方案主要包含抽象思维。抽象是指将现实生活中的问题抽象出问题的本质,摒弃重复与无关的信息,快速定位出本质问题并表达成计算机可以识别的问题。

(4)项目实施:此过程主要包含算法思维,在此过程中教师要引导学生将规划方案生成计算机能理解的方式,如图形化编程、“画程”或指令代码等,并不断调试,发现并改进方案中存在的问题。

(5)项目评價:在此过程中,引导学生用自己的语言去表述创作思路,其他学生根据描述积极评价,在他人的评价中反思、改进、提升,评估最优方案。

(6)总结反思:该过程主要包含概括,即教师引导学生将此类解决问题的思考方法迁移到其他类似项目中,提高问题解决能力。

● 面向计算思维培养的微项目学习实践

下面,笔者以“算法——探秘摄像头的背后”项目为例,对微项目学习助推计算思维培养的课堂教学实践进行具体阐述。

1.创设情境,项目导入

师:交通拥堵问题已成为城市发展的一大难题,很多城市已经实行了机动车限号措施,对于违规者都会有相应的处罚。那是谁在执行这个工作呢?(播放视频《2015年北京单双号限行,高清探头抓拍违法》)摄像头是如何工作的呢?这节课我们以“探秘摄像头的背后”项目为例进行算法学习。

设计意图:以生活中的真实问题引导学生对问题进行分析,明确本节课的项目目标——探秘车辆监控摄像头背后的原理。

2.项目分析,走进算法(生活算法)

项目背景知识:车牌号后5(6)位序号组成只有数字或数字加字母两种组合;每个城市限号规则,我们模拟视频中的单双号限号规则,即判断车牌中最后一位数字的奇偶性。

明确项目任务:如何判断车辆的单双号?

活动一:简要描述人解决这一问题的办法——①获取车牌号信息;②取车牌号最后一位数字;③判断奇偶数;④输出相应结果。

小结:算法就是解决问题的方案和步骤。如上所述便是生活中的算法。

设计意图:从学生的真实生活出发,感受生活中的算法,用概括的方法将学生生活中无意识的算法转化为有意识的算法思维。在描述过程中特意去其枝叶,用抽象的方法整体把握框架流程,符合程序从整体出发逐步细化的模块化思想。

3.项目分解,理解算法(计算机算法)

(1)计算机算法。上述算法对于我们来说每一个步骤都很明确,但计算机却犯难了。因此,需要把生活中的算法转化为计算机算法,即将解决问题的方法细化成算法的执行者——计算机能理解的步骤。

(2)项目方案分解:取车牌号尾数的方法;输出单双数的判断方法。

设计意图:生活算法的描述相对简单,只要算法的执行者(人)能根据算法执行即可,但用计算机解决问题,需要用计算机能理解的、更明确的、更细化的步骤去描述。因学生没有算法基础,用分治法是把一个较大的项目分成两个较小的子问题,通过对子问题的求解,对问题各个击破,分而治之,降低项目难度。

4.项目实施,描述算法

活动二:对任意数字n,输出奇偶判断的结果。

自然语言描述算法:输入n;判断n的奇偶;输出结果。

流程图描述:为了便于交流,在设计好算法之后,还必须把它准确清楚地表示出来。描述算法的方法有多种,除了用自然语言描述外,还可以用流程图描述算法,流程图是用一组规定式样的几何图形、简明扼要的文字和带箭头的流线来表示算法。

思考并实践:如何将自然语言转化为流程图描述?

小结:利用“选择”框对条件进行判断,根据给定的条件是否成立,从分支路径中选择执行其中之一,这种控制结构叫选择结构,也叫分支结构。

活动三:取出车牌号最后一个数字。

分析问题:用自然语言描述算法,分析循环条件、循环体。

实践:用流程图描述上述算法(如下页图2)。

小结:利用“循环”框对条件进行判断,若条件成立,重复执行某个操作,这种控制结构称为条件循环结构。

设计意图:用“画程”画图的方式编写程序,学生只需用拖拽图标的方式就能轻松地绘制流程图。一方面它降低了编程对学生的干扰,把重点放在学生解决问题的思维方式上,而非具体的实现函数及语法。另一方面这个流程图是可执行的,以验证算法是否可行,也能让学生体会到编写程序并执行显示结果带来的成就感。在活动三中,让学生用自然语言描述,再在教师的引导下一步步进行分解、细化,将生活算法转化为计算机算法。为了降低语法等对学生的影响,本活动采用了半成品策略,将非本课重点内容的“输入车牌号”“是否为字母”“字符串取尾号”“切片”等方法用处理框提供给学生,学生只需要根据自然语言描述的方法去拖动图形框的位置即可轻松实现流程图的绘制,从而将重点放在学生算法思维的培养上。

5.问题解决,总结算法

活动四:项目整合,调试程序。

学生将分解的两个子项目整合为完整的项目算法流程,程序整体依次从上到下执行,即顺序结构,运行调试程序,经历从生活算法到计算机算法的完整转换。

算法總结:用思维导图的方式展示,梳理算法及基本结构等知识。

设计意图:通过项目整合,让学生感受分治思想的应用,经历用分治的方法将生活算法转化为具体的、可执行的、确定的计算机算法。回顾所学,利用思维导图引导学生将关键知识点整合,进一步巩固学生的认知结构。

6.项目拓展与提升

各地的限号规则与多因素相关,远比单双号复杂,限号规则的不断完善也是算法不断优化的过程。机动车限号仅仅是缓减交通拥堵的一种方式,各个城市也在做积极探索。播放视频《郑州聪明公交车》,感受算法对缓减交通拥堵的作用。生活中其实还有很多这样聪明、智慧的应用,其背后都是算法在支撑。

设计意图:感悟高科技背后算法的作用,体会算法在生活中的应用。

● 教学思考与总结

本节课结合生活中常见的车辆监控摄像头,以“探秘摄像头背后的原理”项目引发学生思考,让学生用自然语言说出解决这一问题的方法步骤,从而理解生活算法,并引导学生将生活中无意识的生活算法转化为有意识的计算机算法思维和方法。但要用计算机解决编程的方式问题,需要将生活算法转化为明确具体的、可行的计算机能理解的算法。因学生没接触过算法,用分治法是把项目分解成“取尾数”“判断奇偶”两个子问题,再用算法的基本结构去各个击破,并以“画程”画图的方式加以实现,最后再用顺序结构进行项目整合。任务由简到难,层层深入,环环相扣,将计算思维的一般过程融入到微项目学习过程中,让学生经历由生活算法到计算机算法的转换,从而达到掌握算法概念,学会用流程图描述算法的目的。

本次教学实践取得了较好的教学效果。将计算思维融入微项目学习流程,为在信息技术课堂教学中培养学生计算思维提供了一种新的思路。

猜你喜欢

流程图算法计算机
云的识别指南
中国计算机报202007、08合刊
Travellng thg World Full—time for Rree
中国计算机报2019年48、49期合刊
中国古代的“计算机”
学习算法的“三种境界”
算法框图的补全
算法初步知识盘点
流程图学习指南
一体式,趋便携雅兰仕AL-225