基于Moodle的程序开发类课程MOOC环境构建*
——以《面向对象程序设计》课程为例
2018-08-01唐子豪张锐军
唐子豪,佟 瑞,张锐军
(西安理工大学 经济与管理学院,陕西 西安710048)
一、引言
MOOC在近年来发展极为迅速,受到了国内外教育界的广泛关注,开放性、便捷性、个性化是MOOC的三大特点,它给教育界带来不容忽视的推动作用,使中国高等教育从单纯面授模式转向在线模式或混合模式成为了不可逆转的趋势[1]。当前我国高教改革稳步推进,不少高校结合当下信息时代对教育的模式和方法做了不同程度的改进,着力打造优秀的MOOC平台,如清华大学的“学堂在线”、阿里巴巴与北京大学共同推出的“华文慕课”、高教社与网易联合推出的“中国大学MOOC”等,这对中国MOOC平台的长远发展做出了显著贡献。但与此同时,MOOC在高校的推广及使用过程中仍存在有以下问题:①网络环境对学生约束力较差,学生往往表现出兴趣度不足等问题;②网络课程与传统课堂结合不够紧密,两者仍存在亟待解决的冲突;③支付课程的开发、录制薪酬、维护等费用都特别高,不利于平台的可持续发展。
近年来,Moodle平台在网络课程开发领域取得了良好的效果[2]。Moodle具有较强的模块化功能区分,实施动态模块化管理,教师和学生的自主选择性强,兼容性、易用性好,在制作网络课程方面获得广泛应用。借助于Moodle开源、免费的突出特点,可以解决录制费用高、网络课程与传统课堂结合不够紧密等问题。本文以《面向对象程序设计》课程为例,为培养学生在信息化时代所应具备的知识灵活应用能力以及技术实践技能,将网络课程与传统课堂结合起来,借助Moodle的课程资源、任务、作业、讨论、Wiki等模块,实现对各类学生用户的权限控制,以达到更好的教学绩效。在此基础上进行的MOOC环境实践教学,为MOOC的推广及应用提供了可借鉴的经验。
二、教学环境分析
《面向对象程序设计》课程是计算机类专业的一门重要的专业课。迄今为止,面向对象程序语言各方面性能不断完善,具有简单易用、可移植性强、效率高等突出特点。而在传统的教学领域中,由于此课程涉及的知识面相对较广,理论和实践很难同步进行,理论教学的效果也因此得不到巩固和消化,会导致学生实践能力不强,技术技能不够熟练等问题。当今社会对IT行业人才的需求不断增长,学习和掌握计算机语言已成为人们的共识。为了更好地适应社会需求,对于传统教学模式的改革已经逐渐成为主流趋势。本文通过将实体课程渗透至MOOC环境当中,再以Moodle作为技术支持,在教学内容设计方面,注重增强学生的实践能力,并将软件开发实践中的重构、设计模式、合作编程引入该课程[3]。可以较好地适应当今社会对于IT行业人才的需求,同时提高学生的专业技能和综合素质。在进行教学任务设计之前,首先要对教学环境进行分析,一般分为以下三个部分:
1.前期教学分析
高校首先应查阅原有的教学目标及教学大纲,找出其中的不足之处,结合对学生的调研情况,向学生询问传统教学中存在的问题以及改进的方案。对这些信息进行采集归纳后,形成一份完整的修改意见。同时,教师需要密切关注当前行业技术的发展状况,优化和提取传统教学中的课程内容,以此来制定出新的课程体系。
2.资源库共享
丰富多样的教学资源是构建一个优秀教学平台的重要前提。传统教学中《面向对象程序设计》课程内容组织结构大都是系统化和结构化的,按照严格的章节来划分。而MOOC环境下的教学却没有标准化的教学内容,具有某种不确定性,这就要求教学资源需要达到一定的水平后再进行上传,给学生提供一个便捷、优质的资源共享平台[4]。
3.师生自主选择
MOOC给在线学习提供了许多模块,教师与学生在学习过程中一般不会将这些模块都用到。依据不同的学生群体,归纳出学生的学习动机、学习风格、学习能力等一般特征[5]。充分挖掘课程可能潜在的学生的知识能力和实用需求,强调突出学生的主体地位,师生结合教学需求自主对平台的功能进行选择,以适应网络教学灵活多变、推陈出新的特点。
在初步对教学环境分析后,本文以《面向对象程序设计》课程为例,在MOOC环境中对程序开发类课程构建教学任务设计的一般流程,促进任课教师教学观念的转变,加强教师对网络课程的设计与思考,引导学生自主学习,提高学生信息素养和计算机应用能力[6]。
三、教学任务设计
《面向对象程序设计》有着强类型的特点,在进行编译的过程中,基于类和对象的思想,要对其进行严格的检查。因此对学生的编程能力提出了更高要求,以获得知识应用的普适性、专业技术基础的夯实性,以及提高学生的实践能力。同时,鉴于学生在网络环境下学习自主性较差的问题,应当把提高学生网络学习兴趣、引导自主学习放在首位。
基于Moodle的MOOC环境构建,Moodle在其中扮演着“实现工具”的角色,用来进行课程内容的初始设计,最终与MOOC平台相结合,将学习过程呈现出来。因此,Moodle的教学任务设计是整个教学环节的关键步骤。网络教学资源是对教材的补充和深化,但其不能取代教材和课堂教学,教师和学生可以根据具体的教学要求和学习目标,将教材和网络教学资源相互结合,自主选择学习内容,并将其结构化为依托于平台之上的知识体系,基本框架如图1所示。
图1 MOOC环境构建结构框架图
1.教学内容设计
在本课程的传统教学实践中发现,学生在学习《面向对象程序设计》过程中,教师给学生灌输着较为抽象的模块化学习思想,而在具体实践当中,又要求学生建立基于类和包的“自底向上”的程序设计思想,造成学生学习困难。据此,结合Moodle进行教学内容设计有两个要点:一是重新确立课程结构,对原有的教学内容和教学框架做出科学合理的调整;二是制定课程目标,结合当今社会发展对于信息人才的需要,提升学生的应用编程能力和操作技能。根据教学计划实施网络课程教学,创建新的课程,设置课程开始和结束日期,将准备好的数字学习资源(如文本、图片、PPT、音频、视频等)上传到Moodle,供学生查看学习,如图2所示。同时发布课程通知,对教学内容进行管理,设计学习资源,开发发布微视频资源,对作业与测试进行管理,组织混合式学习活动,通过设置讨论区、Wiki协作等交互活动来指导学生交流讨论,实时跟进学生的学习状态并给出评价。利用平台大数据的汇总和分析,对学生进行过程性考核。
图2 课程设定界面图
《面向对象程序设计》课程知识点繁多,结构完整,具有较强的模块化特点。在网络平台中将课程大纲科学严谨地划分为具体的单元及知识点教学,并不是一件容易的事。参考目前网络已有的教学平台对于此类课程的大纲设置,以大部分课程教材的目录设置为依据,同时考虑到MOOC教学的特点及短视频的需要,设计出一系列相互衔接的教学单元,明确每一单元的考核内容和方法,将课程内容按照图3所示的安排进行划分。
图3 课程内容安排
2.教学模式构建
基于Moodle的MOOC环境构建是一个专业化、多元化、协作化的过程,它需要教师和不同的技术人员来共同实现。教学模式是对学习目标、教学内容、学习环境的进一步明确和细化,它能够体现教师和学生在教学中扮演了怎样的角色,同时也能深化到学生的日常学习之中,给学生带来潜移默化的影响。本文拟从以下三个方面来进行教学模式的选择及构建:
(1)微视频
微视频以其简短、高效的特点,已经成为当前主流的一种网络教学方式。它的制作方式有很多种,如课堂录像式、外景录制式、纸笔书写式、录屏式等[7]。由于编程类课程涉及大量PC端的操作以及PPT的放映等,因此采用录屏式的方式来进行制作。前期教师通过课下在电脑上演示要讲授的课程,此过程要用Bandicam软件进行录制。然后利用Bandicam的绘图和标注工具栏对录制的视频进行修缮,后期再使用Premiere等软件进行视频的编辑处理、添加字幕等。这样一来,节省了人力,也解决了录制费用的问题。但在教学微视频的整个制作过程中,尤其需要注意的一点是控制微视频的时长,因为在网络环境下,学生难以长时间保持注意力,一般网络微视频长度控制在5-15分钟为宜。
(2)项目驱动教学
通过设计和实施完整的项目来进行的教学活动被称为项目教学法,它的特点是将理论与实践相结合,锻炼学生的动手能力和实际应用能力,同时在具体项目中达到训练学生的小组协作和团队精神的目的,以此来提高学生解决实际问题的综合能力[8]。在对项目教学法进行深入研究的基础上,宏观课程上采用项目拓展,微观课堂采用项目递进驱动的方式同时进行。重点利用网络教学手段,提高教学效率,使得教学内容以一种便于学生理解的方式呈现出来。在MOOC环境中,采用现场编程的方式,使学生感受程序的调试过程,充分调动学生的积极性,同时用课件进行语法知识点的讲授。最后,将学生所作的程序在平台上进行展示,相互之间评判优劣,吸收优点,改进不足,引导学生进行代码优化。由这样一个螺旋式滚动向前的过程,自然地调动学生在MOOC环境中的参与,通过一个问题多种解决方法的扩展,有效开阔学生的思维。
(3)活动任务教学
任务型教学是以学生的心理需求为出发点,认为满足个体内部需要是学习的主要过程,这种教学模式注重突出教学的情意功能,能使学生在网络教学中确定一种归属感。采取任务驱动模式加强实验和课后的教学管理,在一定程度上能够解决学生在网络环境中自主性较差的问题,增加网络教学的约束力。众所周知,MOOC环境下的课程学习,需要列出详细的学习进度与计划,而依托于网络建立起的学习进度与计划,通常也都是时时更新的,学生若是不清楚自己的学习进展,则会产生迷茫心理,达不到良好的学习效果。据此,必须依靠合理的活动任务设计,来确保每位学生都能认真主动地完成各自的学习目标。在Moodle中主要涉及如下两种任务成果:①小组协作产品:在Wiki工具中,小组成员根据活动任务的设计,划分出不同的子任务,通过完成各自的子任务,并且对已成型的产品不断修缮,最终形成一份完整的作品。②个人作品:这类作品主要由个人完成。可以是作业、报告、测验、个人博客等形式[9]。学生通过丰富多样的形式完成各自的任务作品,再由教师进行反馈,提升学生学习的自主性。针对在学习过程中所遇到的问题,教师可以开设类似“编程中的常见问题”专题讨论区,方便师生之间共同交流与探讨。
3.反馈测评机制
程序开发类课程操作性强,且具有一定抽象性,采用传统教学中笔试的方法并不能很好地考核学生的学习水平,而且会导致很多学生用突击复习来应对期末考试,使得知识掌握不够牢固。而MOOC环境下的反馈测评机制能很好地规避这一缺点,它通常采用视频内小测验、课后测评、作业互评讨论等方式对学生的学习进度进行实时跟进,能起到巩固理解、加深记忆的作用。具体操作为每一教学单元或学习阶段结束后,在Moodle上设置作业、测验等考核学生的学习效果,考察学生课程知识的掌握情况。也可以设置闯关类的题目,在完成当前阶段的学习任务之后,才能进行下一阶段的学习内容,激发学生的学习兴趣。同时,在课程内容结束之后设置综合测验,对学生的整体学习效果进行评估。这种介于平台与学生之间的反馈测评机制,不但能深化学生对于自身学习的掌握情况,而且教师可以根据此机制对教学内容和进度进行灵活变更,以达到更优的教学效果。
四、在线学习评价
在线学习评价是教学质量管理的核心,由于网络教学环境下教师与学生产生了一定的时空距离,所以在线学习评价就在其中起着实时监测、管理的作用,在整个环节中是不可或缺的。在Moodle中具有评价功能的常用工具有三个:投票、互动评价以及电子学习档案评价。在不同的情境下,教师可以采取不同的工具来进行评价,以此来掌握学生的学习和反馈情况。对于投票的方式,主要是用来进行学习兴趣调查、教师教学满意度调查等,能够方便快捷地了解学生的想法,但适用面不广。而互动评价是一个专为评价而设计的活动模块,需要教师提前在Moodle中设置好评价规则,学生将作业提交后,先由平台对其进行评价,然后教师再据此给出点评,学生之间也可以互动进行打分,这种方式可以快速发现学生在作业中存在的共性问题,同时也能很好的调动学生参与的积极性,对学生之间交流思想提供了一个极好的环境[10]。
另外,电子学习档案评价是一种新型的评价方式。它指的是学生在Moodle上的一切活动记录,如学生登录次数、讨论交流的帖子数、学习峰值和学习时长等等,这些活动都会被Moodle的追踪记录功能详细地记录下来[9]。这样,教师就可以通过平台全方位地了解每位学生的学习情况,更为准确客观地给出评价。这种方式以大量学习数据为基础,能让教师直观地看到每位学生的具体学习情况,显然,这比传统教学的评价方式更具优势。
五、结束语
本文以《面向对象程序设计》课程为例,借助Moodle提出了在MOOC环境下进行教学内容设计的一般思路,凭借其开放性强、互动性好等特点,使得教学模式和方法都有了较大改善,能够获得师生的一致认可。同时,借助微视频、项目驱动教学、活动任务教学等模块,不仅能提高学生学习的主动性,也提升了学生在网络环境中的适应性。为教学质量的改善提供了保障,也为信息时代下的教育改革提供了新的思路。但同时也发现了一些问题,比如学生在网络平台中学习的自律性、时间安排,对教师提出的高要求,教学资源的合理选择等等,仍需要进一步研究。