论文部分内容阅读
摘要:针对《Java语言程序设计》课堂教学中存在的若干实际问题,产生了将BOPPPS模型用于本课程课堂教学改革的想法。文中首先阐释了BOPPPS教学模型中六个模块的内涵,然后以“个人信息的自动验证”为例,描述了该模型在课堂教学设计中的具体实施过程,最后对应用BOPPPS模型前后的教学效果进行了对比分析。教学实践表明,BOPPPS模型的应用有利于激发学生的学习兴趣与主动性,提升课堂教学质量。
关键词: BOPPPS模型; 课堂教学; 教学设计; 程序设计课程; Java语言
中图分类号:G642 文献标识码:A
文章编号:1009-3044(2019)11-0146-03
Abstract: Aiming at the practical problems in the classroom teaching of Java Language Programming, the idea of applying the BOPPPS model into its classroom teaching reform is generated. In this paper, the connotations of six modules in the BOPPPS model are first explained. Then, the section of “automated proof for private information” is taken as an example, where implementation details of the BOPPPS model in classroom teaching design are stated. Finally, a comparative analysis is made on the teaching effects before and after the application of BOPPPS model. The teaching practice shows that the application of BOPPPS model is beneficial to stimulate students’ interest and initiative in learning, and thus improves the quality of classroom teaching.
Key words: BOPPPS model; classroom teaching; teaching design; programming course; Java language
1 引言
《Java語言程序设计》是笔者所在单位“信息管理与信息系统”和“电子商务”两个本科专业的专业必修课程之一。该课程被安排在第三学期开课,为期16周,共计80学时;其中48学时用于课堂理论教学,32学时用于上机实验教学。Java语言的语法知识和基本用法是该课程中的主体学习内容。由于这门课的理论知识抽象、知识点繁多且衔接紧密,再加之授课对象的专业偏好、编程基础等缘故[1],笔者所在单位的学生们普遍反映这门课“难学”,青年教师也感觉这门课“难教”。目前,该课程的课堂教学主要存在以下实际问题:
1) 课堂教学模式单一、陈旧;“填鸭式”的教学模式贯穿一次课的始终。在课堂教学过程中,教师“唱独角戏”,学生只是听众,被动地接受知识。尽管“言者谆谆”,但常常“听者藐藐”,学生的学习积极性也因此而受到影响,甚至部分学生产生畏难情绪、兴趣索然。此外,大多数学生对于通过大量的幻灯片放映而被动接受的知识在短时间内不能充分“消化”,无法对这些知识从“感性认识”上升到“理性认识”。
2) 基本上依照教材中的章节结构组织课堂教学,没有与现实用途、行业应用、市场需求相对接,未注重知识点的实际应用,导致教学内容“不接地气”、脱离知识的应用背景与场合,学生缺乏对知识点的实践体验,无法真正将所学内容融会贯通,鲜有“学以致用、知行合一”的感受。
3) 每次课上只是把相应的知识点罗列出来,并没有给出本次课的明确学习目标,导致学生不清楚对本次课所讲授的知识应该掌握到何种深度和广度。
4) 教学导入环节未得到足够重视,未将知识点的导入作为课堂教学设计的一个重要环节。即使教学设计中安排了课堂导入环节,也常因为缺乏深度感悟与亲身体验,使得导入环节过于生硬,不能引人入胜。
上述问题的存在严重影响了《Java语言程序设计》课程培养目标的达成,也使教学效果大打折扣。笔者所在的教学团队先后尝试了启发式、项目驱动式、翻转课堂式等多种教学方法,但这些教学实践由于缺乏完备的理论支撑和清晰的教学步骤,都未达到令人满意的教学效果。BOPPPS教学模型是当今国际上众多高校及培训机构所推崇的一种教学模式。它以建构主义理论为基础,对课堂教学过程进行了模块化分解,强调以学生为中心的教学理念,重视及时获取学生的反馈信息。加拿大教学培训工作坊(Instructional Skills Workshop, ISW)最早提出了该模型[2]。目前,它已成为加拿大高等教育教师培训和课堂教学的标准模式[3]。在“借鉴、学习国外先进教学经验”的教改理念指引下,笔者尝试将BOPPPS模型应用到《Java语言程序设计》课程的课堂教学中,以优化各个教学环节,改善教学效果。
2 BOPPPS教学模型的内涵分析
BOPPPS模型是一种“有效教学模型”[4]。它的应用使课堂教学活动具备了“起承转合”的特性。遵照BOPPPS教学模型进行课堂教学设计,整个课堂教学过程将被划分为前后衔接的六个教学模块[3]:导入(Bridge-in)、目标(Objective)、前测(Pre-test)、参与式学习(Participatory Learning)、课内评测(Post-assessment)和总结(Summary)。上述六个模块的英文首字母连在一起便形成了这种先进教学模型的英文缩略语,即BOPPPS。从教学组织层面看,这六个教学模块环环相扣、前后呼应,联合形成了“教学目标?教学行为?学习活动?教学评估?教学目标”的“闭环”教学体系[5]。不管是50分钟的常规课堂还是15分钟的微课堂都须将这六个模块连贯起来,从而为既定课堂学习目标的达成提供科学思路和坚实保障。下面将逐一分析每个教学模块的作用、具体要求以及实施要领。 导入模块是课堂教学过程的开场环节,其作用在于:引出要讲授的知识内容,引导学生进入学习状态,促使学生重视即将讲授的教学内容。尽可能地抓住学生的心是对教学导入模块的根本要求[6]。此外,教学导入过程中的语言应尽量精炼,所运用的导入手段和素材也应“不拘一格”。既可以讲述与教学内容密切相关的故事、社会热点、自然现象或个人体验,也可以强调上节课学习内容与本节课内容的传承性与连贯性,将学生已有的知识基础和将要学习的内容有机联系起来。总之,一个精彩的教学导入是取得优异教学效果的重要开端。
目标模块旨在让学生知道本次课要达成的学习目标。学习目标既是本节课学习的出发点,也是落脚点。设定目标时需考虑四个要素:谁(Who)、将会学到什么(What will learn)、在什么条件下(Under what condition)、掌握到何种程度(To what extent will learn) [7]。制定出的学习目标必须明确,既可观察、可评测,又适合教学对象的知识水平和操作技能。明确的学习目标有助于教师选取适量的教学内容,开展有针对性的教学设计,也有助于学生进行学习效果的自我评估。
前测模块既可在课前开展,也可在课堂上进行,其目的在于了解学生对先学知识的掌握情况及其相关知识体系的完整程度,并根据摸底结果调整授课内容深度、难度以及讲课节奏。前测的实施方式多种多样,既可以安排考试或问卷调查,也可以提出开放式问题供学生独立地自由发挥,还可以运用头脑风暴法让学生对具有挑战性的任务提出思路、集思广益。对于学生而言,前测环节的设置有利于教师准确了解其基础知识水平和学习愿望,促进教师及时改进授课方式与进度[3]。
参与式学习模块是BOPPPS模型的核心环节。它旨在通过师生间的互动、学生之间的互动,促使学生全方位、实时地参与教学过程,强化他们自主学习、独立思考的意识。在该模块中,要求教师灵活运用各种教学手段和资源,善于借助多种教学方法与策略来营造宽松平等、活力十足的课堂氛围。调动学生参与课堂积极性的常用措施主要有四种:一是在讲课过程中穿插片刻停顿,供学生自行揣摩、反思;二是布置专项任务供学生进行小组讨论与合作;三是让学生针对教学内容相关主题发表本人看法或本组讨论后的观点;四是运用情境模拟、角色扮演等方式展示本次课的学习收获。
课内评测模块是指本次课即将结束之际面向学生而开展的一系列检验与评估活动。它能直接反馈学生对本节课所学内容的掌握情况,及时了解本次课的学习目标是否已达成。在课内评测环节,教师会根据课程性质的不同和当前教学内容的特征而酌情选用合适的评测手段[8]。对于知识识记型的教学内容,经常布置选择题、判断题或简答题进行课内测验;对于应用分析型的教学内容,会选用情境模拟、即兴案例分析或态度量表调查等方式进行课内评测;对于技能传授型的教学内容,可用现场实操演示的方式进行评测。课内评测中的表现情况可作为学生平时成绩的评定依据之一,成为有效激励的重要一环。
总结模块旨在以简练话语总结本次课的知识、技能要点,并预告下次课的学习内容或为下次课埋下伏笔。在该环节,教师会带领学生对本次课的内容进行回顾和梳理,为他们提供一个反思自己学到什么的机会,以助于他们对本次课留有深刻印象,形成长时间的知识记忆。
3 基于BOPPPS模型的教学设计案例
下面以课程《Java语言程序设计》中第八章第3节“个人信息的自动验证”为例,阐述如何依据BOPPPS教学模型来安排本次课的教学活动。在笔者所在单位每次课都是两节连上,每节课的时长为50分钟,共计100分钟。
3.1 导入模块
教师首先叙述与主题“个人信息的自动验证”相关的现实生活体验,引起学生的共鸣,吸引他们的“眼球”,让他们了解接下来要学习的知识能解决什么现实问题,时间约为4分钟。具体而言,教师可通过演示操作或讲故事的方式向学生抛出以下一连串问题:“当你在线填写身份证号、手机号、电子邮箱等个人信息时,如果提供的信息有错误或不符合规范,那么完成在线提交后会收到相关提示。系统是如何第一时间发现格式上明显不合理的个人信息的呢?利用Java程序能否自动检测出格式上有问题的个人信息呢?欲实现对个人信息格式的自动验证,需要用到哪些Java语法知识和技术方法呢?”这些问题与学生的日常生活体验息息相关,具有一定的启发性,也具有一定的难度。
3.2 目标模块
教师尽量从认知、技能、情感三个层面列出学生在本次课上应达到的学习目标,保证目标既具体明确、又可评测,时间约为4分钟。对“个人信息的自动验证”这次课所制定的学习目标为:在本次课结束之时,学生在认知层面上能用自己的话准确定义正则表达式,说出常用元字符和限定修饰符的涵义,能从功能、返回类型、参数列表三方面描述String类中的matches方法;在技能层面上,能通过结合元字符、方括号、限定修饰符设计出针对身份证号的正则表达式,并能通过Java语言编程实现对个人身份证信息的自动验证;在情感层面,能认识到正则表达式在个人信息自动验证中的作用,并对手机号、电子邮箱等个人信息对应的正则表达式产生探索兴趣。
3.3 前測模块
在学习正则表达式之前,要求学生熟知字符串常量的概念,并知道在字符串常量中可含有一些具有特殊意义的字符。在“个人信息的自动验证”这次课的前测环节,笔者专门设置了时长约为5分钟的问答环节,让学生依次回答以下简答题:什么是字符串常量?在字符串常量中可以含有一个或多个转义字符吗??\\Hello\n?是正确的字符串常量吗?如果是,它的长度是多少?根据学生对这些问题的回答情况,考查他们对“字符串常量”这个先导知识的理解程度,也可由此“抛砖引玉”,指出字符串常量中除了可以含有转义字符外,还可含有元字符、限定修饰符,从而“无缝切换”到对于正则表达式的学习。
3.4 参与式学习模块 本次课的学习内容包括四部分,分别为:正则表达式中常用元字符及其含义;正则表达式中方括号的用法;正则表达式中常用限定修饰符及其含义;String类中matches方法的功能与用法。笔者对“个人信息的自动验证”这次课的参与式学习环节做了如下安排:
1) 首先将本班学生分成六组,前4组学生分别集中自学一部分学习内容,后两组学生分别集中探讨正则表达式?[a-d] \\d{2}?和?\\D*[^abc]{1,}?的解释,限定集中自学、探讨时间约为10分钟。
2) 各组集中自学或探讨结束后,前4组派代表总结本组的学习收获与心得,归纳出重要知识点,后两组派代表依次给出上述两个正则表达式的含义,时间约为15分钟。
3) 接着,教师点评各组代表的总结或陈述,并强调有关正则表达式设计和matches方法使用方面的注意事项,时间约为10分钟。
4) 而后,教师提出针对身份证号的格式验证问题供学生利用所学知识来编程解决,并给出其中的技术要点提示,时间约为5分钟。
5) 教师将18位的身份证号划分为所在地、出生年份、出生月份、出生日期、顺序号和校验位六个片段,并逐一分配给六个小组,让其设计对应的正则表达式,时间约为5分钟。
6) 教师对提交上来的6个正则表达式进行评价与纠正,并给出可能的其他答案,时间约为10分钟。
7) 在教师的提示与引导下,各小组自行编程解决针对身份证号的格式验证问题,并通过抽签确定出一个小组当场演示本组所编写Java小程序的运行结果,时间约为12分钟。
3.5 课内评测模块
笔者在课内评测环节布置了一道程序填空题。这段Java程序是针对邮政编码的格式验证程序,其中留有三个空,供各组学生根据相应注释来填写代码。第一个空处要求填写reader对象的创建语句;第二个空处要求填写面向邮政编码的正则表达式;第三个空处要求填写matches方法的调用语句。限定各组在5分钟之内完成这道程序填空题。而后,教师集中点评、指正各组公布的答案,并给出正确答案、当场演示运行效果,时间约为10分钟。
3.6 总结模块
在总结阶段,教师首先围绕学习目标将本次课的内容主线进行梳理,并融入互动提问以加深对所学内容的印象;随后,教师布置课后作业,即设计出针对电子邮箱、手机号的正则表达式;最后,教师指出除了匹配验证个人信息外,正则表达式还有其他用途,进而引出下次课要学习的内容:字符串的替换与分解。整个总结环节的时长约为5分钟。
4 课程内BOPPPS教学模型的实施情况与效果分析
除了“个人信息的自动验证”这个知识点外,笔者还对“方法重载与多态”“继承与多态”“面向抽象编程”“面向接口编程”“内部类”“大整数类”“字符串与字符数组”“日期的格式化”等重要知识的课堂教学基于BOPPPS模型进行了教学设计与实施。
从2016-2017学年起,笔者开始将BOPPPS教学模型应用于课程《Java语言程序设计》的课堂教学中。然而,在此之前大多采用高度依赖PPT课件、教师“一言堂”的“填鸭式”教学模式开展课堂教学。表1给出了在2015-2016学年、2016-2017学年和2017-2018学年笔者所在单位中选修《Java语言程序设计》的学生的课程总评成绩统计结果;其中,课程总评成绩由期末考试成绩(占70%比重)和平时表现成绩(占30%比重)构成。由表1可看出,通过运用BOPPPS模型对该课程的课堂教学进行改革,学生对Java语法知识点掌握得更牢固,参与式学习环节也起到了提升学生编程素养和综合实践能力的作用,使得2016-2017、2017- 2018学年的总评成绩均值较2015-2016学年分别提高了8.56%和7.47%,尤其是高分率(80分以上的学生比重)提高显著,促进了拔尖Java人才的涌现。
近三学年的第一学期期末,笔者都对选修《Java语言程序设计》的学生进行了该课程的课堂满意度调查,调查结果如表2所示。从调查对比结果看出,自从将BOPPPS模型引入课堂教学之后,学生对课堂的满意度有了明显提升。
5 结语
教学实践效果表明,通过运用BOPPPS模型对《Java语言程序设计》的课堂教学进行设计,做到了课堂开头像“凤头”一样,能吸引学生的注意力、激发学习兴趣;课堂中间像“猪肚”一样充实饱满,以多种形式促使学生主动参与课堂教学,让课堂充满活力;课堂结尾像“豹尾”一样短而有力,既脉络清晰、又印象深刻。与此同时,该模型对学生自学能力、解决问题能力、动手编程能力的提升起到了显著的促进作用,还帮助教师分析教学过程、检验教学效果,实现了“教”与“学”的双向互动、教学相长。当然,并非课程《Java语言程序设计》中所有教学内容都适合采用BOPPPS模型,模型中的各教学模块也可根据实际需要做出顺序调整。可见,教师在从传统“满堂灌”的课堂教学思维中跳出来的同时,也要“审时度势”地灵活运用BOPPPS教学模型。此外,BOPPPS模型本身也需要理论创新、应用创新。它与其他教学方法的有机融合、搭配互补会是未来BOPPPS模型理论与实践发展的方向。相信BOPPPS模型会为《Java语言程序设计》的课堂教学改革带来更大的惊喜。
参考文献:
[1] 严素蓉. 电子商务专业的Java程序设计的课堂教学改革探索[J]. 电脑知识与技术, 2014,10(17):4091-4093.
[2] Pattison P, Day R. Instruction skills workshop handbook for participants[M]. Vancouver: the Instruction Skills Workshop International Advisory Committee, 2006.
[3] 曹丹平, 印兴耀. 加拿大BOPPPS教学模式及其对高等教育改革的启示[J]. 实验室研究与探索, 2016, 35(2): 196-200.
[4] 张建勋, 朱琳. 基于BOPPPS模型的有效课堂教学设计[J]. 职业技术教育, 2016, 37(11): 25-28.
[5] 陳卫卫, 鲍爱华, 李清, 等. 基于BOPPPS模型和问题驱动教学法培养计算思维的教学设计[J]. 工业和信息化教育, 2014, (6): 8-11.
[6] 穆华, 李春. BOPPPS模型及其在研究型教学中的应用探究[J]. 陕西教育(高教), 2015,(10): 27-30.
[7] 孙亚南, 王楠, 张东敏, 等. 高校青年教师实现有效教学的思路研究——基于BOPPPS模式的分析与应用[J]. 教育现代化, 2017, 4(45):134-136.
[8] 姚晓玲. 基于BOPPPS模型的Java语言课程教学模式探讨[J]. 电脑知识与技术, 2016, 12(1):165-167.
【通联编辑:王力】
关键词: BOPPPS模型; 课堂教学; 教学设计; 程序设计课程; Java语言
中图分类号:G642 文献标识码:A
文章编号:1009-3044(2019)11-0146-03
Abstract: Aiming at the practical problems in the classroom teaching of Java Language Programming, the idea of applying the BOPPPS model into its classroom teaching reform is generated. In this paper, the connotations of six modules in the BOPPPS model are first explained. Then, the section of “automated proof for private information” is taken as an example, where implementation details of the BOPPPS model in classroom teaching design are stated. Finally, a comparative analysis is made on the teaching effects before and after the application of BOPPPS model. The teaching practice shows that the application of BOPPPS model is beneficial to stimulate students’ interest and initiative in learning, and thus improves the quality of classroom teaching.
Key words: BOPPPS model; classroom teaching; teaching design; programming course; Java language
1 引言
《Java語言程序设计》是笔者所在单位“信息管理与信息系统”和“电子商务”两个本科专业的专业必修课程之一。该课程被安排在第三学期开课,为期16周,共计80学时;其中48学时用于课堂理论教学,32学时用于上机实验教学。Java语言的语法知识和基本用法是该课程中的主体学习内容。由于这门课的理论知识抽象、知识点繁多且衔接紧密,再加之授课对象的专业偏好、编程基础等缘故[1],笔者所在单位的学生们普遍反映这门课“难学”,青年教师也感觉这门课“难教”。目前,该课程的课堂教学主要存在以下实际问题:
1) 课堂教学模式单一、陈旧;“填鸭式”的教学模式贯穿一次课的始终。在课堂教学过程中,教师“唱独角戏”,学生只是听众,被动地接受知识。尽管“言者谆谆”,但常常“听者藐藐”,学生的学习积极性也因此而受到影响,甚至部分学生产生畏难情绪、兴趣索然。此外,大多数学生对于通过大量的幻灯片放映而被动接受的知识在短时间内不能充分“消化”,无法对这些知识从“感性认识”上升到“理性认识”。
2) 基本上依照教材中的章节结构组织课堂教学,没有与现实用途、行业应用、市场需求相对接,未注重知识点的实际应用,导致教学内容“不接地气”、脱离知识的应用背景与场合,学生缺乏对知识点的实践体验,无法真正将所学内容融会贯通,鲜有“学以致用、知行合一”的感受。
3) 每次课上只是把相应的知识点罗列出来,并没有给出本次课的明确学习目标,导致学生不清楚对本次课所讲授的知识应该掌握到何种深度和广度。
4) 教学导入环节未得到足够重视,未将知识点的导入作为课堂教学设计的一个重要环节。即使教学设计中安排了课堂导入环节,也常因为缺乏深度感悟与亲身体验,使得导入环节过于生硬,不能引人入胜。
上述问题的存在严重影响了《Java语言程序设计》课程培养目标的达成,也使教学效果大打折扣。笔者所在的教学团队先后尝试了启发式、项目驱动式、翻转课堂式等多种教学方法,但这些教学实践由于缺乏完备的理论支撑和清晰的教学步骤,都未达到令人满意的教学效果。BOPPPS教学模型是当今国际上众多高校及培训机构所推崇的一种教学模式。它以建构主义理论为基础,对课堂教学过程进行了模块化分解,强调以学生为中心的教学理念,重视及时获取学生的反馈信息。加拿大教学培训工作坊(Instructional Skills Workshop, ISW)最早提出了该模型[2]。目前,它已成为加拿大高等教育教师培训和课堂教学的标准模式[3]。在“借鉴、学习国外先进教学经验”的教改理念指引下,笔者尝试将BOPPPS模型应用到《Java语言程序设计》课程的课堂教学中,以优化各个教学环节,改善教学效果。
2 BOPPPS教学模型的内涵分析
BOPPPS模型是一种“有效教学模型”[4]。它的应用使课堂教学活动具备了“起承转合”的特性。遵照BOPPPS教学模型进行课堂教学设计,整个课堂教学过程将被划分为前后衔接的六个教学模块[3]:导入(Bridge-in)、目标(Objective)、前测(Pre-test)、参与式学习(Participatory Learning)、课内评测(Post-assessment)和总结(Summary)。上述六个模块的英文首字母连在一起便形成了这种先进教学模型的英文缩略语,即BOPPPS。从教学组织层面看,这六个教学模块环环相扣、前后呼应,联合形成了“教学目标?教学行为?学习活动?教学评估?教学目标”的“闭环”教学体系[5]。不管是50分钟的常规课堂还是15分钟的微课堂都须将这六个模块连贯起来,从而为既定课堂学习目标的达成提供科学思路和坚实保障。下面将逐一分析每个教学模块的作用、具体要求以及实施要领。 导入模块是课堂教学过程的开场环节,其作用在于:引出要讲授的知识内容,引导学生进入学习状态,促使学生重视即将讲授的教学内容。尽可能地抓住学生的心是对教学导入模块的根本要求[6]。此外,教学导入过程中的语言应尽量精炼,所运用的导入手段和素材也应“不拘一格”。既可以讲述与教学内容密切相关的故事、社会热点、自然现象或个人体验,也可以强调上节课学习内容与本节课内容的传承性与连贯性,将学生已有的知识基础和将要学习的内容有机联系起来。总之,一个精彩的教学导入是取得优异教学效果的重要开端。
目标模块旨在让学生知道本次课要达成的学习目标。学习目标既是本节课学习的出发点,也是落脚点。设定目标时需考虑四个要素:谁(Who)、将会学到什么(What will learn)、在什么条件下(Under what condition)、掌握到何种程度(To what extent will learn) [7]。制定出的学习目标必须明确,既可观察、可评测,又适合教学对象的知识水平和操作技能。明确的学习目标有助于教师选取适量的教学内容,开展有针对性的教学设计,也有助于学生进行学习效果的自我评估。
前测模块既可在课前开展,也可在课堂上进行,其目的在于了解学生对先学知识的掌握情况及其相关知识体系的完整程度,并根据摸底结果调整授课内容深度、难度以及讲课节奏。前测的实施方式多种多样,既可以安排考试或问卷调查,也可以提出开放式问题供学生独立地自由发挥,还可以运用头脑风暴法让学生对具有挑战性的任务提出思路、集思广益。对于学生而言,前测环节的设置有利于教师准确了解其基础知识水平和学习愿望,促进教师及时改进授课方式与进度[3]。
参与式学习模块是BOPPPS模型的核心环节。它旨在通过师生间的互动、学生之间的互动,促使学生全方位、实时地参与教学过程,强化他们自主学习、独立思考的意识。在该模块中,要求教师灵活运用各种教学手段和资源,善于借助多种教学方法与策略来营造宽松平等、活力十足的课堂氛围。调动学生参与课堂积极性的常用措施主要有四种:一是在讲课过程中穿插片刻停顿,供学生自行揣摩、反思;二是布置专项任务供学生进行小组讨论与合作;三是让学生针对教学内容相关主题发表本人看法或本组讨论后的观点;四是运用情境模拟、角色扮演等方式展示本次课的学习收获。
课内评测模块是指本次课即将结束之际面向学生而开展的一系列检验与评估活动。它能直接反馈学生对本节课所学内容的掌握情况,及时了解本次课的学习目标是否已达成。在课内评测环节,教师会根据课程性质的不同和当前教学内容的特征而酌情选用合适的评测手段[8]。对于知识识记型的教学内容,经常布置选择题、判断题或简答题进行课内测验;对于应用分析型的教学内容,会选用情境模拟、即兴案例分析或态度量表调查等方式进行课内评测;对于技能传授型的教学内容,可用现场实操演示的方式进行评测。课内评测中的表现情况可作为学生平时成绩的评定依据之一,成为有效激励的重要一环。
总结模块旨在以简练话语总结本次课的知识、技能要点,并预告下次课的学习内容或为下次课埋下伏笔。在该环节,教师会带领学生对本次课的内容进行回顾和梳理,为他们提供一个反思自己学到什么的机会,以助于他们对本次课留有深刻印象,形成长时间的知识记忆。
3 基于BOPPPS模型的教学设计案例
下面以课程《Java语言程序设计》中第八章第3节“个人信息的自动验证”为例,阐述如何依据BOPPPS教学模型来安排本次课的教学活动。在笔者所在单位每次课都是两节连上,每节课的时长为50分钟,共计100分钟。
3.1 导入模块
教师首先叙述与主题“个人信息的自动验证”相关的现实生活体验,引起学生的共鸣,吸引他们的“眼球”,让他们了解接下来要学习的知识能解决什么现实问题,时间约为4分钟。具体而言,教师可通过演示操作或讲故事的方式向学生抛出以下一连串问题:“当你在线填写身份证号、手机号、电子邮箱等个人信息时,如果提供的信息有错误或不符合规范,那么完成在线提交后会收到相关提示。系统是如何第一时间发现格式上明显不合理的个人信息的呢?利用Java程序能否自动检测出格式上有问题的个人信息呢?欲实现对个人信息格式的自动验证,需要用到哪些Java语法知识和技术方法呢?”这些问题与学生的日常生活体验息息相关,具有一定的启发性,也具有一定的难度。
3.2 目标模块
教师尽量从认知、技能、情感三个层面列出学生在本次课上应达到的学习目标,保证目标既具体明确、又可评测,时间约为4分钟。对“个人信息的自动验证”这次课所制定的学习目标为:在本次课结束之时,学生在认知层面上能用自己的话准确定义正则表达式,说出常用元字符和限定修饰符的涵义,能从功能、返回类型、参数列表三方面描述String类中的matches方法;在技能层面上,能通过结合元字符、方括号、限定修饰符设计出针对身份证号的正则表达式,并能通过Java语言编程实现对个人身份证信息的自动验证;在情感层面,能认识到正则表达式在个人信息自动验证中的作用,并对手机号、电子邮箱等个人信息对应的正则表达式产生探索兴趣。
3.3 前測模块
在学习正则表达式之前,要求学生熟知字符串常量的概念,并知道在字符串常量中可含有一些具有特殊意义的字符。在“个人信息的自动验证”这次课的前测环节,笔者专门设置了时长约为5分钟的问答环节,让学生依次回答以下简答题:什么是字符串常量?在字符串常量中可以含有一个或多个转义字符吗??\\Hello\n?是正确的字符串常量吗?如果是,它的长度是多少?根据学生对这些问题的回答情况,考查他们对“字符串常量”这个先导知识的理解程度,也可由此“抛砖引玉”,指出字符串常量中除了可以含有转义字符外,还可含有元字符、限定修饰符,从而“无缝切换”到对于正则表达式的学习。
3.4 参与式学习模块 本次课的学习内容包括四部分,分别为:正则表达式中常用元字符及其含义;正则表达式中方括号的用法;正则表达式中常用限定修饰符及其含义;String类中matches方法的功能与用法。笔者对“个人信息的自动验证”这次课的参与式学习环节做了如下安排:
1) 首先将本班学生分成六组,前4组学生分别集中自学一部分学习内容,后两组学生分别集中探讨正则表达式?[a-d] \\d{2}?和?\\D*[^abc]{1,}?的解释,限定集中自学、探讨时间约为10分钟。
2) 各组集中自学或探讨结束后,前4组派代表总结本组的学习收获与心得,归纳出重要知识点,后两组派代表依次给出上述两个正则表达式的含义,时间约为15分钟。
3) 接着,教师点评各组代表的总结或陈述,并强调有关正则表达式设计和matches方法使用方面的注意事项,时间约为10分钟。
4) 而后,教师提出针对身份证号的格式验证问题供学生利用所学知识来编程解决,并给出其中的技术要点提示,时间约为5分钟。
5) 教师将18位的身份证号划分为所在地、出生年份、出生月份、出生日期、顺序号和校验位六个片段,并逐一分配给六个小组,让其设计对应的正则表达式,时间约为5分钟。
6) 教师对提交上来的6个正则表达式进行评价与纠正,并给出可能的其他答案,时间约为10分钟。
7) 在教师的提示与引导下,各小组自行编程解决针对身份证号的格式验证问题,并通过抽签确定出一个小组当场演示本组所编写Java小程序的运行结果,时间约为12分钟。
3.5 课内评测模块
笔者在课内评测环节布置了一道程序填空题。这段Java程序是针对邮政编码的格式验证程序,其中留有三个空,供各组学生根据相应注释来填写代码。第一个空处要求填写reader对象的创建语句;第二个空处要求填写面向邮政编码的正则表达式;第三个空处要求填写matches方法的调用语句。限定各组在5分钟之内完成这道程序填空题。而后,教师集中点评、指正各组公布的答案,并给出正确答案、当场演示运行效果,时间约为10分钟。
3.6 总结模块
在总结阶段,教师首先围绕学习目标将本次课的内容主线进行梳理,并融入互动提问以加深对所学内容的印象;随后,教师布置课后作业,即设计出针对电子邮箱、手机号的正则表达式;最后,教师指出除了匹配验证个人信息外,正则表达式还有其他用途,进而引出下次课要学习的内容:字符串的替换与分解。整个总结环节的时长约为5分钟。
4 课程内BOPPPS教学模型的实施情况与效果分析
除了“个人信息的自动验证”这个知识点外,笔者还对“方法重载与多态”“继承与多态”“面向抽象编程”“面向接口编程”“内部类”“大整数类”“字符串与字符数组”“日期的格式化”等重要知识的课堂教学基于BOPPPS模型进行了教学设计与实施。
从2016-2017学年起,笔者开始将BOPPPS教学模型应用于课程《Java语言程序设计》的课堂教学中。然而,在此之前大多采用高度依赖PPT课件、教师“一言堂”的“填鸭式”教学模式开展课堂教学。表1给出了在2015-2016学年、2016-2017学年和2017-2018学年笔者所在单位中选修《Java语言程序设计》的学生的课程总评成绩统计结果;其中,课程总评成绩由期末考试成绩(占70%比重)和平时表现成绩(占30%比重)构成。由表1可看出,通过运用BOPPPS模型对该课程的课堂教学进行改革,学生对Java语法知识点掌握得更牢固,参与式学习环节也起到了提升学生编程素养和综合实践能力的作用,使得2016-2017、2017- 2018学年的总评成绩均值较2015-2016学年分别提高了8.56%和7.47%,尤其是高分率(80分以上的学生比重)提高显著,促进了拔尖Java人才的涌现。
近三学年的第一学期期末,笔者都对选修《Java语言程序设计》的学生进行了该课程的课堂满意度调查,调查结果如表2所示。从调查对比结果看出,自从将BOPPPS模型引入课堂教学之后,学生对课堂的满意度有了明显提升。
5 结语
教学实践效果表明,通过运用BOPPPS模型对《Java语言程序设计》的课堂教学进行设计,做到了课堂开头像“凤头”一样,能吸引学生的注意力、激发学习兴趣;课堂中间像“猪肚”一样充实饱满,以多种形式促使学生主动参与课堂教学,让课堂充满活力;课堂结尾像“豹尾”一样短而有力,既脉络清晰、又印象深刻。与此同时,该模型对学生自学能力、解决问题能力、动手编程能力的提升起到了显著的促进作用,还帮助教师分析教学过程、检验教学效果,实现了“教”与“学”的双向互动、教学相长。当然,并非课程《Java语言程序设计》中所有教学内容都适合采用BOPPPS模型,模型中的各教学模块也可根据实际需要做出顺序调整。可见,教师在从传统“满堂灌”的课堂教学思维中跳出来的同时,也要“审时度势”地灵活运用BOPPPS教学模型。此外,BOPPPS模型本身也需要理论创新、应用创新。它与其他教学方法的有机融合、搭配互补会是未来BOPPPS模型理论与实践发展的方向。相信BOPPPS模型会为《Java语言程序设计》的课堂教学改革带来更大的惊喜。
参考文献:
[1] 严素蓉. 电子商务专业的Java程序设计的课堂教学改革探索[J]. 电脑知识与技术, 2014,10(17):4091-4093.
[2] Pattison P, Day R. Instruction skills workshop handbook for participants[M]. Vancouver: the Instruction Skills Workshop International Advisory Committee, 2006.
[3] 曹丹平, 印兴耀. 加拿大BOPPPS教学模式及其对高等教育改革的启示[J]. 实验室研究与探索, 2016, 35(2): 196-200.
[4] 张建勋, 朱琳. 基于BOPPPS模型的有效课堂教学设计[J]. 职业技术教育, 2016, 37(11): 25-28.
[5] 陳卫卫, 鲍爱华, 李清, 等. 基于BOPPPS模型和问题驱动教学法培养计算思维的教学设计[J]. 工业和信息化教育, 2014, (6): 8-11.
[6] 穆华, 李春. BOPPPS模型及其在研究型教学中的应用探究[J]. 陕西教育(高教), 2015,(10): 27-30.
[7] 孙亚南, 王楠, 张东敏, 等. 高校青年教师实现有效教学的思路研究——基于BOPPPS模式的分析与应用[J]. 教育现代化, 2017, 4(45):134-136.
[8] 姚晓玲. 基于BOPPPS模型的Java语言课程教学模式探讨[J]. 电脑知识与技术, 2016, 12(1):165-167.
【通联编辑:王力】