结合项目式学习的中学信息技术课程计算思维培养研究
2023-12-21叶国平安徽师范大学附属中学
叶国平 安徽师范大学附属中学
近年来,随着信息技术的飞速发展,信息技术教育为学生在较短时间里获得全面、系统的信息技术知识提供了保障,同时也为学生带来了信息素养的进一步提升。[1]随着教学改革的不断推进,计算思维持续地融入信息技术教育并有效地促进了学生综合能力的发展,因此,计算思维能力的培养越来越受到国内外研究人员和教师的重视。美国卡内基·梅隆大学的周以真教授在2006年首次系统地提出了计算思维的概念。我国发布的《普通高中信息技术课程标准(2017年版)》要求将计算思维作为信息技术学科核心要素之一。[2]但计算思维本身比较抽象,所以培养学生的计算思维能力是一个长期的过程。在中学信息技术教育阶段融入计算思维,能使教师在更新教学理念的同时创新教学模式,从而激发学生的兴趣与积极性,进一步提升中学信息技术教学质量与效率,并促进学生能力素养的培养。[3]
●引言
1.计算思维
计算思维的本质是解决问题的思维与能力[4],对于计算思维,各国学者的理解角度不一样,定义内容也不一样,但无论从哪个角度分析,都强调了计算思维在问题解决方面的特征,强调通过抽象建模寻求问题的最佳解决方案。根据各研究成果,笔者认为计算思维可以理解为解决问题的思维活动过程,反映了计算机科学的基本思想方法,并且它可以扩展应用到工作、学习和生活中去解决具体的实际问题。在本研究中,计算思维能力指学生利用程序设计算法解决实际问题的思维活动。
2.项目式学习
项目式学习(Project-basedlearning)简称PBL,强调以学生自主探究为目的,以教师适当引导为主线。同时,项目式学习注重团队协作,以问题为导向,激发小组成员之间的思维碰撞,通过组内成员的集思广益、相互合作来完成项目任务。项目式学习的引入提升了学生的自主学习能力和动手实践能力,与传统的教学模式相比,它改变了传统教学模式的单一与固化,为学生提供了更为灵活教学方式,实现了学生学习效率最大化。[5]
3.在项目式学习中培养计算思维的优势
采用项目式学习培养计算思维可以让学生在解决问题的过程中构建知识、提高能力、发展思维[6],也能更好地培养学生发现问题、解决问题的能力。同时,通过学生之间的相互合作完成任务目标,可以培养学生的团队合作意识,有助于发展学生的综合素质。除此之外,基于项目式学习培养计算思维打破了传统的信息技术课堂的教学模式,能够更好、更早地发展学生的思维能力,以实现教学模式的进一步发展。
●如何结合项目式学习培养计算思维
1.理论基础
(1)建构主义理论
建构主义(Constructivism)理论强调了学习的主动建构性、情境性,倡导在教师的辅助下,以学生为中心的问题式学习、协作探究性学习和情境性学习。[7]该理论认为学习是获取知识的过程,知识是在特定的教学情境下,学习者通过小组合作,获得他人的帮助,使用必要的学习材料进行意义建构而获得的,因此该理论提出学习环境的四大属性:“情境”“协作”“会话”“意义建构”。[8]基于项目式学习的计算思维培养模式就是基于建构性学习模式,旨在通过创建真实的教学情境,使学生在项目学习的过程中不断训练提升计算思维能力。
(2)“做中学”理论
“做中学”是由美国教育学家杜威提出的,该理论要求学生在实践活动中探索、思考并解决问题,从而在解决问题的过程中学习一些直接的经验。[9]
在基于项目式学习的计算思维培养模式研究过程中可以利用该理念进行实践教学的探究,教师为学生创建特定的情境,学生在该情境中自主发现问题、探索问题,通过教师的辅助指导,最终得以解决问题。在这个过程中学生不但能够学习如何解决问题,还可以直接学习到关于类似问题的相关经验,进一步提升了学生的计算思维能力。因此,“做中学”理论对基于项目式学习的计算思维培养模式的研究有一定的理论指导意义。
2.构建基于项目式学习的计算思维培养模式
基于项目式学习,结合计算思维在实践层面上的可操作性等基础理论,笔者构建了如上页图1所示的基于项目式学习的计算思维培养模式。该模式以项目为主线,围绕如何更有效培养学生的计算思维能力来展开。
(1)教师行为
首先,围绕项目创设科学的项目问题情境,调动学生探究问题的积极性,并分析问题,将整体项目任务划分为若干个单元任务,明确项目单元任务;其次,引导学生分析、表达、解决问题,在这个过程中,要为学生提供所需的知识讲解及教学资源,并在适当的时候辅助学生完成项目的探究;最后,需要对学生完成的成果进行评价总结,引导学生将本次项目实践中所获得的知识推广到其他问题中。
(2)学生行为
首先,进入教师提出的问题情境中并理解项目问题,根据具体的问题情境,确定并分析单元问题以明确单元任务及要达成的目标;其次,自主探究,抽象问题模型,制订自动化解决方案,并根据解决方案,利用已有的知识、工具,结合教师的引导完成项目的实施;最后,通过教师评价、与同学分享、交流成果的方式,不断总结反思,以寻求更大的提升空间。
●实际项目探索
1.项目简介
青春期的学生对很多事物产生好奇,因此在根据学生特点和教学目标选定项目后,教师需要创设生活中的真实情境引导学生产生探索兴趣,激发学生自主学习热情。
根据学生的认知和学习情况,本次项目探究将按照层层递进的方式展开,从关于数据安全的基础出发,围绕“创建安全密码”的任务,通过体验“暴力破解”程序,分析影响密码破解速度的相关因素,总结创建安全密码的技巧,同时通过案例分析引出密码盗窃的其他方式以及采取相应的防盗措施;在学习本节课的过程中,让学生了解密码安全防范的重要性,增强自我保护的能力,树立信息安全的意识。然后通过“让数据‘隐身’”项目任务,引入恺撒密码,剖析恺撒密码的加密原理,并以流程图、程序实现加密算法,引申出加法密码的基本原理。通过学习这一系列知识,让学生逐步树立数据安全意识。
2.培养目标
①掌握编程计算中常用函数、基本结构(分支和循环)和穷举的算法设计并学会使用Python语言完成算法设计。
②掌握密码、密文、明文、密钥、加解密、数据安全等基本概念以及创建安全密码的一般技巧和恺撒密码的加密算法,理解并掌握项目案例涉及的基本知识,并能够将其推广应用到其他项目中。
3.教学过程
(1)项目拟定
教师创设情境:生活中基本上家家都有无线网,在初次连接无线网时我们需要设置密码并输入密码进行网络连接,但是经常会遇到自己家无线网莫名其妙被别人连上,甚至会出现在正确密码的情况下自己却连接不上网络的情况,这就是数据安全出现问题,导致密码被人破解。由此可见,创建安全密码对数据保护来说十分重要,如果不能采取有效的保护措施,可能会面临来自黑客的威胁。那么,什么样的密码更加安全?为了确保这些数据的安全性和保密性,又该如何创建安全密码来保护这些数据?如何防止密码被破解?
(2)项目可行性分析
本次教学活动通过两个项目构建基于项目式学习的计算思维的培养模式。
①安全密码。
本项目通过问题引导学生思考系统数据安全问题—创设密码,然后通过体验“暴力破解”程序来体现创建安全密码的重要性,达到先体验后总结的目的。在活动过程中,学生自主协作探究,教师适时引导,学生将逐步掌握科学的学习方法和小组合作的技巧,同时引导学生联系生活中密码被盗问题,结合以往知识,前后贯通,提升学生计算思维和知识迁移能力,培养学生推理、归纳能力。
②数据隐身术。
基于以上项目,学生已了解到关于安全密码的概念及创建安全密码的一般技巧。本项目通过利用生活场景和多媒体视频,让学生感知数据“隐身”,体会数据安全性的增强,进而引入数据加密。这符合人类思维发展规律—由感性到理性,最后再应用到解决实际问题中。
(3)项目设计
①安全密码项目:调动学生学习兴趣,由浅入深进行知识的探索,主要通过三个活动让学生学会设置基本的安全密码。
活动1:体验破解密码。
教师展示密码定义及多种密码样式,进一步提问:有了密码就安全了吗?引导学生思考并通过小组协作体验破解他人密码的过程。
Step1:被修改信息的学生设置系统密码。
Step2:同桌协作破解系统密码,思考破解密码的方法。
Step3:尝试完善破解纯数字密码流程图,并记录项目活动。
教师组织学生汇报评价,并总结:如果要用计算机编程来模拟破解过程,应采用循环程序结构(如图2)。
图2 破解密码流程图
活动2:对比不同数位纯数字密码破解时间。
Step1:教师组织同桌合作,利用已给的“破解纯数字密码时间”程序测试数字密码破解时间。
Step2:分别记录测试5位、7位、9位密码的破解时间,完成项目活动的记录。
Step3:根据数据,分析其涵盖的信息,讨论并填写结论。
教师展示学生记录的数据,组织学生汇报评价,并总结:密码越长,破解时间越长。然后教师设置拓展延伸问题:相同位数的纯数字为何测试出的破解时间不同?最后分析“破解纯数字密码时间”的算法,验证结论。
活动3:计算破解复杂密码的时间。
教师通过PPT图例展示不同等级的复杂密码,从观察组成元素到算法分析推理其成因,总结密码的复杂性与等级间的关系;组织同桌协作计算破解复杂密码的时间,记录项目活动,并总结出结论:密码中含字符种类越多越复杂,破解时间越长。
教师组织学生汇报计算所得破解的时间和结论并分析结论背后的算法支撑—电脑编码中的ASCII码搜索,总结计算“数字+大写字母”密码、混合密码破解时间的方法,进一步引申出穷举算法的概念及基本思想。
教师布置扩展任务:根据所学技巧完善系统数据安全性,为使用的系统设置安全密码。
②数据隐身术:让学生通过算法设计进一步了解基本的加密算法,同时提升学生的分析问题和解决问题能力。其主要包含三个项目活动。
活动1:感知“隐身术”,通过观看视频,感知明文、密文、密钥以及加密、解密过程。
教师引导学生体验登录系统时输入的密码暴露在外,提出问题:密码的暴露是否妥当?引导学生联想生活中登录网站和手机APP时的密码状态,思考有没有一种技术能让数据“隐身”且提升数据的安全性,引入加密概念。
播放影片片段,让学生感性认识加密和解密过程,然后再分析相关概念。教师提问:联系视频,说说其中数据是如何“隐身”的,列举电码与字码的对应关系。接着引导学生理解加密过程中涉及的几个名词—明文、密钥和密文,以及加密、解密过程中的概念,并总结。
活动2:揭秘“隐身术”,具体探究密钥,剖析恺撒密码的加密算法。
Step1:体验恺撒密码的程序,填写表格中的密文。
Step2:推理其密码规律,完成项目活动的记录。
Step3:组织学生展示和分享密码规律(如上页图3)。
图3 恺撒密码规律
Step4:利用动画形象表达密码规律,促进学生理解。
活动3:设计恺撒密码加密算法流程图。
Step1:带领学生分析恺撒加密算法中“加密部分”基本流程(特别针对明文位置i上字符的加密过程)(如图4)。
图4 恺撒加密算法基本流程
Step2:引导学生分析流程图中的选择结构层次,根据密码规律的分类情况(如图5)确定需要几个条件判断。
图5 密码规律分类情况
Step3:引导学生填写图5中空白位置,确定判断条件和处理过程—A.根据分类情况和最右侧处理框内容填写选择结构判断条件2。B.填写条件1成立时的处理框。C.填写条件1不成立,但条件2成立时的处理框。
Step4:以动画形式完成恺撒加密算法整体流程图(如图6)。
图6 密码规律分类情况流程图
活动4:利用Python编程实现恺撒加密算法。
Step1:参照项目活动3补充并完成程序代码调试运行,观察运行结果(如下页图7)。
图7 恺撒密码待完成程序代码
Step2:展示几位学生完成的语句,提示问题根源,提供学习资源帮助学生自主学习转换函数。
Step3:总结利用chr()和ord()转换函数实现移位(如下页图8)。
图8 利用转换函数实现移位
(4)项目实施
教师为学生提供所需的基本学习资源和操作软件、项目活动手册、小组分工表等,学生按照教师设计的项目任务,借助软件登录系统以及Python编程语言平台实施项目活动,最后在小组合作和教师的辅助下完成项目任务的编写、运行和调试。
(5)项目评价反思
教师组织学生展示各自的项目作品并进行小组内交流与互评,集中汇报评价以及根据项目分析和实施过程中学生的课堂表现等来综合评价学生的计算思维能力的变化,最后教师对整个项目的实施过程进行总结反思,让学生进一步明确该项目所获得的知识和能力,同时这样也能够使教师在今后的教学活动中更好地指导学生学习,发展计算思维能力。
小组交流互评:小组内的成员相互展示作品并评议交流,根据自己的认识提出改进意见或建议,汇总改进意见或建议并针对存在的问题制订改进方案,进一步完善项目。
集中汇报评价:在教师的引导下,小组推荐一个优秀项目,选择代表针对该项目在班级进行集中汇报展示;教师组织项目评审组共同制订评审标准,对各个汇报小组进行评价分析,并公布最终结果。
●总结
本研究在项目式学习和计算思维的相关理论基础上进行了教学模式的探究,从计算思维在实践层面上的可操作性出发构建了基于项目式学习的计算思维培养模式。该模式将计算思维过程化,利用项目式学习的教学方式全面培养学生的计算思维能力,通过项目的引入、分析、设计、实施、评价引导学生发现问题、解决问题、归纳问题,既培养了学生解决实际问题的能力,也提高了学生的团结合作能力,并且在探究过程中更加注重学生计算思维发展的过程性评价,更好地完善了教学。