曾 艳 张海宴
(福州金山中学,福建 福州 350008)
《普通高中信息技术课程标准(2017 年版)》界定了信息技术学科的核心素养要素:信息意识、计算思维、数字化学习与创新、信息社会责任。作为信息技术学科的核心素养之一,计算思维已成为中小学信息技术教育领域关注的焦点。2020 年福建省信息技术学科启用新教材。新教材转变过去偏重“知识型”和“技能型”内容学习的情况,围绕课程目标,对每个单元设计丰富多样的项目学习活动,旨在全面提升学生的核心素养。其中,《数据与计算》的“算法和程序设计”是最适合培养学生计算思维的学习内容,体现了信息技术学科的发展趋势。本文以“认识程序和程序设计语言”项目为例,阐述如何基于学情设计多样化的校本作业,培养学生的计算思维。
美国卡内基梅隆大学计算机科学系主任周以真教授在美国计算机权威期刊《Communications of the ACM》上首先提出了“计算思维”的概念。周教授认为,计算思维是运用计算机科学的基础概念进行问题求解、系统设计以及人类行为理解等涵盖计算机科学广度的一系列思维活动。她还认为,计算思维是每个人的基本技能,不仅属于计算机科学家。我们应当使每个学生在培养解析能力时不仅掌握阅读、写作和算术,还要学会计算思维。[1]
计算思维是指有效结合信息技术与人类思想,解决复杂现实问题的一系列思维活动。2013 年,英国南安普顿大学的伍拉德博士和辛西娅·塞尔比博士共同提出计算思维包括五个要素:抽象、分解、算法思维、评估和概括。[2]培养学生的计算思维就要围绕这五个要素设计学习活动。培养学生的计算思维是一个系统工程,需要按照各个学段的学习特点进行规划,制定培养目标和培养内容。培养目标不应是确定不变的,而应从学生掌握的知识广度和深度、解决问题时所需要的知识等视角进行分析,从而建立层级不同的培养目标,以反映学生思维能力的提高程度。
目前,我国对于计算思维的开展基本是通过信息技术课堂开展。从认知发展的特点来看,高中生已经具备较广的知识面,可以脱离形象事物的支撑进行纯代码的编程学习,因此可对高中生进行模拟运用与探索创新层次的计算思维培养。根据本校学情,笔者规划的目标是学生达到以下计算思维水平:针对给定的任务进行要求分析,明确需要解决的问题;能够提取问题特征,进行抽象处理,并用形式化的方法表述问题;运用基本算法设计解决问题的方案,能使用编程语言实现这一方案;按照问题解决方案,选用适当的数字化工具获取、组织、分析数据,并能将其迁移到其他相关问题的解决过程中。
计算思维培养的终极目标是使学生能像计算机科学家一样思考,这需要学生掌握大量的基础知识,并进行较长时间的训练。从教育教学的角度看,对学生进行计算思维的培养实践过程,需要把握计算思维培养的关键环节与教学要点,精准设计校本作业。
计算思维培养包含三个关键环节:分析问题、设计解决方案、迁移应用。高中信息技术学科的项目学习可以围绕以上环节,根据学情精准设计校本作业,以知识为基础、以能力为重点、以学科核心素养引领项目作业目标、以学科大概念统领项目作业内容。通过项目学习解决知识碎片化的问题,帮助学生建立知识间的联系,建构学科知识体系,循序渐进地培养学生的计算思维。
在项目“认识程序和程序设计语言”的学习中,笔者从生活实例入手,设计了本项目的三种类型校本作业(图1),作业的设计以项目为导向,在真实的问题情境中,学生自主地解决实际问题,可以极大地触发学生思维的意愿,积极思考,克服困难,解决问题,从而发展思维。[3]
图1 项目学习校本作业示意图
1.分析问题
培养计算思维的第一个环节是分析问题,包括表述问题、组织和分析数据、抽象模型三个方面。课前作业是到图书馆借书的实践体验,课上分析问题并绘制借书流程图,目的是复习算法的描述。由于学生第一次接触程序设计语言,对编写程序的一般过程比较陌生,而设计算法是编程解决问题的核心步骤,本题让学生从体验中了解算法思维,锻炼学生分析问题,提高抽象地表达问题的能力。
完成以上学习内容,教师引出如何利用Python 编程语言实现程序的编写。高中信息技术课程的算法和程序设计以Python 语言为编程工具,通过问题分析与算法设计,解决现实生活中遇到的相关问题,培养计算思维能力。学生需要对问题进行分析抽象和任务分解、设计解决问题的算法、代码编写后调试运行,再对程序纠错与优化,最后进行程序的评价与延伸。这一系列学习活动包含了计算思维的五要素,是学生计算思维培养的系统化过程。
2.设计解决方案
编程教育在本质上是计算思维的一种载体。通过高中信息技术课程培养学生的计算思维,既可从高中课程标准规定的内容出发学习课程标准规定的课程模块,也可基于学生的认知发展特点开拓编程教育、创客教育,从应用计算机科学解决问题的角度开展学生计算思维的培养。[4]笔者依据以上理论设计的校本作业综合运用题,具有开放性、启发性和探究性的特点,包含由易到难的分层次任务,渗透式地培养计算思维。
开展“军工品质、大国重器”高端汽机油主题促销活动,利用油润互动、润辅组合,提升店销高端汽机油增量空间。今年“3·15”期间,结合“品质消费,美好生活”活动,大连分公司香炉礁昆仑快速换油中心与油气零售分公司通力合作,以高端润滑油品质体验套餐为卖点,借助加油站引流的客户资源,凭借超高的性价比,鼓励顾客现场换油,当日实现高端机油销售45桶。同时,在原有购买合成油送汽油基础上,加推送玻璃水活动,既增加高端合成油大礼包力度,吸引消费者体验昆仑高端汽机油产品,又带动了玻璃水销量,实现1+1>2促销效果。截至目前,大连分公司销售高端汽机油10373桶,增幅143.5%。
(1)自主选择,多元思维
综合运用题:2022 年北京举办了冬奥会,冰墩墩和雪容融是倍受人们喜爱的吉祥物,有多种品类和款式,在淘宝奥林匹克官方旗舰店,冰墩墩金属DIY钥匙扣挂件的售价是88 元,雪容融10cm 摆件玩具售价是88 元,冰墩墩运动造型吸管杯售价是139 元……
完善程序题:请你自主选择一款吉祥物(可在奥林匹克官方旗舰店查询更多款式与价格),编写一个猜价格的游戏程序,如果用户猜的价格高于售价,显示“对不起,你猜高了!”如果用户猜对了,则显示“恭喜你,猜对啦!”否则显示“对不起,你猜低了!”请根据题意在程序***处填写正确的代码。
本题是此项目学习的重点,是计算思维培养的重要环节。通过热点问题与数学计算巧妙结合起来,使学生在设计解决问题方案的过程中理解计算思维。
笔者采用完善程序代码的方式,便于学生理解算法,体悟编程解决问题的过程,再提炼核心知识独立编写程序,问题情境轻松有趣且充满挑战性。同时,由于每个学生的思维不同,因此作业设计了自主选择的内容,达到发展多元化思维的目标。
(2)案例模仿,发展思维
案例模仿包含两个方面的功能:一是为学生提供丰富的学习资源,扩展学生对相关知识的理解深度;二是为学生提供示例,通过模仿可以一定程度上增强学生的体验与感知,是深化学生对知识理解的重要途径。笔者设计的编写程序题在完善程序题之后,学生可以模仿上一题独立设计解决问题的方案,有效地提高了学习效率,是校本作业设计的巧妙之处,促进了计算思维的发展。
程序的算法并不是唯一的,本题与数学的计算关联性较大,学生的数学解题思维不同,程序的算法就不同,这是学生独立编写的第一个程序,可以检验学生是否达到计算思维的中等水平。
计算思维不是在接受式学习中培养的,它需要学生在分享、交流、对话、碰撞中渐渐清晰,内化为思考问题的习惯和解决问题的方法。因此,课堂作业完成后,教师抽选学生分享他们的程序代码,全班学生参与评价,指出程序中存在的问题,学生根据评价对程序进行优化。在课堂评价环节,应该突出学生的思维评价,回顾问题解决的过程,提炼思维,通过概况和评估,实现计算思维的形成和提升。[5]
迁移应用是培养计算思维的第三个环节,迁移应用能力也是培养计算思维的最高层次目标,学生需要较长时间的学习与积累,当学生能够在其他问题解决过程中灵活运用之前掌握的方法及知识,说明其计算思维已基本形成。笔者设计了课后探究拓展作业,促进迁移应用能力的形成。
探究拓展题:为了丰富同学们的课余生活,学校将举办科艺节活动,欲采购两款冬奥会吉祥物作为奖品。请你编写程序实现以下功能:分别输入欲购买的冰墩墩、雪容融吉祥物的价格,购买总金额不能超过10000 元,要求冰墩墩的购买数量是雪容融的2倍,求出可以购买这两款吉祥物数量的所有方案。
问题探究是学生将所掌握的计算机科学知识进行应用的阶段,也是学生真正产生自我体验的阶段。从问题分析着手,将现实问题抽象为一个数学问题去设计解决方案。本题将学生的现实活动与假设情境相结合,问题本身带有一种思维引导的作用,可以进一步提升学生的计算思维。学生之间可以自由分组,通过问题讨论,在不同视角和观点中,互相启迪思维,使每个学生逐步从较浅的理解层次过渡到较深的理解层次。问题探究并不仅仅是解决一个问题,而是在探究的过程中追求思维上的进步与深化。
笔者设计的项目学习校本作业层次分明,在教学中注重学生思维过程的外化。学生初次接触编程语言,通过教师讲解后完成作业,抽象知识感受算法思维,在学生程序测试运行成功后,抽选学生交流展示,梳理自己的思维过程,同时学生之间进行评估,进而总结概括经验解决类似问题,计算思维从而得到有效提升(图5)。
图5 提升计算思维方法
计算思维已经成为适应信息社会发展,打造自我发展力的重要因素,培养学生的计算思维是时代发展对教育者提出的新要求。笔者以真实的生活经验为切入点,让学生切实了解算法,根据学情设计多样化的程序设计校本作业,让学生们学思并行,充分感受学习的乐趣,化被动接受为主动探究,逐步形成计算思维。