郭艳燕 周世平 贺利坚 毕远伟 卢云宏 杨军
摘 要:结合程序设计课程的特点,以蓝墨云班课、OJ平台等信息化教学辅助工具作为课程支持,提出符合学生认知规律的混合式教学改革新思路,从教学目标和内容的设置、教学项目的设计、教学环节的实施以及课上课下的实践教学几个方面进行混合式教学设计。
关键词:混合式教学;程序设计;信息化平台;蓝墨云班课;OJ平台;BOPPPS教学模型;螺旋式教学
程序设计课程是计算机类专业的第一门专业基础课,是利用计算机程序设计语言来解决实际问题的课程[1],是后续专业课的基础和支撑,在整个课程体系中起着举足轻重的作用。程序设计课程以一门具体编程语言(C语言)的讲授为主线,结合算法分析和数学模型等,通过计算机科学体系基础知识和问题分析解决方法的学习,培养学生的编程能力,进而培养学生的计算思维能力。
Bloom按照人的认知层次将学习目标由低到高逐渐划分为记忆、理解、应用、分析、评估和创新6个层次[2]。在教学过程中,学生对知识的理解、问题的分析解决都是呈现螺旋式上升。在高校教学改革的新形势下,结合信息化教学平台,运用混合式教学新模式也需要符合科学的认知规律。
1 信息化教学平台
程序设计课程主要采用蓝墨云班课和OJ平台两种信息化平台来进行各个教学环节的教学辅助工作。
(1)蓝墨云班课——移动设备教学平台
“蓝墨云班课”是蓝墨科技推出的一款移动教学助手APP,是利用移动智能设备开展课堂内外即时反馈互动教学的云服务平台[3]。该平台为教师提供课堂管理、教学活动开展、学习情况跟踪、教学评价等功能,为学生提供课程订阅、消息提醒、个性化学习资源、讨论交流等功能。移动式教学平台与非移动式教学平台有很大的不同,前者不仅可以避免非移动式教学地理位置的限制,而且让学生的手机变成学习工具,帮助学生改善学习动机、调动学习积极性、获得适应新时代的学习方法,移动式教学平台是传统教学方式的有利补充。
(2)OJ平台——程序自动评测平台
OJ平台全称Online Judge平台,最初在程序竞赛中用来评价参赛选手的程序正确性与时空效率[4],现已在程序设计教学过程中普遍采用。OJ平台能够对学生提交的程序源代码进行编译和执行,并通过预先设定的测试数据來检验源代码的正确性和完整性。通过OJ平台有助于学生理论知识的掌握与实践能力的提高,并注重学生实际动手能力的积累和过程考核。OJ平台中有大量的题库,题目有易有难,有单一知识和综合知识的应用,有基础知识和大赛培训的区分,有利于学生循序渐进的掌握知识,实现因材施教的个性化培养,同时,通过OJ排行榜获取类似游戏闯关成功的成就感,还可以激发学生学习的主动性、创新性与竞争性。
2 混合式教学设计
混合式教学是一种基于计算机网络环境的新型教学模式,是将传统教学方式的优势和信息化、网络化教学优势结合起来,充分发挥教师引导、启发、监控教学过程的主导作用,同时强调学生作为学习过程主体的主动性、积极性与创造性[5]。图1为程序设计课程混合式教学设计实施图。
2.1 教学过程设计
教学过程设计如图2所示,设计过程以螺旋式教学为主线。
2.1.1 教学目标和教学内容的设置
程序设计课程的教学内容根据教学目标分为三个阶段。
(1)初级阶段关注学生编程技巧的入门,主要让学生了解程序构成的逻辑和程序执行的三大控制结构。该阶段的目标是通过具体的编程语言,掌握构造问题求解的关键步骤,使学生具有初步程序设计的能力。
(2)中级阶段关注学生编程技巧的拓展,主要让学生掌握各类数据类型的存储和运算、复杂数据类型(如数组、结构体)的表示及应用、一二级指针的使用。该阶段的目标是实现学生在计算表达、数据组织和程序灵活性等方面程序设计能力的提高。
(3)高级阶段从程序框架的构建入手,进行程序组织方法的技巧拓展,主要关注函数、文件以及算法设计入门。该阶段的目标是让学生建立起程序设计的总体思想,通过设计算法来解决实际问题,具备分析和解决问题的能力。
三个阶段的教学目标和教学内容层层递进。教学目标的设定遵循Bloom认知规律,随着对教学内容的掌握,学生的编程能力和解决问题能力成螺旋上升的态势。
2.1.2 教学项目的设计
程序设计教学项目的设计采用螺旋式,分为“螺过程”和“旋过程”。“螺过程”注重学生基础知识的掌握,“螺”是相关子项目中知识点的叠加部分,“旋”是相关子项目中知识点的延伸,“旋过程”建立在“螺过程”的基础上,注重学生分析和解决能力的提升[6]。教学项目涉及的知识面深度要螺旋上升,深度体现在难度上;知识面宽度也要螺旋上升,宽度体现在解决问题所涉及到的知识点的数量。教学项目深度和宽度的螺旋上升是伴随着解决思路和解决效率的螺旋上升而上升的。
例如与二进制转换相关的学习可以设计成螺旋式教学项目,从二进制的表示阶段开始,逐步经历二进制与其它进制转换的数学计算、理解二进制在内存中的存储方法、采用循环结构实现二进制转换、使用位运算符实现二进制转换、采用数组实现二进制转换和使用递归函数实现二进制转换。此项目遵循基于同一问题但解题方案和解题思路呈螺旋上升的设计过程。素数的相关知识也可以设计成一个螺旋式教学项目,从使用单循环来实现单个素数的判断开始,逐步经历通过双重循环实现多个素数的输出,使用数组实现筛选法求素数来提高效率,最后通过素数判断函数来实现哥德巴赫猜想。此项目是以素数求解为基础,但在功能扩展上实现螺旋上升的过程。
2.1.3 教学环节的实施
程序设计教学环节的实施分为三个阶段:准备阶段、实践阶段与评估阶段,并产生一种有序的递进关系。
(1)准备阶段,教师通过对教学内容透彻地领会和前期评估阶段中得到的教学反馈,总结出知识点学前的预备知识,设计自然引出知识点的方法,构建知识点的应用实例,录制相应的教学视频等。只有做好充足的准备工作,设计的教学项目才能丰富有趣,从而调动学生学习的积极性。准备阶段中,教师的引导起重要作用,针对相关的知识点,重要的概念和方法需要反复地、多层次地以各种不同的方式展现,主要通过对知识的系统化和对各种问题的综合和分析,使学生既掌握知识又掌握应用知识点的方法。
(2)实践阶段,教师针对程序设计课程实践性强的特点,不仅强调理论知识在理解层上的掌握,而且强调在实际应用层上的编程实现,将上机实践和课程设计结合,提高学生的编程能力和解决问题能力。实践阶段逐渐以教师为主体过渡到以学生为主体。此阶段是学生对编程工具和程序调试方法熟练掌握的重要阶段,是培养学生独立分析和解决问题的关键时期。
(3)评估阶段,教师可以全面收集反馈信息,了解学生对教学项目的吸收和掌握情况,全面增强信息反馈教学的指导力度,发现问题及时解决,从而对教学项目进行进一步加工设计,更新和完善准备阶段和实践阶段的工作。
学生对同一相关知识的理解随着教学环节的实施,以螺旋上升的形式逐步加深,从而逐渐形成系统知识和思维方式的有序[7]。
2.2 课上教学设计
程序设计课程的课上教学设计主要采用BOPPPS教学模型,借鉴翻转课堂中的讨论式教学模式,并配合多种教学方法来开展教学活动。
BOPPPS教学模型是北美高校提出的一种有效的课堂教学设计模式,将一节课堂教学活动划分为引入(Bridge-in)、目标(Objective)、预评价(Pre-assessment)、参与式学习(Participatory learning)、后评价(Post-assessment)和小结(Summary)6个阶段,如图3所示。该模型强调学生参与到教师的教学活动中,是一种注重教学互动和反思的闭环反馈教学模式,有利于促进师生交流互动,充分发挥和调动学生学习的主动性,体现“学生为主体、教师为主导”的教育理念[8]。将BOPPPS教学模型引入到程序设计教学中,是提高学生学习积极性的重要途径。
借助于信息化教学平台,教师可以顺序地开展课堂BOPPPS教学模型中的各项活动。教师不仅可以通过蓝墨云班课的当堂测试、头脑风暴、小组讨论等开展教学活动,还可以将OJ平台上的题目作为任务驱动项目和案例式教学中的实例,并结合案例驱动教学法、启发式教学法和翻转课堂中的讨论式教学法开展参与式教学,丰富课堂教学形式并获取课堂反馈,激发学生的学习兴趣,提高学生的课堂参与度。
2.3 课下教学设计
在教學环节的准备阶段,教师把课件、微视频、图文资料等教学资源通过蓝墨云班课的云平台、网络教学平台和QQ课程群空间进行资源分享。通过蓝墨云班课的“及时推送提醒”功能,及时提醒并督促学生按照通知利用学习资源做好预习、复习、作业、讨论等工作,并通过答疑讨论功能随时随地建立起教师和学生的联系,开展互动交流,实现个性化辅导。
在教学环节的实践阶段和评估阶段,通过OJ平台可以实现学生自主学习。课前,学生可以通过OJ平台进行自我测试和练习,老师通过OJ平台可以检验学生前期知识点的掌握程度;课后,学生可以通过OJ平台进行作业提交、考试测试,进行查缺补漏,检验自己所学知识是否扎实,是否能够将理论知识应用于实践,并对自己分析和解决问题的能力加以检验。教师通过OJ平台的学生做题情况统计功能以及蓝墨云班课的学习记录跟踪功能,从多角度多渠道获取教学反馈,不仅可以对学生做出合理的教学评价,而且可以对自己的教学效果进行评价,有利于进一步开展科学的教学优化工作。
3 教学设计中应注意的问题
(1)蓝墨云班课教学资源的合理选取和安排、OJ平台章节题目的选取,都需要符合学生的认知规律。
(2)设计教学项目不仅要符合学生的认知规律,而且需要预留较强的扩展空间,使学生通过不断地思考来探索新引入项目的求解过程,从而提高学生学习的主动性和创造性[9]。教学项目的开展,还要注重与其它教学手段、教学方法和教学环节的协调。
(3)教师要认清并设计自己在各个教学环节中扮演的角色。在准备阶段,教师扮演教授者和引导者的角色,让学生明确需要掌握的知识点、方法点和能力点,并引导学生寻求分析和解决问题的方法;在实践阶段,教师主要扮演组织者和顾问的角色,帮助学生解决在知识掌握和运用过程中遇到的问题;在评估阶段,老师充当评估者角色,帮助学生对教学项目的完成情况进行评价和总结。
4 结 语
实践证明,将BOPPPS模型引入程序设计课程的课堂教学环节,并借助蓝墨云班课和OJ平台等信息化教学平台进行教学辅助工作,开展线上和线下以及多种教学方法相结合的混合式教学,有利于促进师生交流互动、提高学生自主学习和分析解决问题的能力、提高学生的实践和应用能力,从而达到程序设计课程的教学目标——提高教学质量和教学效果。
参考文献:
[1] 周世平, 童向荣, 卢云宏. 程序设计基础课程改革方案探讨[J]. 计算机教育, 2015(3): 84-86.
[2] 王之元, 易晓东, 李姗姗, 等. 面向MOOC的程序设计语言课程教学设计[J]. 计算机教育, 2014(2): 55-58.
[3] 杨艳雯, 王小根, 陶鑫. 基于蓝墨云班课的混合式学习研究与设计[J].中国信息技术教育, 2016(12): 106-109.
[4] 范立新, 黄龙军. 利用OJ平台进行探究式教学模式的探索[J]. 教育教学论坛, 2014(15): 216-217.
[5] 何克抗. 从Blending Learning看教育技术理论的新发展(上)[J]. 电化教育研究, 2004(3): 1-6.
[6] 李永明. 程序设计课程“螺旋式”教学法探索与实践[J]. 职业教育研究, 2011(9): 72-74.
[7] 郭晓霞. 螺旋式教学法述略[J]. 山西教育(管理), 1999(增刊): 47.
[8] 穆华, 李春. BOPPPS模型及其在研究型教学中的应用探究[J]. 陕西教育(高教), 2015(10): 27-30.
[9] 杨朝霞. 以螺旋式案例实施面向对象程序设计教学的研究[J]. 计算机教育, 2010(5): 116-120.
(编辑:史志伟)