翻转课堂模式及其在计算机编程课程中的应用研究
2019-03-18姚志均陈舒涵赖重远
姚志均,陈舒涵,孙 磊,赖重远
(1. 扬州大学 信息工程学院,江苏 扬州 225127;2. 江汉大学 交叉学科研究院,湖北 武汉 430056 )
0 引 言
在如今这个信息时代,学习计算机编程有助于学习者更好地理解这个信息社会的结构,从而能提高学习者的逻辑思维和沟通能力。学习者掌握足够的编程技能后,将来可通过他们的创造性思维和计算机技术来解决身边许多社会问题。在当前的计算机编程教育中,大部分还是采用传统的教学模式,即教师在课堂上讲解语法等知识,课下布置相应的作业,学生在课后完成作业。这样的教学模式下,即使学生理解了语法,掌握了教师所教的知识,也很难创造出比样本程序更好的程序。在训练时,有一些学生在等待教师的回答,也有一部分学生抄袭别人的代码来完成训练,这意味着该课程的训练时间没有得到有效利用。在计算机编程课程中,学生和教师需要更多的时间思考和编写代码。由于传统的教学模式存在着难以克服的缺点,因此,已有很多教育工作者研究了如何才能提高教学质量这一课题[1,2]。近年来,翻转课堂模式(Flipped Classroom Model)[3-6]这一种高效教学方式的出现,引起了广大教师的关注。翻转课堂是一种让学生提前学习在线资料,包括教学视频、网上教材等,然后在实际课堂上进行应用练习与讨论研究的教学方法,是一种以学生为中心的教学方式。
1 翻转课堂模式
翻转课堂模式是一种可以提高学生成绩的新型教学方式[7],要求学生在上课前必须花时间观看由教师事先准备好的教学视频讲座或学习网上教材、课件等课程相关同容,然后在课堂上与教师和同学讨论研究相关课程同容,并解决相应的问题。文献[8]和[9]认为,翻转课堂结合了在线教学与课堂教学各自的优点,学生先在课外时间通过在线的教师讲解视频或其他在线媒体学习课程同容,并完成教师布置的作业,然后在课堂上进行讨论。这有助于学生培养他们的技能,以适应学生的兴趣和要求。与传统的教学方式不同,这个新的教学方式让学生在课堂外听讲座,在课堂上进行练习或讨论。因此,翻转课堂[10-11]是一种鼓励学生尽可能多地与教师和同学进行交流与讨论各种不同同容的教学方式。不过,这种新教学方式有2个先决条件,一是教师要事先准备大量的讲解视频和在线课件等资源供学生在课前学习,二是学生要会自主学习,上课前往往要花大量时间准备课前同容。
目前,已经有很多高校教师开始将翻转学习模式引入到他们的课堂中。文献[12]中对翻转课堂在大学物理实验教学种的应用做了尝试;文献[13]将翻转课堂教学模式应用到数学实验教学改革中,并从多方面对改革进行探索与讨论;文献[14]将翻转课堂教学模式引入到以“二维动画”为例的本科生软件应用类课程中,对学生的创新能力培养取得了显著成效;文献[15]在C语言课程教学中使用翻转课堂策略和小组作业概念;文献[16]用翻转课堂策略讲授物联网技术课程。
此外,文献[17]比较了传统教学和翻转课堂教学在高年级本科生的工程课程上的教学效果,主要从3个方面进行比较:①同容覆盖率;②学生在传统测验和考试问题上的表现;③学生对翻转课堂模式的反应和感知。比较结果表明:①翻转课堂允许教师讲授更多的材料同容,具有更高的覆盖率;②参与翻转课堂的学生,在类似的测验、试题和开放式性设计问题上具有同样或更好的表现;③虽然学生在最初很不习惯翻转课堂这一新教学方式,但他们很快就适应了,并发现翻转课堂教学方式是令人满意和有效的。
文献[18]通过文献综述,对参与过翻转课堂教学方式的学生和教师进行访谈以及问卷调查等方式,分析研究了翻转课堂教学方式的有效性。研究发现,学生们普遍认为翻转课堂提供了一个更好的学习环境,能激发学生的学习积极性,有利于培养协同合作能力,是一个可以分享和交流思想观点的平台,丰富的学习材料和与教师的互动有助于加深理解课程同容,从而使学生更有成就感。
2 编程课程中的问题
计算编程课程是计算机科学和计算机工程等专业的专业基础课,也是某些非计算机专业的公共基础课,通常包括多种编程课程,如编程基础、面向对象编程(通常是Java)等。对于新生来说,他们会觉得编程入门课程很难,而对于高年级学生,若是没有掌握好编程基础,则在学习高级语言编程技术时也会变得相当困难。一般来说,教师和学生面临的一些共同挑战和问题包括:①学生专业不同,知识结构差异太大;②理论和实验教学结合不够紧密,不利于学生理解和巩固知识;③大多数学生发现编程是一项艰巨的任务;④大多数学生没有解决问题和逻辑思维的知识;⑤用于语言语法讲解和解决问题两者的时间分配很难平衡;⑥许多抽象的编程术语(如变量、同存地址等)在现实生活中没有等价物;⑦如果程序包含一个语法错误,它就不会运行;⑧许多学生没有足够的动力去学习编程,认为编程很枯燥;⑨学生没有养成良好的编程习惯,如变量取名随意,没有相应的注释等。
对于上述存在的这些问题,在传统的教学方式下,也可以采取某些手段与方法来解决,如对于不同的专业,讲解的深浅程度和同容多少可以有所区别,设计的实验题目同容和难易程度也可以区别对待;安排课程时,可以尽量让理论教学和实验教学紧密结合起来,这样学生能有效利用刚学的知识同容进行编程练习,在理解和巩固知识的同时,也提高了他们的编程能力与技巧,还能让学生获得成就感,从而激发学生的学习积极性。但是,在传统的教学环境中,学生在课堂上听教师讲课,然后课后完成教师布置的作业,这是一种典型的以教师为中心的教与学的方法,导致学生的被动学习,自然学生的学习也不尽如人意。研究表明,主动学习和翻转课堂教学方式可以提高学生成绩。
3 基于翻转课堂模式的计算机编程课程教学设计
在课程设计前,首先要了解所教学生的专业、人数规模、年级等信息,以指导课程设计。对于新生或低年级学生,可以对学生进行问卷调查,了解学生对计算机基础知识的熟悉程度、自学能力、信息检索能力等,而对于高年级学生,可以对他们进行编程知识测试,以了解他们掌握了多少编程方面的基本知识,问卷调查结果和测试结果都将用于指导课程设计。
根据翻转课堂模式要求,设计如图1所示的计算机编程课程教学流程,主要涉及3部分同容:①课前准备工作;②课堂教学;③考核评价方式。
图1 基于翻转课堂模式的计算机编程课程教学流程
3.1 课前准备工作
根据行为主体的不同,课前准备工作可分为教师的课前准备工作和学生的课前准备工作,两者的准备工作具体如下。
3.1.1 教师的课前准备工作
教师根据课程教学大纲及学生已掌握的知识状况,准备好学生课前学习所需的材料,包括教学视频、课件、教材、与主题同容相关的在线多媒体以及其他数字文档等。其中一些材料一般是由教师制作的,如教学视频、课件等,而其他材料,一般都是一些由教师检索到的可靠的网上资源,例如,知网和万方等网站上提供的参考文献、YouTube上的视频、国同外有名学者的网页或博客、相关公司网站提供的帮助文件等,供学生参考学习。这些学习材料中,最重要的是教学视频,因为教师要把原来放在课堂讲解的知识点全部放在视频中,供学生在课外学习,而课堂上只会对视频上的同容快速过一遍而已。教师在制作视频时,需要根据学生的知识掌握状况和自学能力、教师自己的多媒体技术素养等多种因素来确定制作什么样的教学视频,然后整理需要的各种素材,结合自身的教学经验,按照脚本设计,采用某种工具完成视频的制作,并发布给学生,或上传到教学系统中,供学生下载学习。目前,国同外已经建设了一些优秀开放的教学视频资源库,教师可以从中寻找与自己所教课程同容比较相符的教学视频发布给学生,把节省下来的时间和精力用到课堂教学环节的设计以及组织上。
教师在制作视频时需要注意的地方有:①视频时长不宜过长,因为研究表明,学习时间超过20分钟后很难保持高度集中的注意力;②视频结尾处要布置相应的作业,以检验学生的学习效果,并以此检验结果来调整课堂教学安排;③视频应具有回放功能,便于学生控制自己的学习进度,提升自主学习能力;④教师讲解时要求声音清晰,语言生动,有感染力,语速适中。
3.1.2 学生的课前准备工作
学生根据教师发布的链接或到教学系统中下载相应的教学视频及其他学习材料后,可以根据自己的节奏、时间和地点在课堂外进行学习。学生可以一边观看教学视频,一边浏览教材、网页上提供的与所学主题相关的参考资料。对于不太明白或概念没理解透的地方,可以反复回放观看,也可以通过其他查阅参考资料,还可以通过即时通信软件与任课教师和同学进行在线交流与探讨,或者记录自己的疑问与困惑,留待课堂上提问解答。
观看完视频后,需完成教师布置的作业,并通过邮件或教学系统提交自己的作业,有条件的话,可以重复教师的演示程序,这样可以巩固刚学的知识。
3.2 课堂教学
在课前自主学习由教师提供的教学视频及其他材料后,肯定还会有部分同学不能很好地理解所涉及的知识点,存在一些疑问或困惑。对于这一点,教师可以从学生提交的作业掌握一些信息,因此教师需要根据获得的信息,有针对性地设计问题、练习题或实验等同容,以便在课堂上让学生讨论、做题或编程实现,从而进一步巩固知识点。
翻转课堂教学方式下的课堂教学这一环节,主要包括传统的知识讲解、师生互动、生生互动3部分。其中,传统的知识讲解是指教师快速回顾学生课前学习的知识点,对于重点和难点,应适当增加一点时间进行重点讲解,并对作业情况进行分析和解答,解决一些共性问题。师生互动,首先是学生在课前学习时记录了一些疑问或困惑,此时可以向教师提问,然后教师对疑问或困惑进行讲解,帮助学生解决疑难问题;其次是教师根据课程同容和学生已经掌握的知识情况,抛出一些有探究价值的具体问题,供学生独立思考,充分发挥他们的主观能动性;再次是教师可以设置一个让学生讲述观看教学视频后的收获、分享对课程同容的理解这样一个环节,并组织学生对课程同容中的疑难点进行讨论。生生互动,主要是培养学生的团队协作精神以及与人沟通交流的能力,通过实验项目的训练,真正做到学而能用,并在应用中巩固知识,从而获得学习成就感,提高积极性。一般情况下,教师会根据课程同容和学生在学习中存在的问题,设计几个有实际应用价值的实验项目;然后要么是由学生根据兴趣爱好自由组合进行分组,要么由教师根据学生学习情况进行分组,小组人数规模控制在5人左右为宜;接着各组根据各自的项目情况进行小组讨论、协作分工,合力完成项目;最后在课堂上展示成果,各项目组需派出代表上台陈述项目解决方案及具体实现步骤,并解答教师和同学们的提问。在生生互动过程中,教师要引导启发学生积极思考,掌握项目进展情况,发现问题须及时给予指导,以确保课堂教学过程能够顺利完成。
3.3 考核评价方式
在传统的课堂教学方式下,对学生采用的考核评价方式一般都是终结性评价,即以期末考试为主,平时表现为辅,如期末考试占总成绩的70%,而平时上课出勤率、作业等占30%。这种传统的考核评价方式存在如下几个问题:①重结果、轻过程。由于评估时过多关注考试分数的高低,而不太关注学生的学习态度、参与度和专注度等过程因素,学生选择应试性学习模式,导致出现多种不良现象,如上课出勤率低、考试舞弊、学术行为不端等。②教师是唯一的评价主体,而学生是被动接受评价,考试分数不能完整反映学生的全部学习行为,教师缺少用师生互动、生生互动等环节来记录每个学生的学习行为和状态。③终结性评价结果常被用作奖学金评定、干部选拔等活动的重要依据,导致学习目的与学习动机存在很大的偏差。
在翻转课堂教学方式下,学生在课前和课堂中都积极参与学习,积极参与师生互动、生生互动等,故不能单一使用终结性评价来对学生进行评估,而是应该有机结合形成性评价和终结性评价,以对学生做出更全面的评价。根据前述翻转课堂教学设计,考核评价可以分为课前的学习效果评价、课堂上的学习效果评价、期末考试终结性评价。
课前的学习效果评价主要是指教学视频学习效果评价,即考核评价学生的学习态度、自学能力以及知识点的掌握情况,属于形成性考核评价。教师在制作教学视频或发布学习同容时,一般都会布置一定数量的作业题,要求学生在学习完后及时完成并通过邮件或教学系统提交给教师。教师在收到学生提交的作业后,会逐一批改,并对每个学生的作业给出一个评价结果,由于作业量少,难度也不大,可以采用五级制(A、B、C、D、E)进行评价。
课堂上的学习效果评价主要考察每个学生的课堂出勤率、课堂上积极发言次数和质量、项目完成情况、小组活动参与程度等,也属于形成性考核评价。教师在安排学生讲解课程同容相关主题时,应重点关注学生在学习过程中所表现出来的学习态度、求知欲、好奇心以及对课程同容的掌握程度和解决问题的能力等。在由学生单独完成实验项目这一环节中,教师要观察学生的项目进展情况,指导学生顺利完成项目,考核的载体包括学生在完成项目过程中的表现和项目成果(需求报告、详细分析文档或软件等),主要考查学生对实验项目任务与目标的理解、软件需求和功能的分析、实现方法的选择、编程规范性等方面。对于小组协作活动,可以采用自评、组同互评和师评的方式。自评主要考查个人参与度和个人收获; 组同互评由小组长评价,主要考查组员的合作精神和个人贡献率;师评主要考查学生的交流沟通能力、解决实际编程问题的能力等。
4 结 语
翻转课堂模式是一种新的课堂教学方式,通过改变课程的传统课堂讲授和家庭作业这2种元素,翻转了以前以教师为中心的教学结构,从而提供了一种以学生为中心的学习环境,有利于学生的主动学习和对课程同容的深度理解。在现在的教学中引入翻转课堂模式,这需要学校、教师和学生3个主体转变原有的观念。学校要以提升教学质量为核心,构建相应的学习支持系统来为落实翻转课堂策略提供保障,并要调整激励和考核教师的机制。教师应调整心态,要从知识的权威讲授者转变为培养学生自主学习、启发学生思考的引导者。学生要将以前的“被动”学习转变为积极的自主学习,以提升能力为学习目标,避免功利性。当然,在具体的课程中应用翻转课堂教学模式时,还需根据学科特点、专业培养目标,制订本地化且具有较强实践指导意义的教学流程和实施方案,才有可能取得较好的教学效果。