曾进(北京交通大学 交通运输学院,北京 100044)
《面向对象的程序设计》课程的翻转课堂教学模式设计研究
曾进
(北京交通大学 交通运输学院,北京 100044)
文章从学生学习《面向对象的程序设计》课程过程中的实际需求出发,分析了目前存在的教学问题和翻转课堂实现本身存在的一些问题,针对这些问题,对该课程的翻转课堂教学实现分解成三个阶段,在课前设计阶段上,采用moodle平台实现学生课前学习的功能,课上设计阶段采用对重点知识和共性问题集中解答、测试和讨论相结合的多元方式,在课后设计阶段要求继续完善展示成果和作业遗留问题。在试点教学实践中,提出了一些要注意的问题,并提出了相应的解决建议,为编程类课程实现翻转课堂教学提供理论与实践参考。
翻转课堂;教学模式;程序设计;moodle平台
电子商务专业的《面向对象的程序设计》授课对象是本科生,是一门有关计算机程序设计的专业基础课程,属专业主干必修课程。在以往的教学实践中发现,由于课程开设时间较早,一般在大学二年级的第一学期开设,有相当一部分学生的计算机基础较弱,编程语言只学过C语言,编程背景较少,在课堂讲授中发现学生理解编程知识较为吃力,在课堂上跟不上学习节奏,慢慢地就会失去了编程兴趣,虽然自己认为该课程很重要,但如果没有其他方面的帮助的话,如辅助学习工具的利用等,就会最终完全失去学习这门课的兴趣。另外相反的方面,也有一些学生计算机基础较好,理解能力强对编程兴趣很高,课堂上的内容和作业满足不了他们的学习需求,因而也就耽误了他们的求知乐趣。所以,有必要采用新的教学模式,解决目前产生的教学问题。随着大规模开放在线课程井喷式的发展[1],翻转课堂在教学领域应运而生,翻转课堂也称颠到课堂,通过对知识传授和知识内化的颠倒安排,改变了传统教学中的师生角色并对课堂时间的使用进行了重新规划,实现了对传统教学模式的革新,目前,翻转课堂在美国受到很多学校的欢迎[2]。但是也存在相关问题,如学生在学习视频教学中,感到指导性不足,没有像教师上课那样随时根据具体情况来调整自己的教学安排,另外,学生没有感到浓厚的学习的气场,容易走神或者被其他事情所干扰,不能全身心地投入。在学习过程中如果有问题不能马上提问,得靠自己反复琢磨,效率不够高等。当然,通过不断改进教学方式,翻转课堂总体上还是获得了比较成功的案例。杨刚等列出了国外翻转课堂模式的十大经典案例[3],但这些教学的设计模式和经典案例大多是根据国外的教学实践总结,与国内的实际教学还有很多教学环境和学生学情的差异。目前流行的开源教学平台采用Moodle平台较多[4],文章就《面向对象的程序设计》的翻转课堂展开研究,利用Moodle平台设计课程的互动教学平台,面对不同层次的学生,进行翻转课堂教学模式的设计,以满足教学需要和满足学生的学习需求。
(一)基于Moodle平台的《面向对象的程序设计》课程的课前设计
《面向对象的程序设计》课程在学习的过程中,难度是逐步加大的,从java的基础编程,到java的数据流编程和多线程与网络编程,其程序越来越大,涉及的语法知识越来越多,尤其像java类、对象、类的继承与多态、接口等概念理解和应用对于基础较差的学生感觉学习起来非常吃力,当前面的语法知识点如对象和接口等概念还没有完全掌握的情况下,又进入下一个新的更难懂的语法知识点,如:I/O流、多线程、网络通信等,这样基础差的学生越来越难以消化课堂知识。基础好的学生则需要加大程序的难度,增加更多的程序实践机会,实现更多的功能目标,进行更多更难的训练。另外,由于课时本身并不富裕,要讲解的内容自然偏多,老师一般让学生自己预习下一次课的内容。但枯燥的文字,晦涩难懂的语句让许多学生望而却步,看不懂,又没有合适你的辅助资源去参考,无从下手。久而久之,相当部分学生的预习效果不好,上课的实际收效也不太乐观。因此,需要建立开源的教学软件平台,如:moodle平台来实现课前预习、作业练习、提出问题,交流讨论等功能。文章从《面向对象的程序设计》的课程需要出发,以moodle平台为基础进行具体的课前设计,其步骤阶段实现如下:
1.上传教师的教学日历:首先通过moodle平台上传教师的教学日历,让学生登录后可以查看,明确了解每节课的内容和学时的安排;
2.设置课程的各章节内容和导学文档:在moodle平台课程中采用主题格式,课程的每个主题对应设计成课程的每个章节的内容,针对每个章节的上课内容进行设计导学文档,然后通过添加活动资源的方式上传到该主题下。学生能够明确每个章节主题的课上学习任务,应掌握的知识点、重点和难点;
3.上传课件和教学微视频以及记录提问:在moodle平台的每个章节主题下上传已经制作好的图文并茂的课件文档,让学生初步掌握知识点,上传该章节的知识点的讲解微视频,进一步让学生观看视频内容理解知识点,并要求学生通过记笔记的方式记录自己学习过程中遇到的问题,可以向老师发消息来提出问题,以便老师根据学生提出问题的总体情况进行课上集中答疑,并掌握学生学习过程中的学习困难,记录这些数据,分析其产生的内在原因,在以后的教学设计过程中加以注意。
4.设置讨论区:在moodle平台上的课程设置里面添加讨论区功能,让学生在遇到编程问题时,进行讨论,如:如何理解“java对象”这个概念?让学生在讨论区里进行发表意见和举例说明,让学生的思想进行互相碰撞,产生更多更好的理解思路,让基础差的学生能够马上理解其概念,而且学生的热烈讨论,也增加了大家学习java编程的兴趣。再设定一些激励机制就更能提高大家学习的热情。
5.设计作业练习:在moodle平台上上传针对性的作业练习,学生当完成视频观看后,可以进行作业训练,通过独立完成针对性作业,了解本部分内容的重点、知识点应用方法,明确了解个人对本部分学习内容的掌握情况,及时通过回看视频、查看教材、讨论区发问题帖交流等方式加深理解学习内容.在练习过程中将存在的疑问及时记录与标记,以便下一步在课堂上互动交流。
翻转课堂教学模式的课前学习活动是在学生自己掌握的宽松的环境下进行,学习节奏、学习时间均由学生自行安排,有利于提高学生的时间管理能力和自主学习能力.视频观看的速度、次数和观看内容均由学生根据个人实际情况决定,有更充足的时间消化吸收知识和思考问题。
(二)《面向对象的程序设计》课程的课上设计
课前设计要求学生根据教学日历和导学文档自行完成课件阅读、观看知识点视频讲座、教材阅读以及作业练习等工作,但在实践中发现学生的自学工作会受到很多因素的干扰影响,如:各种学校的社团工作、各种竞赛活动的参加、个人爱好和兴趣等都会影响自学工作的顺利进行。由于没有集中学习的气氛和环境,加上学生的个人时间管理能力和自我控制能力因人而异的,如果学生的时间管理能力、自控能力不够好,则会导致学生完不成课前设计的自学任务,达不到课前学习的效果,如java中的继承与多态、接口、多线程技术、网络编程等本身就较难掌握的知识点,如果没有课前很好的学习,那么下一步会直接影响课堂教学效果。因此,需要进一步考虑和解决这些实际问题。下面从以下几个层次方面进行翻转课堂的课上设计弥补课前设计带来的不足:
1.知识点层面:知识点中的重点和难点需要巩固和加强
在课前学习中,虽然学生能够注意到知识点中的重点和难点,但很难自己理解透彻,加上有的学生没有花多少时间进行课前学习,这需要老师在课堂上进行着重讲解以巩固知识点的掌握,其他次要的较容易的知识点则可以简单说明一下,因为学生已经通过课前学习理解和掌握了,讲解其他知识点的时间可以节约下来。对于重点和难点的加强是通过课上简单的测试完成,教师通过现场布置小测验题目,完成测试工作。这样可以获得学生对重点和难点的掌握的反馈情况。发现学生没有很好的掌握时,可以安排学生进行互相讨论,鼓励学生互相交流自己的意见,共同进步。同时,老师进行指导和解答一些学生回答不全面的问题,帮助学生更好地理解重要知识点的内涵。
2.问题层面:确定学生课前学习的共性问题和解决方法
学生课前在moodle平台上学习编程知识过程中,会遇到各种各样的问题,学生通过发消息的方式反馈给老师,老师在收集和整理问题的基础上,对问题进行分类、分层处理,一个问题是属于哪个类别的问题,是概念类的理解问题,还是语法点理解错误的问题,还是程序设计逻辑错误问题等,然后进行分层,是基础层次的问题,还是较高层次的问题等。了解学生提出的问题分布在哪些类别,哪些层面。对学生的学习问题状况分布进行掌握。
在对各类问题梳理后,提炼出共性的问题,进行课堂上集中解答,解决大部分学生的学习过程中的疑惑。同时,安排小测评,进行课堂上的学习效果检查工作。另外也可以安排学生之间的讨论,老师全程指导和答疑解惑,发挥领路人的作用,彻底解决好学生中的共性问题。对于非共性问题,老师可以通过消息的方式解答或者面谈答疑的方式进行解决。
3.作品成果展示层面:学生中较好的成果进行汇报分享和互评提高
在课前布置的作业练习中,作业完成的成果较好的学生可以在课堂上进行汇报,分享自己取得成果的经验,让其他学生能够了解方法,共同提高。展示的成果还可以包括小组作业,小组的大作业积累了群体的智慧和劳动,对于成绩突出的小组,可以给予课堂上展示的机会,让其他小组共同学习和进步。互评工作是在一些学生或小组汇报成果的过程中,学生之间,小组之间对成果汇报的工作进行质疑和评价,提出问题和改进建议,以便帮助学生和小组成员更好地提高成果水平。互评工作,老师可以组织和参与点评,对于成果中存在的问题和优点进行指出,帮助学生进一步成长。
学生通过课上的学习活动,达到掌握知识点中的重点与难点内容,对于存在的共性问题彻底领悟,扫除了学习中的障碍。在成果汇报中吸取其他学生较好的学习经验与方法,进一步提高自己的水平,同时看到了其他学生较好的成果,重新定位自己,找出自己的不足,激励自己迎头赶上。
(三)《面向对象的程序设计》课程的课下设计
学生的课下设计是课上设计的延续工作,这部分内容依然十分重要,当在课上指出的问题的成果作品,课下需要进一步完善。其他未汇报的学生和小组也应该根据自己在课上的心得体会,进一步改善自己的作品。然后所有改善的作品需要再次通过moodle平台上交,以便老师检查改善的效果,如果不够理想,需要老师再次给出批评指正意见,进一步完善作品。
课后学生仍然存在一些问题,可以通过moodle学习平台等方式继续提出问题,老师根据需要通过平台或者面谈进行解答。
在《面向对象的程序设计》课程的翻转课堂试点教学中发现了一些问题。
首先是学生在课前自己学习的过程中,由于自身的时间管理水平的原因和外在的工作干扰因素,导致学生未能很好地完成课前学习工作,为了克服这类问题,需要教师设定作业的时效性,必须在规定的时间内完成,这个功能可以通过moodle平台设定。
对于完成作业质量的检查,需要老师在学生作业提交结束后,尽快给出评价,指出问题,督促学生尽快完善,使得互动学习的过程连续,减少中断的时间长度。中断时间太长,学生的兴趣热情会淡化。
另外,学生的提问应该尽可能快速应答,但由于老师不可能有时间实时应答学生的问题,可以请助教关注并解答相关的学生学习中的问题。也可以让学生把问题放在讨论区,让其他学生回答,对于与回答问题多的学生给予一定的成绩加分,这个也可以通过moodle平台的互动评价设定“对该同学是否积极参与合作和讨论”进行评分,让学生进行评分。同时设定“回答问题的采用率”进行评分,采用率高的话,评价分数越高。对于共性问题,可以在课堂中进行一次集中解答。
在教学课件和视频教学中需要教师根据学生反映的问题进行不断调整,及时更新moodle平台上的课件内容和视频文件。
在作业方面,也应该根据学生做作业的效果进行调整作业设计题目,尽可能地针对学生存在的问题设计作业训练。以实践应用需要为前提进行设计。
在课上讨论中对于有些学生不够积极参与讨论的情况,老师应该课下询问原因,找到其不足之处,给予辅导,另外也可以通过moodle平台指派新的作业让学生训练,得到提高,弥补不足。
在小组作业中,有些学生可能会偷懒,为了解决这个问题,需要老师在小组作业指导时,要求组长分解工作时尽可能平衡,并限期完成,对于不能完成工作的学生,老师应该询问其原因,并指导帮助学生完成。翻转课堂由学生自主学习的时间增加很多,老师课堂上的讲解时间缩短,但老师承担了课下的课件更新,回答问题,提炼问题,解决学生学习中的惰性问题等。工作量总体上是增加了,学生的学习效果自然要优于传统教学。
基于翻转课堂的教学应用于编程类课程是一个创新的模式,学生学习的内容和时间都比传统的教学增加了,教师也需要根据学生反映的问题,利用计算机软件互动平台与学生进行答疑解惑,并不断更新教学内容,以帮助学生更好地完成学习任务。但翻转课堂也同时存在了一些新的问题,学习惰性问题、实时在线答疑问题、学习监督问题和学习动机激励手段问题等都需要老师和学生共同去设计解决方法和完善方案。
[1]姜蔺,韩锡斌,程建钢.MOOCs学习者特征及学习效果分析研究[J].中国电化教育,2013(11):54-59.
[2]张金磊,王颖,张宝辉.翻转课堂教学模式研究[J].远程教育杂志,2012(4):46-51.
[3]Yang Gang,Yang W en-zheng,Chen Li.Ten“flipped class”w onderful case[J].Information Technology Education in Primary a nd Secondary Schools,2012(3):11-13.
[4]张雪云,马志强.国内Moodle平台研究综述[J].开放教育研究,2007,13(6):96-99.
In this paper,we analyzed the existing problems in teaching and the realization of the flipped classroom based on the actual needs of students in the course of learning"object oriented programming".Aiming at these problems,the flipped classroom is divided into three phases.In the pre-design phase of class,we use Moodle platform to achieve the function of student learning before class.In the class design stage,combining with the test and the discussion in class,the key knowledge and common problems are solved.At the end of the design phase,it is required to continue to improve the presenting results and solve the problems left by the homework.In the teaching practice,we proposed some questions that should be paid attention to,and put forward the corresponding solutions.The paper provided theoretical and practical reference for the realization of the flipped classroom teaching of programming courses.
flipped classroom;teaching mode;program design;moodle platform
G642
A
2096-000X(2016)17-0088-03
曾进,北京交通大学副教授、硕士生导师,北京交通大学“优秀主讲教师”。教育部专家库成员。主要研究领域:交通运输信息化管理、电子商务、运输经济。