“双新”背景下高中Python编程课分层教学实践与思考
2024-08-08缪高平张婷婷
摘要:本文提出了分层教学法,并呈现了如何在高中信息技术Python编程课教学中使用分层教学法解决学生的差异性的问题,以期能够为高中信息技术教师带来思考与借鉴。
关键词:分层教学;程序设计;Python
中图分类号:G434 文献标识码:A 论文编号:1674-2117(2024)15-0062-03
《普通高中信息技术课程标准(2017年版2020年修订)》(以下简称“新课标”)对高中信息技术的课程教学提出了新的要求。而在对应新课标的新教材中,Python编程计算的内容贯穿了必修一和必修二,这对学生来说提高了要求。但是笔者在教学中发现,即使是同一个班级,学生学习的差异性也很大,尤其是在学习Python编程时,学生对知识的接受度和掌握程度差异尤为明显。分析其原因,主要是两种差异导致的:一种是基础差异,部分学生在小学、初中时已学习过图形化编程内容,再到高中学习Python编程时,对新知识的接受度就相对高一些,学习进度相对来说也比较快。另一种是学习态度差异,部分学生对计算机相关内容的学习不感兴趣或者沉迷于对计算机的摸索中,课堂上不愿意听讲,不愿意主动学习,以至于在自主编程练习时,完成不了学习任务,需要教师再次辅导。这样就形成了学习快的学生“吃不饱”、学习慢的学生“吃不下”的分层状态。因此,教师如何在课堂上引导所有学生完成课堂教学目标、完成学习任务成为值得研究的问题。经过实践,笔者认为可以采用分层教学法解决上述问题。
分层教学法在高中Python编程教学中的应用
分层教学法是教师根据教学对象对学习内容掌握程度或接受程度有明显差异的情况,针对性地实施分层教学,实现帮助所有学生掌握课标要求的内容,又能让部分学生得到进阶发展的目的。[1]笔者根据实践,总结出了分层教学法应用于高中信息技术Python编程教学过程中的相关教学策略,具体如下。
1.分层准备教学与练习内容
由于课上时间有限,教师无法将讲解的内容完全分开以适应不同学生的进度,因此,在设计教学内容时,就要遵循适中的原则,既不能过于复杂,也不能过于简单。同时,在设计练习时,除了设计完成教学目标的基础任务wNBzYnfYVlOlGOs1XASTFA==外,还可以设计提升进阶的练习任务,让学习进度快的学生进一步提升自己。例如,在学习必修一《数据与计算》中的《可以复用的代码》一节内容时,笔者准备了分层的课堂练习,要求学习进度慢的学生掌握基础题即可,而学习进度快的学生在完成基础题后,可以尝试完成拓展练习。
另外,在复习阶段,使用模拟考试系统进行测试,掌握得比较好的学生会提前交卷,在交卷后,不能让学生无事可做,教师可以提供单机版练习系统或者其他的复习内容,让学生针对自己的弱项进行加强练习。
2.使用教学支架辅助分层教学
在课堂中,经常有部分学生在听讲时觉得自己已经听懂,但在自主练习后,却发现自己并没有理解透彻,需要教师再次讲解。然而,由于课上时间有限,教师无法给这部分学生再次辅导。针对这种情况,教师可以提供教学支架加以辅助,教学支架可以是关于知识点讲解的教学微视频,可以是程序框架,也可以是同类别题型的范例,还可以是程序调试可能出现的问题列表及解决方案,或者在练习页面中加入知识点内容等。[2]
例如,必修一《数据与计算》中的Python编程计算部分内容的操作性比较强,部分学生在观看完教师演示后,在自主练习时经常忘记如何操作。此时,教师可以给学生提供相关操作的教学视频,或者相关操作的学习引导单,以辅助他们快速解决问题,跟上教学节奏。又如,在初次学习Python编程计算的列表知识点时,学生对列表的相关函数和方法的记忆不深刻,教师可以在Jupyter Notebook等练习页面中以注释的形式加入相关知识点,帮助学生理解相关函数和方法的应用(如图1)。
再如,在学习Python编程计算内容时,学生经常在程序调试过程中遇到问题,如看不明白全英文的问题提示,不能及时找到解决问题的办法,从而影响课堂学习进度。针对这个问题,教师可以开发或者选用一些编程调试的辅助工具,学生在工具中编程并调试程序,当程序有语法问题时,工具能显示窗口并指出产生问题的具体位置。教师再提供常见的问题列表给学生,当他们调试程序遇到问题时,可以对比查看,及时解决问题,跟上教学节奏。如图2所示,当学生的程序中出现中文括号时,运行程序会报错,以箭头方式指出程序中出现中文括号的地方,方便学生精准地找到出错位置,快速地解决程序问题。
3.教师辅导与学生互助相结合
教学支架的使用可以辅助部分学生的学习,但也有些学生通过教学支架仍不能理解所学知识,这就需要教师单独辅导。当教师在辅导个别学生时,若其他学生有疑问,则可让掌握得比较好的学生帮助有疑问的学生,掌握得比较好的学生在帮助同学的同时,也能加深自己对知识点的理解。
4.设计有趣的练习平台激发学生的学习兴趣
在学习Python基础知识时,有些学生对计算机编程不感兴趣,觉得很枯燥,对于这样的学生,教师可以设计开发或者寻找有趣的练习平台,激发学生练习的兴趣,提高他们学习的内驱力,促进他们对知识的掌握。
例如,笔者所在的教研团队设计开发了“限时抢答计分系统”“小车快跑答题系统”等平台,“小车快跑答题系统”页面显示一道选择题或者填空题,在学生完成回答后系统会给出正误判断,在回答正确后学生自己的小车前进一步,小车上的数字加1,回答错误的题目将会出现在题目列表的最后,在完成一轮答题后再次显示答错的题目,学生需重新作答。在应用这个系统进行教学时,笔者发现学生的兴趣和专注度都非常高。
5.分层小组合作学习
在“双新”背景下,Python编程内容的教学可以适当运用项目式学习的方式进行。不同的项目可采用不同的分组方式。在全班完成同一主题的项目内容时,可采用差异化分组形式,将对学习内容接受度高、掌握速度快的学生和对学习内容接受度低、掌握速度相对较慢的学生分为一组,以快带慢,以合作的方式共同完成项目。而对于同一知识点,在各组完成不同的项目主题时,可采用同质化分组形式,将对学习内容接受度、掌握速度相当的学生分在同一组,对项目主题和完成目标进行分层,接受度高、掌握速度快的小组选择探究性强一点的项目,反之可以选择基本完成本节课教学目标的项目。
例如,在讲授必修一《数据与计算》中的《可以复用的代码》一节时,若采用项目式学习的方式授课,教师可以提供不同的项目主题让不同小组选择,如将“多边形面积计算”“哥德巴赫猜想”“水仙花数计算”“生肖计算助手”等归为基础主题,通过项目合作探究学习,学生能掌握单一函数的定义、调用方式即可。而将“多重素数计算”“斐波那契数列”“翻转相反数”等归为进阶主题,除了需要学生掌握函数的定义、调用方式外,还涉及多个函数的定义与调用、递归等算法思想的内容。
实践反思
分层教学法在高中信息技术教学中应用需要注意如下几点:
①分层教学法的应用时机。不是课程一开始就需要使用分层教学法,而是应当通过调查并结合几个课时的练习观察,根据学生的学习情况再选择使用。
②分层教学法的应用场合。不是所有内容的教学都需要分层教学,笔者认为在Python的编程教学与练习时更适合使用,在学习这部分内容时,学生的差异比较大。通过实践发现,在学习理论类的知识时,学生的差异相对来说比较小。
③密切关注学生心理接受情况。部分学生自我要求比较高,但实际能力却不能达到自己的预期,在分层教学时应关注这类学生,给予他们鼓励,引导他们正确看待自己取得的成绩。此外,在分层教学时建议不公开分组,教师对每一位学生的学习情况都要做到心中有数,在学生自主练习的过程中,教师可以单独对不同的学生给出适合的练习建议,从而减少学生的心理负担。
参考文献:
[1]张琳飞.分层教学的理论基础[J].新课程(下),2016(04):22.
[2]张婷婷,陈冀.支架式教学在程序设计类课程中的运用研究——以移动APP设计开发课程为例[J].中国信息技术教育,2020(21):53-54.
本文系无锡市教育科学“十四五”规划2021年度课题“‘五三’范式观照下信息技术学科区本研训体系的深度研究”(课题批准号:D/D/2021/14)的研究成果。