唐满,郭东恩
(南阳理工学院计算机与软件学院,河南 南阳 473000)
高校培养方案中《Python程序开发》是一门重要的专业基础课,除了计算机、软件工程专业,智能制造、机械、数学等专业也相继开设了该门课程。该门课程的学习效果对学生高年级专业课程的学习具有重要影响。通过调研发现,大多数高校在《Python程序开发》这门课的课堂教学上仍然采用“教师讲授+学生练习”的方式,大多数时间是讲授者在讲,而忽略了作为学习主体的学生的感受。课堂教学沉闷乏味,多媒体课件质量不高,大多内容是教材的再现,授课内容联系实际较少,学生参与度低,逐渐失去学习兴趣,部分学生慢慢开始旷课,课堂上出现玩手机、打游戏、看课外书等现象,学生自觉学习的主动性不高,“隐形逃课”现象比较普遍,导致学习效果较差。
有效教学是教学过程有效性即符合教学规律的教学,研究者将有效教学主要概括为三个层面的含义:有效果、有效率和有效益[1]。对于一线教师来说最主要的是要提高教学的效果和效率。BOPPPS教学模式由加拿大温哥华大学的Douglas Kerr团队在1976年根据教育学的认知理论结合心理学而创建,是一个在课堂教学组织过程中强调学生参与式互动和反馈的闭环教学活动模型[2]。主要由导言(Bridge-in)、目标(Objective)、前测(Pre-assessment)、参与式学习(Par⁃ticipatory learning)、后 测(Post-assessment)和 总 结(Summary)在内的六个部分组成,简称BOPPPS[3]。导言引起学生注意,解释课程的重要性,增加学习动机。目标包含学生在正常教学结束前,应该在什么情况下,理解、思考、判断或实作哪些内容,达到哪种程度。前测部分要回答这样一个问题:关于这次教学的主题,学生已经了解了多少。参与式学习是课堂教学的主要内容,学生要尽可能地参与其中,教师可以利用一系列经过设计的小活动或学习项目,来帮助学生达成之前订立的目标。后测用来检验学生是否已经掌握教学内容,充分达成设定的学习目标。总结在教学的最后阶段,让学生有机会简短回顾教学内容,并在此加以整合。该模型围绕一个中心即学习目标,突出参与式学习,强调学习者在课堂中的中心地位,这是BOPPPS模型与传统课堂教学的根本区别。
BOPPPS教学模式是被众多高校实践验证的有效教学模型,该教学模式已经被全世界超过33个国家的高校引进并采用,被全球超过100所大学和培训机构所推崇[2]。在中国,BOPPPS近几年才受到广泛关注并逐步推广,应用及实践研究起步较晚。两年多来,BOPPPS教学模式在国内高校课堂教学中的应用得到迅速发展,对教师的“教”和学生的“学”都产生了深远影响。
下面以《Python程序开发》第一章第1节Python入门(第1课时)为例,介绍BOPPPS教学模式在课堂教学中的设计与实施。
课堂教学过程设计的好坏直接影响着教学的效率和效果。本学期,《Python程序开发》课程的每节课都按照BOPPPS模式进行教学活动的设计,涵盖BOPPPS完整的6个模块,并且要权衡每个模块的时间分配。导入怎么能短而精,快速调动学生学习兴趣?目标怎么斟酌可以让学生一目了然知道本节课要掌握什么、掌握到何种程度?前测如何通过简单的方式有效测出学生基础?参与式学习怎么设计可以让学生成为课堂中心、积极热情地全程参与?后测如何快速测出学生对本节课知识的掌握情况?总结如何灵活设计,根据后测结果针对性总结?以上都是每节课的教学设计需要认真考虑的问题。总之,课堂教学设计既要成体系,环环相扣,在各个模块的设计上又要精巧有度。
3.1.1 导言的设计
学习的责任主要在学生,但教师也有责任创造有利于学生学习的情景。“导言”的功能即是在教学活动中吸引学生注意力,并凸显课程内容与学生之间的关联,帮助学生专注在接下来的课程中。有效的导言可以通过寓教于乐的方式,让教学内容引起学生注意,增加学生的学习动机。导言通常很简短,可以是一张图片、一个短视频、一个故事等,引出学习接下来内容的理由、重要性、用途等。
Python入门这节课的导言是通过播放一段用Py⁃thon程序绘制玫瑰花的短视频,引发学生的兴趣和好奇心,趁机引出Python语言,并介绍本节课的学习目标。
3.1.2 学习目标的制定
学习目标(O)是BOPPPS模型的核心,其他5个部分都要围绕“O”进行设计和实施。这里的目标跟以往的教学目标不同,传统的教学目标是从教师角度出发,即通过一节课的教学要教授学生哪些知识;而学习目标是从学生角度出发,即通过本节课的学习学生要掌握什么,掌握到何种程度。通过对比可知,制定学习目标更符合有效教学。如何制定切实可行的学习目标就成为一个关键问题,可邀请学生一起参与制订,一份学习目标应能说明在一次课完成时,学生将会知道或能操作哪些内容,涵盖知识、技能和素质三个方面,并提供一些可观察和检测的方法,且学习目标应该是具体的、准确的、可评估的。
本节课制定的学习目标有三点:1.能简要描述Python语言的发展历史及应用领域;2.能归纳Python语言的语法规则,区分Python版本2和3的差异;3.能阐述Python程序的执行原理。
3.1.3 前测的设计
前测的目的是确认学生已经具备多少知识,能使教师知道该从何教起和如何开始教。如果学生对教学内容已经有深入了解,就会感到无趣,如果教学内容超出学生的能力,又会让学生感到挫败。前测最好是开放式的问答,可以让学生将自身经历和课程内容相结合,加强学生的参与感和投入度。也可以让学生尝试做出与教学内容相关的操作、阐述相关方法或者收集与教学主题相关的知识。可以是非正式的口头回答,也可以是正式的笔测。
为了测出学生对Python语言的了解情况,本节课在微助教里设置了一道讨论题:你认为使用Python语言能做什么?学生在移动端答题后,教师在电脑端查看词云总结并展示在大屏幕上,通过词云来了解学生基础。并且,为了给学生激励,在答题前规定前三名抢答的小组成员平时成绩加1分。
3.1.4 参与式学习的设计
参与式学习环节是BOPPPS教学模式中最重要的环节[4]。参与式学习说说简单,具体做起来并不容易。有人说提问、讨论就是参与式学习,但是这些传统的参与式学习并不是学生主动想要参与,效果也差强人意。真正地参与式学习是让学生潜意识里觉得“这就是我自己的事,我要来想、来说、来做”,是自身的一种内驱力驱动学生主动参与学习。具体怎么设计比较关键,需要巧妙地构思。课堂参与有两种形式:一种是教师与学生之间的互动,另一种是教师引导学生彼此互动。只有主动投入到任务中,学生才可能体验到深入的学习,学习的效果才能持久。参与式学习阶段(P)可以通过便利贴答题、微助教答题、分组讨论、小组互评、实际演示等多种方式让学生沉浸于课堂教学,以主人公的态度主动参与。总之,整个课堂教学都让学生很自然地参与其中,不止让他们动手做,更要他们手脑并用,学思并进。
本节课的参与式学习设计了以下环节:
1)把学生分为A、B两组,查阅TOBIE编程语言排行榜及其他相关资料,了解Python语言的地位、总结Python语言的发展历程及特点,两组汇总,挑选一名学生代表进行阐述,教师对学生的结果进行补充。
2)教师通过图片及视频展示Python在不同领域的应用案例,引导学生总结、提炼Python的应用领域。
3)教师通过在2.X版的IDLE和3.X的IDLE演示同一个Python程序的代码,引出Python 2和Python 3两大版本的差异,引导学生在编程时选择适合的版本;并让学生自由分组,通过观察大屏幕上的代码结合查阅资料总结出Python语言的语法规则。
4)引导学生用学生机上的IDLE演示一段教师机发过来的现成代码,直观地体会Python的执行过程和其他语言的区别,然后教师通过设置断点逐行运行一个简单程序引导学生理解Python程序的执行原理。
3.1.5 后测的设计
后测要和前测呼应,帮助教师检测授课效果,从而调整后续授课,也能检测出预期的学习目标是否达成。如何设计后测也是需要反复斟酌的问题,要既能测出真实情况,又能灵活应变和调整。后测需与课程开始时所预设的学习类型和程度相符,结合学生课堂学习情况,通过口头阐述、动手操作等方式检测学生对所学内容的理解及运用情况。
结合学习目标和前测情况,本节课的后测部分设计了两个小测试:1)给出几张图片,让学生说出是Py⁃thon在什么领域的应用。2)学生在微助教里用简短的词语阐述Python程序的执行原理。
3.1.6 总结的设计
如同导言可以为一堂课做简介和开场,总结则能对所学知识进行整理,营造出一个工程完工的氛围。总结可以帮助学生梳理知识结构、反思学习内容,并预告下一节课的内容[5]。教师可以引导学生对所学内容进行回顾,也可以让学生彼此交流讨论,或是引导学生用图表等形式提炼课堂所学重点知识,教师在此基础上进行补充,自然地引出下节课要学习的内容。
本节课的总结是随机点选一名学生到讲台上,用图表的形式对本节课的重点内容进行总结,其他同学可以支援和补充。
3.1.7 时间的分配和控时
一节课45分钟,BOPPPS教学模式的6个部分都要在教学过程中体现,时间的分配和控制也是很关键的一个问题。比如,如果前测或后测时间太短,可能没法测出学生的基础和对所学知识的掌握情况;时间长的话,参与式学习的时间相对就会缩短,学生可能没法对新学知识完全理解、掌握透彻,就不容易达到学习目标。所以,6个阶段各部分的时间分配及课堂上的灵活控时就相当重要,这既需要授课教师具有丰富的经验和预判能力,更需要对教学过程的设计进行反复琢磨和推敲。
参与式教学除了教学过程中设计让学生参与的环节,更重要的是如何在课堂授课的过程中让学生真正参与其中,而不是简单地提问、讨论这些传统的方式。每次讲授之前通过新颖、有趣的新课导入,吸引学生注意力;授课过程中老师重在引导,鼓励学生思考、尝试解决问题的思路和方法,变被动输入为主动习得;前测和后测阶段可以通过移动端答题、写便利贴、调查问卷等形式让学生参与其中;还可以通过学生评价、互评、总结等方式进行思维碰撞、互学所长等,鼓励和引导学生动脑、动口、动手,让学生潜意识里认识到每一部分都跟自己息息相关,就会很自然地主动参与教学,而不是被动参与。
通过与前一届的综合测评结果对比(如下表1所示)和学生满意度调查(如下表2所示),可以看出通过将BOPPPS教学模式应用于《Python程序开发》的课堂教学,教学效果有了显著提高,平均目标达成度为良好,学生在理论知识综合运用能力、动手能力和评价能力等方面都有了显著提高,学习获得感也有了较大提升。
表1 《Python程序开发》考评结果对比表
表2 《Python程序开发》学生满意度调查表
经实践验证,BOPPPS教学模式是一种有效教学,与传统教学相比,可以大大提高学生参与度,有效调动学生的学习积极性,提高学习效果和课程目标达成度,与OBE教育理念相吻合;此外,该教学模式促进了学生创新性思维、批判性思维的培养,为后续大数据、人工智能等专业核心课程的学习奠定了基础,对学生未来的发展和就业具有重要意义,可以推广到Python课程群内其他课程的课堂教学。