吕绮霞
(广州市白云艺术中学 广东·广州 510440)
“计算思维”,由美国卡内基梅隆大学周以真教授于2006年提出的,是指利用计算机科学的基本概念,进行一系列如问题解决、系统设计、人类行为理解等涵括计算机科学广度的思维活动。具有计算思维能力的学生能运用计算机可以处理的方式来判断在信息活动中遇到的问题性质、抽象特征,通过分析、判断和整合各类信息资源;采取合适的算法来构建解决问题的方案和结构模型;归纳总结得出计算机解决问题的过程与方法,加深对重要观点的理解,并能将所学知识迁移到与之相关的其他问题解决中。
PBL教学是学生在教师的指导下,通过探究、交流、创新和合作完成一个项目的全过程。在这个过程中,学生学习和掌握教学计划内的内容。在项目教学中教师引导学生围绕问题思考、探究、发现新知识,进而加强对学生自学能力、探究能力、创新能力的锻炼和培养。因此,在项目式学习模式中会采用小组合作的方式,共同制定计划,共同或分工完成整个项目。
基于项目的学习是一种强调主动探究和创新实践的教学模式,有如下特色:
(1)针对具体的项目主题,学生将围绕项目主题进行实践探究,在活动中形成新的知识体系,学会一定的技能。(2)该项目的主题来自现实生活,体现了多学科知识的多样性。在活动过程中,学生需要将多学科的知识和技能结合起来,以跨学科的方式学习和运用知识,不能单纯依靠一门学科的知识来完成活动任务。(3)强调活动的实践性。项目教学与传统教学区别在于:它是让学生主动地学习和实践,在实践中体验和学习,进而提高获取、处理信息的能力,而不是向学生传授单一的、纯学术性的书本知识。(4)活动过程中注重协同合作,相关师生和相关部门组成学习共同体,成员之间密切配合,共同完成任务。(5)在项目活动过程中,学生利用网络化、数字化等方法和信息资源来论述他们的观点,支撑他们的学习。(6)活动总结与评价。要求学生在活动期间或活动结束后创作一系列作品,就作品的创作进行讨论和交流,得出结论,及从中发现一些新问题。
1.4.1 确定项目主题
根据学生的实践情况或教学任务要求,从教材中选择合适的项目,也可以根据生活实际对已有的项目进行组合或修改。
1.4.2 组织与分工
基于项目的学习以分组方式来进行教学活动。在项目启动前,教师根据任务难度确定小组人数和规模,并选定一名小组长。通过交流沟通、建立评价激励机制、使用合作评价量表等方式,帮助学生学会专心投入、认真倾听、勇于担当、尊重差异等,培养学生良好的人格和团队意识,为合作学习奠定基础。
1.4.3 制定具体的项目任务
制定项目任务的基本流程:小组讨论分工、确定行动规划和最终作品形式、分工收集所需资料、资源共享、技术合作、通过小组协作完成最终作品。
1.4.4 评价与作品展示
在项目实施前,应制定作品评价规则和计划,特别是最终作品的评价标准和评价量规。教师组织学生进行学生成果的展示活动,分享学生们的研究成果,依据评价量规并指导学生进行自评和互评,对他们在项目上的表现和成果价值进行评价,结合教师评价给出合理的评价结果。
从生活实例出发,通过概述算法的概念和特点,用适当的描述方法和控制结构来表达简单的算法,使学生掌握编程语言的基本知识,如解题的过程和方法,根据解决问题的需要,有意识地、积极地寻求适当的信息获取和处理方式。使用程序设计语言来实现简单算法,如:依据实际问题的需求设计算法,运用流程图的方式描述算法。能采用计算机科学领域和思维方式界定问题、抽象问题特征、建立结构模型、合理组织数据,通过判断、分析与综合各种信息资源,运用合理的算法形成解决问题的方案。
2.2.1 教学思维导图
培养学生计算思维的目的是希望他们在思考问题时能运用信息技术来解决问题的能力。计算思维的培养可分为识别问题与需求、研究问题与需求、开发可能的解决方案、选择最可能的解决方案、构建原型、测试和评估解决方案、沟通解决方案、重新设计等八个环节。因此,计算思维下的项目设计培养不能局限于程序设计本身,更应体现在各种内容的学习中,引导学生理解与掌握利用信息技术解决问题的学科方法,从而提高解决问题的能力,发展学科核心素养。思维导图是表达发散性思维的有效的思维工具,是一种简单却极为有效的、革命性的思维工具,非常有利于训练学生的计算思维。笔者借助思维导图对“编程计算”这一章节的知识进行了梳理,效果见图1。经过运用思维导图的梳理,本章的知识一目了然,这对学生建构知识很有帮助。
图1:编程计算单元教学思维导图
2.2.2 学习模型(见图2)
图2:编程计算学习模型
2.3.1 体验分支结构的项目案例
通过对学情分析、教学内容分析、学习目标分析,进行了具有问题情境的项目设计。
项目主题:利用分支语句实现分性别计算最适宜运动心率。
项目目标分析:本节围绕“最适宜运动心率计算”项目展开学习,本项目主要包括“利用赋值语句实现计算”和“利用分支语句实现分性别计算”两个任务,项目目标:(1)通过计算最适宜运动心率,了解顺序结构语句,掌握顺序结构语句的一般格式和使用方法;(2)通过分性别计算最适宜运动心率,了解分支语句,掌握分支语句的一般格式和使用方法;(3)通过问题求解,掌握用顺序结构和分支结构解决实际问题,感受计算机程序在提高问题解决效率中的作用。
项目内容分析:紧密联系计算最适宜运动心率的例子,介绍Python中的常量、变量、数据类型、运算符与表达式、常用的顺序结构和分支结构语句;提供参考算法的需要补充完善的流程图,让学生进一步体验编程计算的完整过程,即分析问题、设计算法、编写程序、调试运行程序、保存程序文件。本节重点和难点是理解并掌握顺序结构和分支结构语句的格式与功能。
项目学习流程:任务1:分两个活动开展学习,活动1首先利用python编程软件理解掌握常量、变量的定义、运算符与表达式。理解顺序结构是程序自上而下一行行执行的特性,运行过程中没分支,也没有重复,是一种最简单的程序结构;然后活动2在活动1的基础上加入输入的年龄与安静心率,使用者不同,年龄与安静发生率也不同,每次修改程序代码让编写者很不方便,因此需要输入语句。在本活动中,关键是教师要引导学生理解输入语句和输出语句的作用;任务2:只有一个活动“利用分支语句实现分性别计算”。教师通过适当的指导,让学生自主探究或交流合作中使用IF语句实现“分支结构”,掌握浮点数float()、整数int()、字符串str()的定义的功能。理解掌握IF语句的语法格式和功能。参考程序:
图3:流程图
2.3.2 以“色彩变换万花筒”项目体验周而复始的循环
项目主题:利用循环语句绘制色彩变换万花筒。
项目目标分析:本节通过利用循环语句,在窗体中绘制彩色同心圆,模拟出色万花筒效果。让学生进一步体验编程计算的完整过程,即分析问题、设计算法、编写程序、调试运行程序、保存程序文件。本节重点和难点是理解并掌握循环结构语句的格式与功能。
项目内容分析:我们将计算机程序中某些代码反复执行称为循环,Python中既有重复一定次数的计数循环,也有重复到某种情况结束的条件循环。围线“色彩变换万花筒”项目展开学习,通过该项目活动,了解循环的作用,为学习如何根据问题的需要选择恰当的循环类型,如何准确设置循环条件和编写循环语句块。
项目学习流程:利用循环语句,在窗体中绘制彩色同心圆,模拟出万花筒效果。教师给出程序实例,对学生适当的指导和引导,通过体验调动Python简单的绘图模块turtle库,让学生自主探究或交流合作中使用for语句实现“循环结构”,理解掌握for语句的语法格式和功能,并尝试修改教师给出的程序实例或编写简单的随机、循环算法。
图4:程序运行效果
本研究立足项目教学的方式,以翻转课堂、卓越课堂、微课等为支撑,让学生在信息意识、计算思维方面得到充分的学习和提高,为面向学科核心素养的高中信息技术课程实施提供借鉴,并基于实证研究的基础上,探索项目式学习和翻转课堂的教学,在本学科其他学校的教学中有一定的推广价值。经研究和实践发现,面向计算思维素养的编程计算项目式教学实施的研究,对不同阶段的学习进行教学内容和模式的构建;通过项目式学习的探索,将知识建构、技能培养和思维发展融入其中,有利于培养和提高学生信息技术核心素养;实践结果对教学具有较强的指导意义。
前面论述的实例证明了计算思维素养下的项目式教学目标的实现是切实可行的而且教学效果是显著的。在编程计算的教学中,项目式教学可以帮助学生运用Python的综合练习,培养提升自己的计算思维素养。
项目式教学以其独特的优势,根据教学内容,合理设计围绕生活实际问题并根据学生自身问题的教学活动,根据学情和问题分析设计解答,使教学更有效地激发与培养学生计算思维能力。当然,单一运用项目式教学引领的方式去解决问题,设计的程序方案并不能全面完整,因此,教学中还需探索更多新型的教学模式,以翻转课堂、卓越课堂、微课等为支撑,在原有基础上补充,不断创新项目设计方案,提高编程计算的教学效果。我们的学生是未来社会的建设者,他们的技能不是一蹴而就的,需要我们教师的持续引导他们关心社会、思考社会问题的解决方法,这样在未来他们才能理论联系实际“学以致用”成为合格的建设者。