华南师范大学软件学院 潘家辉 曾碧卿
在高等教育改革中,课堂教学是“学生生存与发展的重要方式”。软件工程作为一门交叉性的应用型专业,注重培养学生的实际操作与思维创新能力,让学生在工程实践和项目开发中体会和掌握软件工程的最新技术和开发思想。因此,软件工程的课堂教学非常适合采取项目驱动式的教学方法,强化实训,强调创新,提高学生的软件开发实践能力。而最近几年兴起的“翻转课堂” (Flipped Learning)正是有效实施项目驱动式教学法的教学模式。与传统教学不同,“翻转课堂”让学生在课下自主地根据学习资源学习新知识,而在课上完成体系的构建以及知识的内化和固化。由此可见,“翻转课堂”恰好是“传统教学”的颠倒。笔者所在教学团队经过将近2年的教学实践,在软件工程专业的课程教学中采用“翻转课堂”的思想,将软件工程专业的教学实现从以“教”为中心,转变到以“学”为中心,研究、探索与实践软件工程专业新的教学模式。现在,本人总结了关于翻转课堂下软件工程专业的课程教学的一些经验,与同行共勉。
为了提高学生综合运用所学专业知识分析、解决实际问题的能力,软件工程专业的课堂教学一般采用以项目为导向的教学。我们尝试把项目驱动融入到翻转课堂中,由具有软件工程实践经验的教师作为项目经理安排一个完整具体的软件开发任务作为翻转课堂的教学活动,让学生在有意义的任务完成过程中更好地掌握工业界最新的技术。从而在项目实践的同时进行知识建构和技能训练。具体分为以下5 个步骤:
(1)案例导入。项目驱动教学的第一步是“案例导入”,即老师以事先准备的工程案例为教学材料,通过设定现实中问题或展示一个具体项目等形式将学生引入到教学内容的情景中。例如,在《数据结构与算法》的“最短路径算法及应用”课堂教学中,以城市公路网的生活案例,给学生都提一个本课相关的路径规划问题,让学生对这个知识点的应用有一个感性的认识。在该阶段,教师主要工作是引导学生带着具体的问题在课下进行概念探究的自主学习。
(2)概念探究。传统课堂中,概念学习主要依赖于教师的课上讲解,但由于学生的差异性和时间的有限性,学生对基本概念的学习极度依赖于教师的教学进度。在翻转课堂中,基本概念的学习是学生在课下通过教师提供的教学资源自主完成的,他们可以根据自身的学习特点和时间来自由掌控。对于复杂的概念可以反复学习、深入思考,遇到疑难知识点,可以与同学们一起讨论交流。
(3)体系构建。“体系构建”是指学生在概念探究的基础上对相关的概念及知识建立相互间的联系,利用我们提供的知识地图和思维导图实现知识点的体系化。为了帮助学生强化知识的理解,我们在概念探究阶段为学生提供知识地图和思维导图等拓展教学资源,让学生以较为充足的时间进行意义建构。对于学生在建构过程中遇到的问题,一方面可以通过学者网的在线交流平台进行提问,另一方面可以在课上进行开放式讨论。
(4)知识内化。在前面阶段的基础上,学生需要对自学的知识进行更高阶的迁移与应用,从而掌握解决问题的能力,这样的能力一般需要在知识内化阶段获得。在翻转课堂的理论课堂中,我们会围绕着课前自学布置的问题,组织课堂汇报或答辩。在此过程中,学生是课堂讨论的主体,老师起到一个引导和管理的作用,对全体学生的共性问题,教师可以进行针对性讲解。
(5)知识固化(项目开发)。在实验课堂中,以具体的项目任务为导向,与第一阶段“案例导入”相呼应,学生进行与知识点相关的软件开发实践,检查掌握情况,并完成知识扩展和应用扩展,固化学习效果。这一阶段也是培养学生合作意识和沟通能力的重要环节,而教师的任务是及时发现学生的问题,并予以纠正。例如,在《数据结构与算法》的“最短路径算法及应用”的实验课中,我们布置的任务是利用 Dijkstra 算法或Floyd 算法完成实例“华南师范大学南海校区景点导游图”小型系统。通过一个与学生相贴近的项目,要求学生在开发实践中自主完成知识点的应用,同时强化项目开发的能力。
在翻转课堂的实施过程中,如何建设丰富有效的课程资源并进行网上共享是一个关键问题。本教学团队的大部分课程已在科研协作平台——学者网(http://www.scholat.com/)以及华南师范大学南海校区网络硬盘(http:// nhwebdisk.scnu.edu.cn)进行了课程资源中心的初步建设,包括《C 语言程序设计》《面向对象程序设计》《数据结构与算法》《软件工程与UML》《软件需求》等软件工程专业的核心课程。我们的实践经验是把传统的课程网站建设成为“动态的立体个性化资源中心”,即具有资源形式立体化、资源特点个性化、资源建设动态化的学习平台。
学者网的课程网站提供了教学公告、教学资源、课程作业、互动交流、课程信息、学生管理、个人主页等模块功能。教师首先在课程网站的基础上添加基本的课程内容(例如课程简介、教学大纲等),然后根据教学的进度不断上传课程资源(如教学视频、课件、项目案例等)。为了保证学生课下学习的有效性,翻转课堂需要建立和提供访问途径丰富和展示形式多样的立体化学习资源。针对软件工程专业的特点,我们除了提供了网页形式的教学大纲、Word 形式的教案,PPT 形式的教学课件,视频形式的微课堂录像等常规资源,还提供项目工程案例、FAQ知识库、实践实验题、科技亮点等拓展资源。此外,针对部分涉及大量的抽象概念、晦涩难懂的模型及操作算法的课程(如《数据结构与算法》),通过提供思维导图和知识地图等拓展资源直观地呈现知识点的关联,从而促进高效学习的发生。
对于参与翻转课堂的每位学生,他们需要在学习开始之前,在学者网上注册帐号和加入课程,建立一份自己的学习档案。学习档案记录了学生在学习过程中的情况,包括实验提交的时间、互动交流的提问、登陆系统学习的情况等。在学者网上,教师可以随时跟踪学生的学习情况,分析不同班级或个人的特点,为学生提供丰富多样的学习资源,并根据学生的情况对课程资源做出相应的动态更新和调整。同时,在教学和应用的过程中,学生也将成为课程内容的建设者。因此,学生自始至终是整个学习过程的主导者,学生能自由选择学习时间、学习地点和学习伙伴,还可以定制自己的学习内容,定制自己的学习进度和学习方式。
我们将上述建设的共享资源与“翻转课堂”教学模式无缝对接,即把精品资源的内容呈现贯穿于“翻转课堂”的各个教学环节中。
首先,教师预先构建完整的“翻转课堂”学习支持体系,制作翻转课堂的学习资源,包括导学工程案例、微视频、网页、PPT 课件、以及知识地图等。其中,教师设置案例引入环节,通过一个具体的项目任务需求以及向学习者提出问题,引导学生思考。
其次,学生在课外利用学习支持体系提供多种形式的常规资源(教学大纲、课件、微课视频等),自主地根据自己的学习进度、认知风格选择知识点并开展学习,解决导读部分提出的问题,完成知识点的初步学习。教师可利用精品资源提供的知识地图和思维导图等拓展资源,帮助学生强化对知识的理解。另外,课程资源中心为学生提供了在线互动交流,从而为学生的知识内化提供全方位的学习支持。在理论课堂上,教师组织课堂汇报,鼓励学生之间相互提问和回答,并针对共性问题进行回答,并“画龙点睛”地进行知识点的总结,使学习者的学习能够真正地得到深化,实现知识内化。在实验课堂上,教师以具体的项目任务为导向,学生进行与知识点相关的软件开发实践,完成知识扩展和应用扩展,固化学习效果。在知识固化环节,课程资源中心还提供了课程实验库、配套试题库、项目实践任务以及个性化学习档案,便于学生学习结束之后自行检验其学习效果。
最后,教师开展阶段性评估测试。一方面,教师可以结合学生的日常学习档案对学生进行总结性评价;另一方面,实验中布置的项目工程将是学生在“做重学”中最好的检查载体。
翻转课堂的实质在于增加师生互动的环节,并提供学生自主学习的资源与环境。针对软件工程学科的特殊性,本教学团队把项目驱动融入到翻转课堂中,以一个项目任务贯彻于翻转课堂的教学中,并建议与之相适应的立体个性化资源,让项目驱动、翻转课堂、动态资源三者有机地结合在一起。我们相信,翻转课堂的思想已成为课堂教学改革的一个新的潮流。针对不同类别的学科,翻转课堂的内涵与外延还将在实践中不断发展完善,这为不同学科课堂教学的改革深化提供了一定的借鉴意义。
[1]栾好利,杨 政.“软件工程”项目教学改革方案研究[J].计算机教育,2009
[2]J.Strayer.The Effects of the Classroom Flip on the Learning Environment: A Comparison of Learning Activity in A Traditional Classroom and Flip Classroom that Used An Intelligent Tutoring System [D].Ohio State University,2007
[3]张渝江.翻转课堂变革[J].中国信息技术教育,2012
[4]张金磊,王 颖,张宝辉.翻转课堂教学模式研究[J].远程教育杂志,2012
[5]柯 瑜.独立学院计算机专业学生学习问题及对策初探[J].出国与就业(就业版),2011
[6]钟晓流,宋述强,焦丽珍.信息化环境中基于翻转课堂理念的教学设计研究[J].开放教育研究,2013
[7]曾明星,周清平,王晓波.软件工程专业“翻转课堂”云计算教学平台探讨[J].现代教育技术,2013