非计算机专业Python课程的教学方法探究
2022-05-30张振赵转哲刘永明徐曼曼
张振 赵转哲 刘永明 徐曼曼
旨在引导学生主动参与教学案例方案的设计,提升学生的各项能力。结合改进的“案例驱动式”教学方法,给出一个Turtle绘图库的教学案例。该方法的实践运用表明,改进的“案例驱动式”教学方法明显提升了学生的学习兴趣、自主创新能力、课堂参与度和能力素养,也提高了教学质量和效果。
关键词: 教学方法;Python课程;案例驱动;实践教学;教学改革
中图分类号:G642 文献标识码:A
文章编号:1009-3044(2022)16-0173-02
1 引言
随着工业化技术的发展,多数高校工科专业都开设程序设计课程,旨在通过学习使学生理解高级语言程序设计的思想,体会计算机求解问题的方法和步骤,培养学生使用计算机解决复杂问题的能力[1]。多数高校的非计算机专业采用C语言程序设计作为其入门语言,但其是一门理论性极强、学习知识点多、内容不易于理解的课程,常面临着课堂枯燥乏味、学生参与度低、面对实际问题往往无从下手等问题[2]。随着人工智能、云计算、大数据等技术的快速发展,Python语言因其语法简单、易掌握、接近自然语言以及存在大量已开发第三方库的特点,是当前的主流编程语言,已成为人工智能时代的第一开发语言[3-4]。因此,Python更适合非计算机专业作为初识程序设计语言来学习,受到了多所高校的青睐[5]。
本文针对我校非计算机专业在Python语言程序设计课程教学过程中所面临的问题进行分析,提出了一种改进的“案例驱动式”教学方法,并应用于该课程的教学中,该方法旨在提高学生课堂参与度和学习效率,引导学生建立学习自信,培养学生现代计算思维,从而提高教学质量[6]。
2 Python语言课程教学面临的问题
新兴事物往往难以让人理解和产生兴趣,Python语言亦是如此。回顾本校近两年人工智能、机器人工程和智能科学与技术专业在Python语言课程的教学实践,传统的教学方法在Python课程教学过程中的适用性并不是很强,经分析,当前课堂教学面临的问题如下:
1)多数授课教师还是按照传统的授课方法,从基础的数据类型、控制结构等大量的语法知识进行灌输式的讲解,使学生在学习方式上处于完全被动,主动性缺失,课堂参与度低。
2)非计算机专业的Python课程是由计算机学院教师进行授课,在师生教学管理和责任心方面存在较大问题,教师也很难结合本专业的实际开展相关实验内容,多数实验内容为公共类共性问题,与专业脱节,课程学习完成后大多学生只具备初级水平,无法达到期待的学习效果。
3)在能力培养方面,多数学生课后在编程练习上花费的时间太少,对待具体问题的抽象、建模和举一反三能力较弱,未从计算思维的角度去分析问题,导致学生使用Python语言解决专业问题时往往无从下手。
上述问题存在的根本原因是“填鸭式”的教学导致问题导向不够明确,学生的学习主观能动性未被调动起来,未以学生为中心和学习产出为导向。
3 教学方法探究
为解决当前Python语言教学过程中面临的问题,从本学期开始,该课程全面由本学院专业教师自主授课,较好地避免了师生教学管理以及教学责任心不足的问题。在授课模式和方法上也进行了创新,采用改进的“案例驱动式”教学方法,使学生明确重“语用”、轻“语法”的学习重心,加强了学生建模和计算思维的能力,明显地提高学生课堂参与度。
3.1 改进的“案例驱动式”教学方法
传统的“案例驱动式”教学方法[7]是将各章节知识融入一个例题,围绕例题的扩展即可对本章知识点进行讲解。需要教师在整个過程中充当指导者的角色,完成课前案例方案准备工作、案例描述、基础知识介绍、案例分析、案例实现、交流总结和课后复习等工作。一系列的工作需由教师完成。本文针对传统的“案例驱动式”教学方法进行改进,将案例方案准备、案例描述工作交由学生自主设计,教师进行指导,交流总结及课后复习由学生自主讨论,旨在提升学生的教学参与度与计算思维的能力培养,其实施框架如图1所示,整个过程弱化了教师作为指导者的角色。
本方法的具体实施可分为以下三个阶段:
1)案例设计。合理的案例方案设计可提高学生的学习兴趣及课堂的参与度,通过学生分组设计案例,以学生视角来创造学习情境,参与课程教学。此阶段将班级学生按照章节分成15人一组。教师对本章节内容进行介绍后,通过讨论、群投票提出各自想法和意见,在教师指导下进行专题、内容等的设计。
2)案例实现与分析。首先围绕案例的专题设计方案,考虑如何将本章节知识点融入所提方案;其次,围绕方案和基本知识点进行程序编译;最后,在课堂中引导学生对案例所要解决的问题进行分解和知识点分析,并验证所得结果。本阶段也是提高教师水平的重要环节,需要针对教学内容、难点进行分析,有承上启下的作用。
3)扩展与复习。对单个典型案例进行举一反三的扩展可得到这类通用问题的解决方案,要求学生讨论本类方法在生活中所通用的场景,并掌握该方法的使用。最后,要求学生通过Python123平台和实验课进行专题训练,熟练掌握本章节知识点的用法和内容。
本方法在实施过程中,学生的创新意识、分析解决问题能力、知识学习能力、素质提升以及以“学生为主体”的理念被充分融合,得到了较好的体现,也带来较好的教学效果。下面以本课程的turtle绘图库的教学案例设计为例,对本方法的应用进行简单阐述。
3.2 Turtle绘图库的教学案例设计
在Python语言中,Turtle库的使用是二级考试必考内容,也是学生必须掌握的知识点 [7]。教材中关于该类库的介绍只是绘制五角星、太阳花等简单的线条图形,以至于学生觉得无趣。因此,合适的案例设计应具备一定的趣味、灵活和可操作性以便提高学生学习积极性。
在案例设计初期由教师告知方案设计小组学生turtle库可以绘制各类图形,不仅限于课本的简单线条,需要涉及画布设计和画笔的前进、后退、转弯、色彩等相关函数的使用。要求同学们能正确使用相关函数以及掌握结构化程序设计的方法和思想。
首先,在案例设计阶段,通过小组讨论提出了绘制各类图形的想法,通过群投票确定了以绘制机器猫图形作为本节案例方案。由于完整机器猫绘制程序较长,因此以绘制机器猫头部创建教学案例。根据讨论,该方案的设计内容与案例描述如图2所示。
其次,在案例的分析与实现阶段,由教师根据图2所示的教学内容编写相关绘图程序并进行课堂讲解。该部分涉及函数库调用、绘图坐标系的设置、画笔控制、形状绘制以及函数的封装等内容。经分析,该例多数以绘制圆形为主,因此,引导学生理解以模块化的设计思想完成程圆形程序编写及调用,以获得预期的结果。
最后,扩展与复习阶段,引导学生进行举一反三,了解扩展所学知识的可用之处,完成Python123平台相关练习题,并根据自己兴趣绘制不少于30行代码的图形。再结合实验课程的内容加强对所学知识的巩固,做到学连结合、学以致用。
3.3教学效果的体现
案例设计、分析与实现、扩展与复习的实施过程,巧妙地将知识点、计算思维、讨论、课后环节等相互融合,提高了学生教学参与度,也把教师从传统的灌输式讲解引领到“问题引导,学生主体”的教学模式。
本学期的教学实践表明,学生在参与案例方案设计的过程中表现出较好的主动性和积极性,课堂中也能通过其他学生对方案的评价获得成就感,也能激起大家互相评比的心态。通常学生对学习编程知识比较抵触,本方法将编程融入问题,引导学生带着自己设计的问题去学习新知识、解决问题,能改变学生“畏难”的学习心态,提升課堂的专注度,学习效果也得到了提升。学生以“主体”高度参与教学案例方案设计,有助于提高学生设计问题、理解问题、解决问题的能力。举一反三的讨论、课后练习、实验课的紧密结合有助于与解决案例相关类别的系统问题,提升了学生编程能力、计算思维的提高。
4 结论
合理的教学方法能提高学生的方方面面,本文通过以“学生为主,教师为辅”的思想改进了“案例驱动式”教学方法,并应用于课堂。实践表明,该方法明显提升了学生的学习兴趣、思考问题的能力、课堂参与度和教学效果。现阶段只是该方法的初步使用,还存在较大的改进空间。在后期的教学改革进程中,我们将持续改进,建立本课程的相关案例库,推动课程建设的发展。
参考文献:
[1] 贺玲,肖蕾,罗刚,等.案例驱动教学法在Python教学中的应用[J].微型电脑应用,2021,37(1):134-136.
[2] 范嘉,刘梦.汽车类专业C语言课程教学方法改革浅析[J].教育教学论坛,2019(26):102-103.
[3] 杨帆,丁晓剑,刘禹锋,等.主体思维导向视角下的Python课程教学探索[J].计算机时代,2021(2):74-76,79.
[4] 郑秀杰.任务驱动式的非计算机专业Python教学实践[J].电脑知识与技术,2021,17(2):100-101,108.
[5] 刘妍.Python语言在非计算机专业计算机教学改革中的探讨[J].科学中国人,2016(30):301.
[6] 黄天羽,嵩天.以图形牵引兴趣的Python案例教学方法与实践[J].计算机教育,2017(8):32-37.
[7] 曲立国,卢自宝,韩凌云,等.基于项目案例驱动模块化教学方法研究[J].中国电力教育,2020(7):73-75.
[8] 嵩天,礼欣,黄天羽.Python语言程序设计基础[M].2版.北京:高等教育出版社,2017.
【通联编辑:王力】