阮静 福建省厦门实验中学
《普通高中信息技术课程标准(2017版)》(以下简称“新课标”)提出要发展学生的计算思维,并鼓励学生在不同的问题情境中,运用计算思维形成解决问题的方案。[1]同时,新课标倡导基于项目的学习方式,将知识建构、技能培养和思维发展融入运用数字化工具解决和完成任务的过程中。[2]新课标无论是在知识能力的掌握还是学习方式上都对学生的学提出了更高、更深层次的要求,这也为教师带来了更大的挑战。如何让学生产生探究完成任务的兴趣与积极性,又如何让学生在探究的过程中达成知识建构、技能训练与思维的熏陶发展,是教师需要不断思考探索解决的问题。
PBL(Project-Based Learning,项目式学习)是一种以项目为依托,以学生为中心,让学生在解决问题的过程中主动探究的学习模式。[3]它强调真实的学习情境、驱动性的问题与任务,让学生围绕项目中的问题与任务,展开小组合作探究,并进行成果展示与交流,在项目完成的过程中获得知识和技能。
计算思维的提出可追溯到20世纪50年代,早期专家学者曾提及计算思维,但并未对其概念进行界定。直到2006年,周以真(Jeannette M. Wing)教授正式提出了计算思维的概念。她认为,计算思维就是运用计算机科学的基础概念进行问题求解、系统设计,以及人类行为理解等涵盖计算机科学之广度的一系列思维活动[4],并强调计算思维是面向所有人的思想,而不是计算机的思维方式。新课标指出,计算思维是指个体运用计算机科学领域的思想方法,在形成问题解决方案的过程中产生的一系列思维活动。[5]国际教育技术协会(ISTE)与计算机科学教师协会(CSTA)从操作的角度定义计算思维是问题解决的过程,该过程包括问题阐释、数据分析、数据呈现、解决方案的制订、资源的最有效利用与整合、问题解决方案的迁移应用等。[6]
思维是人类所具有的以感知为基础却又超越感知的高级认识活动。人们通过比较、分析、抽象、总结等一系列思维活动对客观事物的规律、属性及事物之间的联系形成认识。[7]学者、专家从不同的视角对思维进行了不同的种类划分,计算思维即是其中的一种。关于思维能力的培育理论,比较受关注的主要有戈登的发散思维训练模式和威廉姆斯的创造性思维教学模式。
戈登的发散思维训练也叫“集思广益”练习,让学生用“类比法”对事物进行比较,由熟知的事物联想到新的事物,或从原有的想法中得到新的想法,以训练、提高学生的创造力。[8]威廉姆斯的创造性思维教学模式则基于“认知情感交互作用理论”,教师运用归类、比拟等教学策略,为学生提供宽松自由的氛围,让学生大胆质疑、猜测与想象,在提高学生认知水平的同时增强情感体验,从而培养学生的创造性思维能力。
建构主义认为学习是学生在原有知识经验的基础上加深理解、发展自身认知结构的过程。本文基于PBL模式,让学生围绕项目活动主题展开探究,在已有知识经验的基础上探究完成项目活动任务,在任务完成的过程中,不断拓展思维,完善知识体系,这一过程完全遵循建构主义学习理论。
情境学习理论认为学习是在学生与学习情境、学生与学生之间互动的过程中发生的,是一个具有社会性和实践性的过程。[9]PBL模式中教师创设真实的项目情境,让学生对真实的问题进行分析与探讨,找到问题解决方案,并实施解决。这一过程不再是单纯的知识传授,而更注重学生学习能力的培养以及思维的训练,这一点和情境学习理论相一致。
“while循环的应用”是必修1《数据与计算》第四章中的内容,是Python程序设计的基础内容,学生对这一节内容的理解与掌握直接关系到对后续第五章以及选择性必修模块内容的兴趣与积极性。所以,在对本节进行教学时,笔者通过创设项目情境,以“随机点名程序”开发为项目任务,运用平台组织学生探究学习,让学生在解决问题和完成任务的过程中达成知识建构、技能培养与思维训练,感受到学中有乐,学有收获。
本节主要学习while循环语句格式及应用,在此之前学生已经掌握了for循环语句以及列表等相关基础知识。与for循环语句相比,while循环有自己独特的优势,while语句更容易理解,对实际问题的应用也更加广泛。因此,本节课从真实情境导入,以真实问题展开项目探究—“运用Python语言开发一个随机点名程序”(如表1),即针对自己班级实际人数与人名做一个可供教师直接使用的点名工具,让学生明确本节课的学习内容以及任务要求,并从班级实际情况出发展开项目问题分析,明确问题需求。
表1
本节围绕真实学习生活中的点名问题,设计“随机点名程序设计开发”项目,组织学生进行自主、协作、探究学习。随着问题的不断深入分析、项目的推进与优化,学生除了需要复习相关基础知识外,还需要了解Python语言中的随机函数、字符列表等内容。因此,笔者借助ITTools信息技术教学辅助平台,为学生搭建项目学习框架(如下页图1),提供项目学习任务单,明确本节课的学习内容以及学习要求,还设置了需要完成的三个学习任务检测,通过任务练习与检测逐步推进项目制作。
图1
实际问题的解决比单纯的学科问题要复杂得多,这时教师的问题引导就显得尤为重要(如图2)。在本节课开始的随机点名程序开发中,教师可以先从最简单的学号抽取引导学生思考:“如何运用Python语言基础知识生成一个班级所有学生的学号盒子,并从中随机抽取?”(班级学号是一个连续的数字序列,可以使用range()函数生成一个列表存储学号,使用随机函数抽取一个学号)再提出问题:“需要多次抽取,但并不确定要抽取几次,该怎么通过程序控制实现?”由于并不知道抽取次数,for循环语句并不能实现,引出可以通过条件来控制的while循环语句。随着项目的不断深入,教师进一步提问:“在随机抽取学号之后,如何关联到该学号对应的学生姓名?”(可以将姓名放在抽取的盒子里,即使用姓名作为列表中的元素来抽取)“如何将全班学生的姓名导入程序生成姓名列表?”以此来引导学生探究文件的读取等拓展内容。通过教师的问题引导,学生复习了旧知,同时也探究了新知,在原有知识经验的基础上不断扩充自己的知识体系。
图2
本节课将随机点名的项目细化为一个一个的小任务,同时提供相关学习参考,在学生完成任务之后可以直接提交后台评测,每一个小任务的完成都会激发学生探究的兴趣。随着三个基础任务的完成,学生掌握了while循环的应用,但为了满足不同层次学生的学习需求,教师安排了拓展任务及课后思考,需要学生小组合作探究学习Python语言中文件读取的相关内容,对程序进行进一步优化完善。本节课提供作品提交页面,学生可直接提交小组完成的最终程序作品以及项目学习活动记录表(如表2)。为了帮助一些基础比较薄弱的学生,教师还可以提供相关解题思路的半成品代码供参考,从不同的角度鼓励学生尝试完善,同时,鼓励学有余力的学生尝试优化程序功能,训练学生思维。
表2
通过教学辅助平台,学生可以欣赏各小组最终完成的程序作品,也可以进行互评;教师也可以直接对作品进行评价。同伴互评更能使学生看到其他组作品的亮点以及同伴在探究过程中所做的努力,同时可以反思自己作品中存在的问题并加以改进,从而促进能力的提升。
计算思维作为信息技术学科的核心素养,体现了信息技术学科的育人价值。计算思维能力是学生通过信息技术课程学习所应形成的关键能力,对其的培养不能一蹴而就,需要教师不断细化课程教学方案,真正将培养落实到每一节课中。而基于PBL模式进行教学设计,既落实了新课标对项目式学习的要求,又有助于培育以学习为中心的教与学关系,并在问题解决的过程中促进学生计算思维能力的提升。