在问题情境中培养学生计算思维的方法探究
2021-01-26顾琴娣
摘 要:计算思维是信息技术学科核心素养的重要组成部分之一,在中小学信息技术学科教学中的重要性和必要性,越来越多地受到关注。如何在信息技术教学中培养学生的计算思维呢?文章从实际课堂教学入手,浅析在课堂教学中以问题情境来培养学生的计算思维,提高学生信息素养。
关键词:问题情境;计算思维;信息素养
一、 引言
首先,计算思维是每个人在日常生活中都可以运用的一种思考方式,人们每天都在用它解决生活中遇到的一些问题,如出行时的路线规划、理财时的投资选择、科学研究的分析、天气预报的预测,学生对一道题目的求解等,它越来越多地受到人们的关注;其次,计算思维作为信息技术学科核心素养的重要组成部分之一,在信息技术学科教学中也显示出它的重要性和必要性。但如何在信息技术教学中培养学生的计算思维呢?现以常态教学中的一课《程序的循环》为例,浅谈在信息技术教学中以“问题情境”来培养学生的计算思维。
二、 计算思维与问题情境
计算思维是指个体运用计算机科学领域的思想方法,在形成问题解决方案的过程中产生的一系列思维活动。
初中信息技术教学中,可以说计算思维无处不在。一线教师将学生无意识的计算思维变成有意识的计算思维,让学生主动地利用计算思维去分析问题、解决问题,并融入其他学科的学习,这既是一个挑战,也是一个际遇。因此,笔者尝试用“问题情境”来设计课堂教学,通过“问题情境”的创设、分析、解决来培养学生的计算思维。
这里的“问题情境”是一种具有特殊意义的教学环境。一种意义上是指将课堂教学任务设计成看得见、摸得着的教学背景,如制作电子动画贺卡、制作宣传公益活动的网页、海报等,或是解决数学中的鸡兔同笼问题、求1+2+3+4+……+100的和等问题情境。另一种意义是由问题情境激发学生学习的兴趣与热情,让学生对学习有一种主观愿望,并唤起学生对即将所学知识产生一种渴望与追求;这样,学生在学习中始终以积极的情感去体验,主动地投入学习中去,从而达成课堂学习目标。学生在这样的问题情境中,其信息素养、综合素质得到提升。
三、 信息技术课堂教学中实施计算思维的重要性
“授人以鱼,不如授人以渔。”初中信息技术学科的教学中,除了让学生掌握必要的知识与技能外,更重要的是培养学生运用这些知识与技能去解决生活中、学习中各种问题的能力。而要做到这一点,就需要教师将学生无意识的计算思维汇聚起来,形成学生有意识的计算思维,让学生逐渐地熟悉与慢慢地形成信息技术学科中的计算思维,拓展学生看待问题与思考问题的角度、方式和方法,让学生拥有一种生活技能,从而提高学生的信息素养,使学生在今后这样一个数据化、智能化的信息时代更好地生活与发展。
四、 问题现状
笔者在课堂教学研究中遇到过这样的情况,苏科版《初中(8年级)信息技术》第4章算法与程序设计中的第5节程序中的循环,需要学生掌握两种循环语句:条件循环语句与计数循环语句。在学习本节内容前笔者首先对学生的学情进行了分析,学生在小学阶段学习过Scratch编程,理解“反复执行”与“反复执行多少次”的控制模块,但对VB编程环境下的“循环”“循环语句”没有概念认知,更不知教材中两种循环语句适用于何种场合。
这样的问题,无独有偶,在其他章节学习中也遇到过。若教师还是继续按照传统的教学方式“讲授—练习—巩固”,学生是听众、是接受者的话,课堂气氛呆滞,学生学习兴趣不足,体验不到学习新知识的新鲜感,这样的课堂教学效率可想而知,也谈不上培养学生的计算思维与提高学生的信息素养了。
其次,教学中有时教师把关注点、侧重点放在了学生对软件的操作技能上,忽视了学生主体思考、分析、解决问题的过程与空间的释放,忽视了学生的计算能力和创造能力。长久下来,学生的计算思维得不到有效开发。
最后,教师在教学设计时若理念依然陈旧,视野还只局限于书本、教参的话;教学目标还只注重信息技术内容的学习的话;教学过程还依然是固定的,没有师生互动、生生交流的话;这样的氛围是不利于学生计算思维的培养的,教师最终也给不了学生“一潭清水”。
鉴于信息技术课堂教学中培养学生计算思维的重要性与目前的问题现状,笔者从课堂教学为抓手、从学生日常生活中的问题情境入手,通过提出问题、分析问题、运用计算机解决问题,并将过程与方法迁移到其他学科学习与实际生活的问题解决中去,从而培养学生的计算思维与提升学生的信息素养。具体从以下几个环节进行展开探索与实践。
五、 以具体问题情境来浅析培养学生计算思维
(一)从问题解决的角度创设情境
《程序的循环》在传统的课堂中会以这样的环节进行:“情境导入——两种循环语句的语法学习——程序运行结果的案例分析——围绕问题编写程序”,学生在接受知识、学完语法知识后,直接上手编写程序,学生会茫然,更会犹豫不定:到底用哪种循环语句来实现呢?或者直接套用“Do While……Loop”或“FOR I=1 TO……Next”的循环语句,對需要解决的问题没有思考、分析,头脑中也没有一个对问题界定的概念及解决问题的过程与方法,由此也无法建立数据结构模型,从而解决不了更高层次的问题。
课堂教学设计应从问题解决的角度创设情境,按照“具体——抽象——具体”的设计思路,由贴近学生生活的现实小问题出发引导学生学会分析,找出规律,并在教师的帮助下界定问题,建立相应的数学模型。在本课的情境导入中,笔者以这样的问题情境展开的。
问题:生活中,小明每天有向储蓄罐中存钱的习惯,第一天存1元,第二天存2元,第三天存3元……当存了n天后,他想:“100天后,我的储蓄罐中有多少钱了呢?我什么时候能够存到1000元呢?”
问题提出后,学生联系自己的生活实例与已有的知识体系,迫切地想利用刚刚学习到的计算机程序来解决此问题,可前面学习到的判断结构似乎帮不上忙。这时,教师追问:“再仔细读一读问题,想一想小明每天都在做什么事情?”——“每天都向储蓄罐中存钱!”学生异口同声地回答。每天都在做同样的事情:存钱,对每天重复做的事情,在计算机程序中可以用循环来实现,从而界定问题概念——程序的循环。此刻,既激发了学生的学习欲望,又锻炼学生的思考能力,计算思维也由此展开,而本课的学习驱动力也被熊熊燃起。
(二)以阶梯化问题来分析信息资源
阶梯化问题是将一个大问题、大信息资源根据教学目标,分割成相互关联的小问题,问题之间由浅入深,具有层次性和系统性。学生在思考、分析与解决这些问题的过程中,教师要给学生充分的时间和空间,让学生人人参与;更者教师要有思维地训练学生,帮助学生层层推进,引导学生亲身经历用计算机科学领域的思考方法解决问题的过程,帮助学生建构出相应的数据模型,从而使学生慢慢地形成计算思维。
如,对提出的向储蓄罐存钱的问题,以这样的阶梯化问题展开,进行大问题的分析,从而建构出数据模型。
假设:天数用变量d表示;储蓄罐中的钱用变量m表示,起初储蓄罐中没有钱,则m为0。
开始存钱了,第一天,往储蓄罐中放1元,即0+1→m;第二天,往储蓄罐中放2元,即1+2→m;第三天,往储蓄罐中放3元,即3+3→m;第四天,往储蓄罐放中4元,即6+4→m;……
找出规律,天数的变化犹如过日子,每天增加,可以用“d+1→d”表示;而存钱的操作是罐中已有的加上今天存的钱,用“m+d→m”表示。其中,“d+1→d”“m+d→m”就是分析、推导得出的数据结构模型。
(三)运用合理的算法形成解决问题的方案
通过阶梯化小问题的一一分析后,教师与学生一起建构了问题解决的数据模型,接着就需要设计与运用合理的算法来解决问题,编写程序了。算法是程序设计的“灵魂”,算法也是解决问题的方法和步骤。这时根据提出的问题“什么时候能够存到1000元呢?100天后储蓄罐中有多少钱了呢?”分析出来的数据模型,进行算法的设计,用具体的流程图来表示,让学生清晰地知道解决此问题的算法。
算法确定后,就是编制程序了。算法中的重复执行,在程序中就要用到循环语句,以此展开循环语句的学习及两种循环语句的语法学习。“Do While……”是条件循环语句,一般用于循环次数事先难以确定的场合,如:“什么时候能够存到1000元?”而“For……Next”是计数循环语句,多用于在执行循环之前能确定循环次数的场合,如“100天后储蓄罐中有多少钱了?”
循环语句确定后,运用分析得出的数据模型、算法进行解决问题方案的描述,写出程序段来。
如问题:什么时候能够存到1000元呢?
Let d=0:Let m=0
Do While m<1000
d=d+1
m=m+d
Loop
Print“需要”;d;“天能存到1000元!”
问题:100天后储蓄罐中有多少钱了?
Let m=0
For d=1 to 100 step 1
m=m+d
Next d
Print“存100天后储蓄罐中有:”;m;“元钱!”
程序段写出后,学生进行程序的编译与调试,并自主尝试修改循环条件,来看看一年后自己存了多少钱?这时教师再与学生一起回顾小学数学中“棋盘上的粮食”的故事,学生的思维立刻散发出来、活跃出来,并试着用计算机程序来编写代码解决曾经疑惑的问题。在这里,教师通过问题情境进行循环语句的具体使用,不仅增强了学生的学习兴趣,还活跃了学生的思维,也对学生的计算思维能力进行了培养,学生的核心素养也获得了一定的发展。
(四)运用过程与方法迁移到其他问题解决中
在上述问题情境中,对问题的思考、分析、解决的主体都是学生,学生自身经过推理与判断,有效地锻炼了自己的思维能力,并运用其思考的过程与分析的方法迁移到其他问题的解决中去,比如学生自己尝试着解决数学中的求100以内所有数(或奇数,或偶数)之和、等差或等比数列的前n项的和等,而教师也可以结合其他学科进行一些主题任务的训练,如“比比谁的身高最高?”“画100个同心圆”等,从而让学生利用程序设计中生成的计算思维去解决其他现实问题,使学生的计算思维得到升华。
六、 结语
综上所述,首先,计算思维作为信息技术课程核心素养的主体部分,教师也需要有计算思维的理念,变革教学方法,注重学生计算思维的培养;其次,教师在实践教学中要多融入生活元素,将生活实际以问题情境创设,并与课堂知识整合起来,拓展学生信息技术的学习途径,培养学生思考、分析、解决与迁移的计算思维能力,从而提高学生的信息素养,培养有素质有思维能力的创新型学生。
参考文献:
[1]钟柏昌,李艺.计算思维的概念演进与信息技术课程的价值追求[J].课程·教材·教法,2015,35(7):87-93.
[2]李艺,钟柏昌.信息技术课程核心素养体系设计问题讨论[J].电化教育研究,2016(4):5-10.
[3]侯薇.基于项目驱动的程序设计基础课程的计算思维培养[J].吉林省教育学院学报(上旬),2012,28(4).
作者简介:
顾琴娣,江苏省常州市,江苏省常州市新北區新桥初级中学。