基于计算思维的Scratch课例分析
2018-11-26查德清
查德清
随着核心素养的提出,计算思维作为核心素养之一,越来越受到广大信息技术教学工作者的重视。在信息技术课例开发和设计时,充分利用Scratch编程这个载体,有效开展信息技术主题活动,帮助学生建构真实的问题情境,形成抽象思维,并与数学学科整合,加深对算法的理解,通过计算模拟、可视化思维,实现学生计算思维能力的提升。下面以江苏凤凰科学技术出版社(2015版)五年级教材Scratch模块的主题活动一课为例,紧扣计算思维的内涵,分析如何在Scratch教学中培养学生的计算思维。
一、认识计算思维
2006年周以真教授首创了“计算思维”的概念。随着计算思维概念的提出,国内计算机科学领域对计算思维开始关注,有多位院士参与其中(李国杰、陈国良等),同时基础教育界也在反思信息技术教育的核心价值,对计算思维持开放态度。高中新课程标准修订版中,以核心素养为总纲,将计算思维列为核心内容之一。在此背景下,小学信息技术也随之把计算思维作为学生的信息素养之一,开始在课堂教学中渗透落实。
那到底什么是计算思维,周以真教授在2011年把计算思维定义为形式化表达问题和解决方案,使之成为能够被信息处理代理有效执行的思维过程。在信息技术学科中,计算思维就可以理解为学生运用计算机科学领域的思想方法,在形成问题解决方案的过程中产生的一系列思维活动。简言之,计算思维其本质就是解决问题的一种过程。
二、课例设计
在《中小学综合实践活动课程纲要》中明确指出,信息技术的学习,旨在全面提升学生信息素养,帮助学生掌握信息技术基本知识与技能,增强信息意识,发展计算思维、提高数字化学习与创新能力,树立正确的信息社会价值观和责任感。
Scratch程序设计,是一款由麻省理工学院(MIT) 设计开发的面向少年的简易编程工具。Scratch构成程序的命令和参数通过积木形状的模块来实现,可视化的程序设计有助于锻炼学生的逻辑思维能力,有利于培养学生的创意思维。Scratch程序设计是培养学生计算思维的重要载体。
(一)教材分析
《设计Scratch游戏——抢数大战》是江苏凤凰科学技术出版社《小学信息技术·5年级》教材Scratch模块的主题活动课。本课是在学生初步学完了本单元編程新知的基础上,进一步的深入学习。本课紧贴学生的生活实际,趣味性较高,所涉及的数理算法学生比较熟悉。重在要求学生在理解“抢数大战”游戏蕴含的算法基础之上,完成“抢数大战”的程序控件的堆叠与优化。
从计算思维角度看,学生要通过分析游戏蕴含的数理知识,在逆推算法的帮助下,实现界定问题、抽象特征、建立结构模型、合理组织代码,将问题模型转化为计算机能够识别的计算模型,最后通过计算机程序自动化执行来解决问题。从程序设计上看,学生需要学习次数循环语句对程序进行迭代和优化;同时,本课要求学生从“抢数大战”游戏出发,总结出编写程序的基本方法。
(二)课例分析
本课例,根据本课的教学内容和教学重难点,结合学生的认知规律,重在培养学生的计算思维。通过问题导向学习方式,在程序设计的过程中,促进学生计算思维的养成。通过游戏体验,增强学生分析程序代码的能力,并理解算法在计算机程序设计中的作用。
1.激趣导入
激趣导入是达成课堂教学目标的良好开端。在本课教学一开始,设计了一个人机对话的游戏。让学生挑战机器人,比一比谁先可以报到10。
抢数游戏让学生对本课的学习内容有了浓厚的兴趣,更是激发了学生强烈的求知欲,进而教师引领学生开始步入计算思维之路。
2.新知探究
①定义问题:
两人轮流报数,每人每次至少报1个数,最多报2个数,从1到10按顺序连续报数。谁先抢到10谁就获胜。思考如何可以取胜?
学生活动一:全班同学以同座位两人为一组,进行游戏。通过游戏发现并识别问题,学生进行界定问题。
②建立计算模型:
根据同桌抢数游戏,分析Scratch模拟抢数游戏所需要的角色和变量,将数学推理问题进一步转化成计算机能够执行和运算的问题。
学生活动二:学生阅读范例,理解各程序段的功能。通过读程序发现1、4、7、10四个关键数字,通过逆推,理解“抢10大战”游戏的算法,从而建构游戏程序中每轮间隔3的算法模型。接着利用已建构的算法模式,推导抢11、抢12程序的算法。
③算法设计:
将计算模型进一步用数学方法归纳出来,并用程序语言进行表述。
学生活动三:学生在“抢10大战”游戏基础上修改程序,完成“抢数大战”游戏。
计算思维:将问题的本质抽取出来,从“抢10”游戏程序的算法,构建抢其他数的算法模型,通过对算法的抽象,为后续自动化程序设计提供准备。通过Scratch相互验证程序功能,实现计算机程序自动化执行。
④算法实现:
在设计算法的过程中反思问题解决方案,不断改善和优化程序。
学生活动四:在抢10游戏程序基础上进行修改,完成抢其他数游戏的程序。
计算思维:算法是指解决问题的途径,它是一系列明确指令的组合。学生将抽象出来的问题,通过类比的方法将程序语言转化为计算机指令。
通过本活动,学生可以形成完整的Scratch趣味编程的思路及实现方法。学生的计算思维能力在整个编程过程中不断得以提升。
学生活动五:引导学生关注程序模块的相同性,用一个程序来解决类似的多个问题。利用循环语句来优化程序。