万诗强
摘要:本文以问题导向、生主师导、交流展评三大理念构建项目式学习的形态,以类比生活、活用技术、原理渗透三大策略凝聚计算思维的神韵,并以《探秘抽奖程序》一课为例做具体阐述。
关键词:项目式学习;核心素养;问题导向
中图分类号:G434 文献标识码:A 论文编号:1674-2117(2023)15-0050-03
《义务教育信息科技课程标准(2022年版)》(以下简称“新课标”)明确了信息科技课程的育人目标应聚焦学生的核心素养,而项目式学习基于真实情境和真实问题,是培养学生核心素养的极佳方式。所以,笔者认为,一堂新课标理念下的好课应该是形神兼备的,即以项目式学习为形(形态)、以核心素养为神(神韵)展开教学。下面,以《探秘抽奖程序》一课为例做具体阐述。
问题导向,驱动项目环节
项目式学习提倡基于真实问题的探究。真实的问题往往比较笼统、复杂。因此,教师应将大问题分解为若干小问题,并把握好这些问题之间的逻辑关系,形成问题链,进而以问题导向驱动项目环节开展。问题链可以从情境和内容两个方面进行设计:①问题链需要情境来包装,以方便学生更加深刻地理解问题。例如,可以通过音、视频等方式将生活中的情境再现,并将其贯穿整节课,形成情境链,情境链中的每一个节点都应与课堂研究任务一一对应。②每个问题的背后都蕴藏着本课需要探究的内容,随着项目环节的不断驱动,学生探究的内容需不断深化,这样,学生的思维才能走向深处。
在《探秘抽奖程序》一课的教学中,笔者创设了“为玩具店老板的店铺设计抽奖程序”的情境,将制作一个切实可行的抽奖程序这个大问题分解为“如何实现随机抽奖”“如何模拟测试效果”“如何实现概率抽奖”等一系列层层递进的小问题(如图1)。整节课通过玩具店老板与学生之间的互动,不断引出新问题,笔者则引导学生用计算机科学的知识来解决问题,课上学生的兴趣高涨,思考深入。
生主师导,体验项目流程
项目式学习强调以学生为主体,教师为引导。教师应当注重项目式探究的引导,帮助学生在脑海中建构项目化学习的方法论。在《探秘抽奖程序》一课的教学中,笔者在板书的设计中用流程图的方式梳理项目过程,帮助学生理解编程开发类项目所需要经历的一般流程。整个过程以学生发现问题、分析问题为主,教师只是在学生遇到难题时提供关键性的引导,辅助学生解决问题。通过本节课的学习,学生对项目式探究的一般流程有了清晰的认识。
交流展评,全程项目评价
项目式学习提倡学生合作交流,注重项目展示评估。这就需要教师关注学生在项目各个环节中的交流与表达。合作中的交流能够反映出学生的学习实践;而展示中的表达能够体现出学生对学习成果的理解程度。教师应采用全程评价的方式,即对学习实践的整个过程进行评价,以引发学生更深层次的学习和理解。[1]
在《探秘抽奖程序》一课的教学中,笔者围绕本课内容设计了评价量表(如表1)。学生在探究结束后,需要基于评价量表对本节课的表现进行自我评价。自评的内容包括“项目成果”和“小组合作”。“项目成果”是围绕本节课学习内容设计的,主要考查本节課最终的学习成果;“小组合作”主要是围绕学生学习实践的过程设计的,主要考查认知策略和课堂实践。通过勾选的方式,学生能快速对本节课所学进行反思与自评。
类比生活,启蒙算法设计
在程序设计教学中,算法往往给学生留下抽象难懂的印象。那么,如何让学生接受算法、理解算法、实现算法呢?笔者认为类比生活是一个好方法。在实际教学中,教师可以从数据和流程两个方面着手。从数据角度来看,在小学的图形化编程中,主要包括变量和列表两种数据结构。变量可以类比成抽屉,里面可以存放各种数据;列表则可以类比成一个有很多抽屉的大柜子,列表的项数便是区分不同柜子的标签。从算法流程来看,在实际教学中,对于流程图的使用需要教师基于程序的复杂程度进行取舍,有时候为了突出课程的重难点,可以使用半成品的流程图。
在《探秘抽象程序》一课的教学中,笔者从生活中的抽奖箱入手(如表2),引导学生将程序中的列表类比为抽奖箱,不同种类的小球便是列表中不同的奖项数据。在学生对数据有了一定认识后,笔者进一步引导其建构数据模型,并将关键的部分用流程图表示。
活用技术,聚焦问题解决
在课堂教学中,教师不能只关注学生是否完成了任务,是否实现了作品,更应该关注学生问题解决的过程,这就需要在教学过程中启发学生活用技术。在《探秘抽奖程序》一课的教学中,笔者主要在“程序测试”和“设计数据模型”两个环节启发学生活用技术解决问题。
环节一:为了让学生重视程序的测试,笔者在学生完成1.0版的随机抽奖程序后,通过玩具店老板这一形象对学生提出“需要测试500次抽奖,并统计各奖项数量”的要求,只有符合预期,才能投入使用。笔者则让学生思考如何完成这个重复、枯燥的测试任务。经过引导,学生很快想到可以用重复执行500次来模拟抽奖,并用4个变量来统计各奖项抽中的次数。
环节二:为了实现概率抽奖的程序,学生根据数学知识很快认识到了各奖项的概率与各自的数量有关。此外,为了满足老板的预算不超出5000元的要求,学生不得不权衡各奖项数量与单价之间的关系。那么,如何高效、快速地设计出合理的奖项数据模型呢?笔者提供了一个用图形化编程软件制作的“方案计算器”,让学生大胆设计数据模型,复杂的计算交给“方案计算器”(如图2)。在“方案计算器”的辅助下,学生很快设计出了较为合理的奖项数据模型。
原理渗透,深化计算思维
教师应在项目探究的问题情境中渗透计算机科学的知识与原理,只有在问题情境中渗透,才能让学生在潜移默化中了解计算机知识,通晓计算机原理,从而深化计算思维。
例如,《探秘抽奖程序》一课主要涉及“数据编码”和“列表数据结构”这两个概念。在设计1.0版随机抽奖程序时,学生在讨论后能够达成共识,即随机抽奖的关键控件是随机数和造型切换,但这两个控件如何搭配使用,便涉及数据编码的思想。在课堂上,笔者进一步提问:“数字如何与不同奖项的造型对应起来?”并告知学生造型切换这个控件支持造型的编号作为参数(这个控件的设计正是基于计算机编码的思想)(如图3)。而在2.0版的概率抽奖程序中,笔者主要渗透列表这一数据结构的作用,以类比生活中的抽奖箱的方式渗透对这一数据结构的理解,即对列表的增删查改操作。
结束语
项目式学习既是一种学习方法,也是一种教学方法[2],其基于真实问题驱动教学的理念,让学生在做中学、学中做的教学方式特别适用于培养计算思维的编程教学。如果说计算思维是用计算机解决问题的“世界观”,那么项目式学习便是其“方法论”,信息科技教师只有在课堂上追求形神兼备,才能让学生拥有这样的“世界观”和“方法论”,才能让学生用计算机的眼光观察世界,用计算机的思维探索世界,用计算机的语言表达世界。
参考文献:
[1]夏雪梅.项目化学习设计:学习素养视角下的国际与本土实践[M].北京:教育科学出版社,2018:114.
[2]唐上观.项目式学习在初中信息科技编程教学中的实践研究[J].中国信息技术教育,2022(23):31-33.