基于计算思维培养的信息技术程序设计初探

2021-07-23 02:59王智慧
江苏科技报·E教中国 2021年9期
关键词:硬币编程解决问题

王智慧

在信息技术核心素养落实的过程中,有一种误解是将计算思维教育简化为“编程学习”,落实在教学中就被有些教师理解为只要开展程序设计课,就被视为培养了学生的计算思维。

笔者认为,培养学生的计算思维就是培养学生用这个时代的思维去处理这个时代的事情,让学生体验一个完整的处理问题的过程。具体到程序设计教学过程中,就是让学生清楚遇到的问题是什么,这个问题怎么解决,用程序如何实现,实现后如何优化,优化后是否能迁移到其他领域的问题解决中,形成“计算思维+”的过程。要落实计算思维,需要信息技术教师在程序设计相关内容的教学设计中下功夫,本文以“编程解决问题——抛硬币问题”一课为例进行了探究。

一、指向核心素养的教学目标

指向核心素养的教学目标既要符合常规教学目标,即知识目标符合信息技术课程标准和教科书基本要求,水平符合学生已有基础,又要以核心知识为载体,指向学生对学科思想和方法的理解,指向迁移应用所学知识、方法和技能去解决新问题的能力。

结合“编程解决问题——抛硬币问题”一课内容及学生现有知识水平,教师确定了两个教学目标:一是通过分析抛硬币问题,了解编程解决问题的基本方法,加深对计算机程序设计本质的认识。二是通过计算机实现模拟抛硬币过程,理解计算机解决实际问题的原理与思路,提升利用编程解决实际问题的意识与能力。教学目标的设定,以学生学过以后能做什么来表示,以学生学习路径来表示,进阶式指向计算思维。

二、创设真实情境

计算思维强调培养学生用这个时代的思维去处理这个时代的事情,要有与之匹配的真实问题情境。在此情境下,学生有角色的代入感和参与感,可以生成问题链,在问题链的牵引下,探究解决问题的完整过程。“编程解决问题——抛硬币问题”一课中,教师首先在导入阶段提出问题:“大家在做选择时,会通过抛硬币的方式来决定吗?在不考虑人为因素的前提下,硬币正面朝上和反面朝上的可能性是否一样?”然后,教师分小组让学生在规定的时间内抛硬币亲自实验,再引入关于此问题的一些研究结论,然后布置本节课的任务:利用计算机编程模拟抛硬币过程,验证正面朝上和反面朝上的可能性是否一样。

三、生成强调问题解决的学习任务

强调问题解决,就是要让学生经历解决问题的完整过程,即从分析这个问题开始,经过解决方案的确定,到用程序实现自动化解决,最后是问题解决后数据的应用。解决问题,形成概念,素养得到发展,学生在做中学,在做中壮大思维体系。

1.分析问题

分析问题是学生亲历计算思维全过程不可缺少的环节,分析问题的环节是要做实、做细、做充分、做透彻。在这个环节,教师要充分调动学生参与其中,学生从最初的描述问题情境,到分解问题,再到分析问题的关键点,都是在教师的引导下完成的。学生也可以以小组形式完成问题的分析过程,但在这个过程中要有相应的任务单指引,避免小组讨论脱离主线。

2.确定方案

确定方案是形成观点、生成新信息的行为,是学生梳理思维、充分地分析问题后触发的。在程序设计中,学生要用自然语言、流程图或伪代码设计算法,形成解决方案,方案的确定是后续自动化解决问题的关键。

3.自动化解决

学生通过编写程序语言实现自动化解决。笔者认为,没有必要在程序实现的过程中难为学生,不必纠结于学生应该掌握某一模块的多少种用法,而是要让学生掌握基本知识后,读得懂程序、会用程序,避免过量的纯知识记忆。

“编程解决问题——抛硬币问题”一课中,教师共设计了3个活动。在活动1分析问题,引导学生思考如何将抛硬币问题分解,由抛一次到抛多次,最后引导学生形成整体逻辑,即验证抛硬币问题可以分为两个部分:判断抛一次硬币的结果与重复执行N次,累计正反面出现的次数,改变N值即可扩大数据量,并梳理出流程图,形成初步方案,明确需求。

教师在活动2设置了2个活动任务。任务1:抛一次硬币的结果,生成随机数表示抛硬币的随机性;分支语句判断随机数的奇偶性,并分别统计正面和反面次数。任务2:循环语句实现多次重复执行,每次抛硬币的动作、结果是一样的,不断多次重复抛一次硬币的情况,即可达到想要的结果。活动2用计算机解决问题的方法细化方案,帮助学生加深了对分支结构和分支语句、循环结构和循环语句的理解,为后续进行程序设计奠定了基础。

教师在活动3也设置了2个活动任务。任务1:硬币的正反面是互相对立的结果,即可以用数字的奇偶性来表示,将问题数字化。结合随机数,利用编程语言中的分支语句判断,输出抛硬币的两种结果。任务2:循环语句实现多次重复执行。

在教学目标的指引下,在充分考虑学情的前提下,教师并没有完全让学生去编写整个程序代码,而是选择了在理解程序段功能的前提下,让学生对关键语句进行填空,将整节课的教学重点定位在编程解决生活中实际问题的基本方法,教学难点定位在编程解决生活中实际问题的基本方法。

四、持续的多样性课堂评价

课堂评价要針对学业目标、学习过程表现及效率,应该是持续性的行为,应该伴随着课堂教学而存在。评价方法应该是多样的,可以通过学案检查、课堂完成任务情况统计、课堂作品展示、教师提问、小组互评自评等多种方式进行。评价时,教师要强化过程性评价,关注学生的学习行为,关注学生群体和个人在学习过程中的增值表现。

“编程解决问题——抛硬币问题”一课中,教师采取了如下几种评价方式:教师在给学生下发的学案中设置了学习反馈板块,每个学习过程结束后,学生要根据自己对学习内容的理解做出自我评价,教师也要评价学生的学习表现;教师要主动引导学生思考,还可以从哪些方面优化验证方案,学生思考如何优化的过程,既是促进思维发展进阶的过程,也是实现算法自我评价、自我反思的过程;通过评价量表对学习成果进行评价。

指向核心素养的教与学,是所有信息技术教师正在努力做的事。要想让核心素养稳稳落地,还需要信息技术教师在教学设计上多思考、多探索、多学习、多实践。

猜你喜欢
硬币编程解决问题
浅谈列方程解决问题
“解决问题的策略:一一列举”教学实录与反思
让硬币飞
玩游戏学编程,Blockly Games上手玩
纺织机上诞生的编程
编程屋完成数百元万天使轮融资
学编程,先画画
两只想打架的熊
智珠
硬币塔