基于MOOC的“软件工程”自主学习系统的设计与实现
2017-01-21余久久
余久久
(安徽三联学院计算机工程学院,安徽 合肥 230601)
基于MOOC的“软件工程”自主学习系统的设计与实现
余久久
(安徽三联学院计算机工程学院,安徽 合肥 230601)
应用ASP.NET编程技术与SQL-Server2005数据库,采取B/S三层体系架构,设计并实现了一个基于MOOC(大规模开放式网络课程)的高校“软件工程”课程自主学习系统,具有为教师提供发布课程学习主题和活动、实现在线测评、组织与协调学习者之间的交流讨论来推动学习进程等功能,为学习者提供可以选择课程论坛、博客、虚拟教室等多种社会性学习工具来实现网上交流与互动,达到课程学习的目的。此学习系统的构建不仅为学生异时异地学习“软件工程”课程带来方便,而且对传统教学方式的改革,以及探索与发展当前高校计算机及相关专业各类MOOC课程建设等方面也具有积极意义。
软件工程;MOOC;学习主题;社会性学习工具;交流互动
MOOC(Massive Open Online Course,大规模开放式网络课程)是当前远程开放教育领域中出现的一种“以学习者为中心”的新兴在线学习模式,也是新形势下教育理念融合信息技术的产物。其具有大规模学习(学习人数众多)与开放共享(不同地域、不同背景的注册学习者亦可免费分享相应教学资源)的特点。MOOC兴起离不开网络教学系统的支持[1]。随着新兴技术的远程教育创新模式不断出现,MOOC平台作为远程开放教育的主要媒介,为辅助教师开展教学活动以及实现教学互动提供了有力的支持[2]。
自2012年美国Coursera、Udacity、edX三大著名MOOC平台的开设,已显示出MOOC在网络教学方面的强大发展潜能。随着MOOC在远程教育领域的兴起,我国一些知名高校纷纷加盟MOOC,如上海交通大学、复旦大学加盟了Coursera,北京大学、清华大学则加盟edX。同时国内也积极推出了一系列本土的中文MOOC平台,主要有“上海高校课程资源共享平台”(上海高校联盟2011年底创立)、“学堂在线”(2013年清华大学推出)、“好大学在线”(2014年初由上海交大牵头成立)、“智慧树”网站(我国东西部高校课程共享联盟打造)、“优课”平台(2014年5月由深圳大学牵头56所地方高校联合运营)、“爱课程”网站(教育部与财政部共同建立)、“网易云课堂”(网易公司创立)、“网易公开课”(2013年由网易公司与北大合作成立)、“中国大学MOOC”(“爱课程网”携手“网易云课堂”于2014年合作推出)、超星MOOC平台(北京超星公司创立)、果壳网旗下的“MOOC学院”(姬十三创立的学习型讨论社区)、国内用于商业运营的MOOC平台——“过来人公开课”等[3-4]。
然而,不同于普通的公开课网站,上述国内外平台提供的MOOC课程一般需要学生付费学习以获得课程结业证书。要求学生在指定时间期限内自行完成课后作业和期末测试,或线下到当地指定考试机构参加现场考试,但是从我国目前实际情况来看,这一做法不可行[5]。此外,文献[6-7]等也认为国内外已有的一些MOOC平台在对完成学习者的资质认定,以及如何与校内同类课程学分的衔接等方面还存在一系列困难,脱离了实际教学需求,各高校需要“因地制宜”建立适合本地教学的信息化教学或学习系统。基于此,越来越多的地方性高校已开始思考并探索如何将MOOC的发展与实际教学环境相结合,积极开发具有MOOC理念的自主学习系统。或者对校内原有的传统网络教学(学习)系统进行改进,增添“集社交网络与教学为一体”的MOOC功能,以适应未来建设开放式课程的需要,由此推动相关课程的教育教学改革。由于MOOC多数课程建设始于计算机专业,因而对计算机与软件专业教学方法与学习方式的影响最大[8]。
“软件工程”课程是大学计算机及相关专业的一门主干课程,通常安排在大四阶段开设。但是,大四阶段作者所在高校有很多学生因校外实习实训或异地找工作等原因往往无法返校集中学习,经常会出现因上课班级人数过少而导致教师无法正常开展教学活动的状况。所以,本文结合实际教学环境,采取B/S架构,设计出一个简易的基于MOOC的“软件工程”课程自主学习系统,实现课程资源分享与学习者之间交流互动于一体,为校内学生通过网络“异时异地”自主学习课程带来极大便利。
1 关键技术简介
本学习系统采用B/S三层架构开发。Web服务器使用的是Microsoft IIS 6.0。在B/S三层架构中,表现层为用户提供可视化页面,操作简单。应用CSS结合JavaScript网页布局显示技术,支持绝大部分浏览器的访问。业务逻辑层采用ASP.NET编程技术来实现简单的业务逻辑,以及调用数据访问层中的一些集成类以实现相应的用户操作逻辑。数据库访问层使用SQL-Server 2005数据库工具建立起网络课程数据库,并对各类用户进行管理,主要实现系统的后台数据库进行查询、修改、增添、删除数据等操作。
1.1 B/S三层架构技术
B/S三层架构即浏览器/服务器三层体系架构[9]。用户可以通过Web浏览器去访问Internet上的各种资源,包括文本、图形、图像、动画、视频点播和声音信息等。这些信息都是由多个Web服务器产生的,而每一个Web服务器又可以通过各种链接方式与其数据库服务器进行互联,海量的数据信息实际上都存放在数据库服务器中[10]。
1.2 ASP.NET技术
ASP.NET是微软公司用于构建动态和数据驱动Web站点的编程技术,提供完整的服务器端对象模型,可以将页面上的所有控件作为对象访问[11]。使用ASP(Active Server Page)编程工具可以简单而方便地实现数据库和应用程序的交互。所以本学习系统选用ASP语言来编写相关应用程序,在Microsoft IIS 6.0 Web服务器上安装IIS网络服务程序以支持执行ASP语言。在ASP文件中包含了各种按钮、文本框、控件、图片等HTML标签,为可视化的用户页面设计带来方便。将ASP程序文件放在网站服务器的目录下,客户端的客户就可以通过Web浏览器来对ASP编写的网站进行访问[12]。
1.3 数据库连接以及数据库操作类的实现技术
使用ADO.NET数据接口访问技术,把设计系统用到数据库中的一些常用操作全封装至名字为MOOC.DAL的一个命名空间里的不同集合类中,采用GirdView表格形式显示数据。为了便于提高系统的安全性、通用性以及后期系统的维护,将数据库的连接字符串写在Web.config文件中[13]。将常用的数据库相关操作置于一个自定义的sqlhelper帮助类中来实现数据库操作类的实现方法,并封装在相应的MOOC.DAL命名空间里,同时可以添加查询、修改、增加、删除等相关的操作类。
1.4 分页显示数据表技术
由于学习系统需要对大量数据分页显示,故采用缓存的GirdView自动分页技术[14]。为实现带缓存的数据分页显示,可开启SqlDataSomw数据源的“允许缓存”属性,以提高Web应用程序扩展性及程序的运行效率,并降低开发成本[13]。
2 设计方案与需求分析
2.1 总体设计方案
MOOC使学习者获取知识的途径由传统的“简单线性”转为复杂的网络化,同时横跨社交网络、博客等多平台。学习系统总体设计方案如图1所示。
图1 总体设计方案
课程中心平台是系统设计的核心,由系统管理员管理与维护。教师通过课程中心发布课程内容、学习活动与讨论主题,是MOOC课程的组织者。学生是MOOC学习者,利用各类社会性学习工具,如课程论坛、虚拟教室、人际交流工具、课程讨论空间等参与学习活动。通过课程中心平台分享学习心得、撰写博文等。教师对课程内容和学习者生成信息进行整理和筛选,以RSS或者邮件的形式与学习者分享[15]。
2.2 用户需求分析
学习系统的设计基于MOOC理念,是一个集课程资源及教学过程管理、学习者之间讨论互动(通过在线论坛、QQ交流、虚拟教室、博客等形式)、考试管理、学情分析、数据统计等功能于一体的自主学习系统,在功能设计上注重资源分享与教学互动。用户角色分为教师、学习者(也包括匿名注册的学生,虽不具有“正式”的课程学习权限,但是也可以登录系统获取相应课程资源,参与到各种学习讨论活动中)与系统管理员三类。不同用户在学习系统中会具有不同的使用权限。通过校内学籍注册的学生获得“正式”学习者的角色,登录系统完成课程学习并通过测评后会获得相应学分。学习期间可以自由选择论坛、微博、社交网站等个性化学习工具,浏览、讨论并完成作业与测试[4]。针对教师发布的课程信息或提出的讨论主题进行发帖、回帖等非实时形式的讨论。教师是课程组织者,完成发布课程内容与学习主题,参与课程的题库建设,对学习者进行在线测评或考试,组织与协调学习者之间的讨论,推动学习进程。系统管理员可以设置相关用户的信息与权限,对交流互动区域中的各类资源的审核与编辑。记录并反馈学习者的网络行为统计信息,如登录次数、在线时长、发言频次、登录板块分布等[16]。
2.3 数据库需求分析
本文所设计的基于MOOC理念的自主学习系统是在作者所在高校原有的“软件工程”网络学习系统进行改进的基础上,增添了一些社会性学习工具等MOOC功能。原系统中使用的SQL-Server 2005后台数据库中已存储了大量与课程教学活动相关的数据库信息,比如学习者、教师、系统管理员、课程资源、题库、作业、试卷、成绩等,及其E-R关联、处理、物理存储细节等。根据新增MOOC功能需要,应该在原有数据库需求分析基础上增加下列数据项及其数据结构,例如课程论坛信息、讨论主题信息、虚拟班级信息、虚拟教室信息、电子邮件信息等。
3 系统设计
3.1 物理框架设计
采用B/S三层架构设计,确定系统的基础框架所对应的物理架构,作为系统部署、详细设计及系统测试的依据。Web服务器(Microsoft IIS 6.0)与数据库服务器(SQL-Server 2005)在物理结构上分离,以减少数据的传输量,提高数据的访问速度以及保证数据安全性等。其中,Web服务器接收来自客户端用户的请求信息,根据用户的请求信息生产动态网页,并处理系统使用中的各种业务逻辑,包括识别用户的权限、判断数据库访问的权限,提供用户需求等逻辑规则等[10]。客户端通过常用的Web浏览器进行系统的操作使用。
3.2 功能模块结构设计
由于系统是在校内已有的“软件工程”课程网络学习系统基础上进行改进,在实现课程教学管理、考试管理等功能的基础上新增了MOOC子系统功能,实现利用课程论坛、虚拟教室、常用的人际交流工具(例如QQ)等一些社会性学习工具以达到学习者之间对教师发布的学习主题进行在线交流及互动讨论功能。新增的MOOC子系统与原有的网络教学子系统共用同一数据库。按照不同的用户权限,分为学习者(学籍注册学生与匿名注册学生)、教师与系统管理员三类。表1是以这三类用户权限划分的功能模块结构。
表1 系统功能模块结构组成
3.2.1 课程中心
课程中心是学习系统的主体,教师主要通过课程中心发布软件工程课程的相关信息,包含课程简介、课程大纲、学习计划等、以及进行网络答疑、作业批阅等教学活动等。
教师按“学习专题”或“学习主题—学习单元—课件或扩展资源”的层级结构精心组织与设计学习单元。设计一个或多个关联的学习活动序列来诠释某个知识点[17]。MOOC课程可以按相应教材和课堂教学内容为主来组织学习主题,但由于大规模学习者学习背景、水平及学习习惯有所不同,学习主题的内容需要具有广泛性[18]。教师设计学习主题时需要提供与学习内容有关联的扩展资源(课程相关的电子书籍或辅助资料等),并发布在线交流话题以组织学生线上或线下展开讨论。文中给出了“软件工程”MOOC课程中关于“软件开发过程模型”内容的一个学习主题设计模板,如表2所示。
表2 “软件开发过程模型”学习主题设计模板
MOOC课程学习主题设计的结构需要完整。不仅要有基础性的课本知识讲解,同时还要有学习活动设计(以在线交流、课程论坛等方式,满足学习者可以在线与不同地区的人进行经验交流)与学习评价设计(随堂测试、课后思考等)[4]。教学视频是MOOC教师主要的授课方式,精化为5~8 min为一小段,其中穿插小型的交互测试。要求学习者完成测试后才可以继续学习,以提升学习者思维反应能力。
3.2.2 课程学习
课程学习模块主要为学习者提供对“软件工程”课程各类电子类资源的查询、浏览、下载等功能。支持学习者对资源上传、收藏、推荐、订阅与评价功能。系统会自动为注册成功的学生建立一个用户网络收藏夹,用来在线上传、下载或收藏自己关注的课程资源,方便在线学习使用。
学习者对学习系统上的各类学习资源以分类或者主题关键字的方式进行检索并浏览,可以依据帮助学习程度的大小对其内容质量进行在线评价等。评分结果会自动导入学习系统的后台维护功能模块,以数据统计的方式在系统首页显示,达到对各类资源的评分排序的醒目推荐。
实现根据学习者注册时所填写的个人学习信息,例如认知特征、学习偏好等,为其提供资源订阅功能。通过XML语言实现资源库对不同学习者需求的个性化推送,系统即可以向用户以短信、邮件的形式直接向用户推送该资源[16]。
3.2.3 交流讨论
交流互动模块主要集成了一些常用的社会性学习工具,是MOOC设计的核心。例如课程论坛、常用的人际交流工具(例如QQ,MSN)、虚拟教室、博客等,以支持学习者之间的在线交流功能。交流互动模块为学习者提供充分参与课程活动与课程讨论的开放式学习环境,学习中鼓励与提倡全方位、多渠道的互动与交流。
1)课程论坛:学籍注册和匿名学习者均可以针对教师以及其他学习者发布的课程信息或提出的讨论主题进行发帖、回帖等非实时形式的讨论。
2)虚拟教室:利用多媒体通讯技术构造的学习环境,可实现视频广播、在线讲课、在线答疑等,且允许身处网络各地的教师和学生进行类似于真实课堂的教学活动[15]。
3)QQ交流:学习者通过日常最主要的人际交流工具——QQ与教师及网上其他学习者实时保持联系,实现积极的互动交流。
4)博客:以超链接的方式与学习者本人的博客(如新浪博客、腾讯博客等)账号绑定。学习者可以通过系统迅速便捷地把学习体会发布到自己的博客上。通过社会性书签网站或一些视频分享网站等资源分享工具,以文字、图片或录制视频的形式与其他学习者分享学习体会。允许其他学习者访问或转载自己撰写的博文并发表相关的评论。
3.2.4 考试管理
该模块是原有“软件工程”课程网络教学系统中的模块。与传统的在线考试系统一样,模块主要实现题库建设、智能组卷、对学习者进行在线测评与自动评分、统计与分析测评成绩等功能。限于篇幅,模块所实现的功能在此则不予详细描述,感兴趣的读者可以查阅同类文献(例如文献[19-20]等)。
3.2.5 后台维护
统计与汇总学习者的各种网络学习行为数据。比如,针对某一学习单元的学习人数分布比例、学习时长、发帖频次、资源分享次数等数据,自动生成直观的Excel报表形式反馈给学习者与教师。通过对大量历史记录的数据挖掘,确定学习者的爱好学习效果与学习方法,提供有效的学习指导,提高MOOC学习方式的兴趣与参与度[21]。此外,该模块还具有管理各类用户信息及权限,对学习者之间交流互动过程中所产生的大量学习分享资源,比如论坛中的帖子、在线交流日志、各种格式的共享学习资源信息、撰写的博文等进行审核、编辑、修改、删除等维护功能。
3.3 系统的数据库设计
数据库设计是指对给定的应用环境构造最优的数据库模式,建立数据库及其相应的应用系统,使之能够有效、科学地存储系统各种基础数据,满足各种用户的应用需求[22]。由于本文所设计的自主学习系统是对作者所在高校原有的网络教学系统进行改进,增添了MOOC功能。原系统中使用的SQL-Server 2005后台数据库中已存储了大量与课程教学活动相关的数据表信息(学习者、教师、课程资源、题库、作业、试卷等)及其E-R关联、处理、物理存储细节等(篇幅所限则不予列出),可以高效、便捷地二次存取与复用。
4 功能实现
学生通过学籍注册并登录,进入学习系统的主界面,如图2所示。在课程资源板块内选择“软件工程”一个学习主题进行学习,浏览有关学习讨论主题的发帖与回帖情况,或进行相应学习单元的测试活动。限于篇幅,本节主要简介学生用户登录系统进行课程学习与利用课程论坛实现交流讨论的过程。
学生选择某一个学习主题后即进入个人课程学习页面,点击“课程学习”可以观看视频的方式在线学习该课程。获取与收藏教师上传的相应课程资源,并存储在系统为每个学生设置的网络收藏夹中,通过打开“我的资源”把其下载到本地机上。学生还可以查看本学习单元的教学内容、教师简介,在学习公告中查看课程通知,在作业公告中查看教师发出的课程作业信息等。系统会以邮件形式定期为学生网络发送个性化学习资源,通过打开“我的消息”来接收。学习完毕后,学生可以以发送邮件的形式向课程主讲教师提问或对课程资源进行评价等。
图2 学习系统的主界面
用户在学习系统主界面的交流讨论板块中,可以按照学习主题关键字或发帖时间段区间搜索感兴趣的帖子。或浏览已回复与未回复的帖子,以及由系统推荐的“精华帖”内容。学生登陆进入系统的个人课程学习页面后,点击右侧的“交流讨论”菜单,即进入关于学习主题的交流讨论区,完成对学习主题发帖、回帖等实时或非实时形式的讨论活动,可以上传有关学习资源至课程论坛中与其他学习者分享,如图3所示。当点击发帖页面工具栏上的QQ图标,还可以和课程论坛内的成员实时保持QQ联系,实现与教师及网上其他学习者积极的互动交流。
图3 论坛发帖页面
5 应用与展望
2015年初,作者所在教研室以3个月为一个学习周期,根据本科软件工程课程教学大纲精心设计了“软件工程基本内容”、“软件开发过程模型”、“软件工程文档编写”等共计12个学习主题,并制作出相应的精短课程教学视频。教师每周发布一个“软件工程”课程内容的学习主题至学习系统上,上传相关课外资料,组织学生课外学习与讨论,并要求学生完成学习测试。截止到本文撰写之时,课程已开设了3期,共有来自校内计算机科学与技术、软件技术、计算机应用、网络工程、计算机信息管理等专业近百位校外实习学生通过注册并登录该系统,课外修完了软件工程课程。超过90%的学生顺利完成课程测试并拿到相应学分。学习期间,学生积极参与教师发布的软件工程相关学习主题的讨论。课堂论坛里,每一个开展讨论的主题能产生上百条回帖,基本达到预期的学习效果。
自2016年以来,我们发现学习者人数增多,学习者特性呈多样化、多元化的特点。我校大量对软件开发感兴趣的其它专业学生以及一些校外学生也纷纷登陆该系统进行学习,共同参与学习相关主题的讨论活动,并提出不同的学习要求。随着学习人数的不断增加,未来的工作即需要把当前仅面向校内计算机类专业大四学生的基于MOOC理念的“软件工程”自主学习系统逐步发展为以开放学习任务为目标、拥有海量存储资源、能够实时解决不同类别或不同层次学习者的学习需求、且支持多门软件技术类课程的“云学习”MOOC平台。所以,如何精心设计与优化学习主题以满足不同学习者的学习需求;如何利用基于大数据的学习分析技术为“对象化学习”与“个性化教学服务”提供支持;如何借助于大数据分析和海量数据,辨别学习者的学习行为及其发展趋势来构建个性化的学习支持系统[4,23],在大规模学习者中真正实现“因材施教”,这将是该学习系统未来建设的发展方向。
6 结语
本文探讨了一个基于MOOC的高校“软件工程”自主学习系统的设计过程,使用ASP.NET 2010与SQL-Server 2005数据库进行搭建,初步实现出其主要模块的功能。该学习系统的设计与实施对于提高学生学习MOOC的兴趣,改革当前高校软件工程等课程传统教学方式,进一步推动与发展计算机及相关专业各类MOOC课程建设等方面具有一定的研究意义。
[1]韩锡斌,葛文双,周潜,等.MOOC平台与典型网络教学平台的比较研究[J].中国电化教育,2014(1):61-65.
[2] 张汉玉,穆肃,任友群.学习管理系统的社会性交互功能比较——基于对Blackboard、Moodle、Sakai的调查与使用体验[J].现代远程教育研究,2013(2):38-42.
[3]程翥,李贵林,刘海涛.中国高等教育MOOC平台现状分析[J].高等教育研究学报,2014,37(2):16-18.
[4]黄明,梁旭,谷晓琳.大型开放式网络课程MOOC概论[M].北京:电子工业出版社,2015.
[5]翟丹妮.MOOC平台发展过程中的关键影响因素简论[J].中国电力教育,2014(21):12-13.
[6]王秀婷.基于edX的MOOC互动交流平台的设计与实现[D].哈尔滨:哈尔滨工业大学,2014.
[7]赵荣,马亮,张玉龙.MOOC的理性思考:兴起、发展与未来[J].高等教育研究学报,2014,37(2):10-12.
[8]徐晓飞.抓住MOOC之机遇促进计算机与软件工程专业教学改革[J].中国大学教学,2014(1):30-32.
[9]韩云.基于三层架构的网络教学平台的设计与实现[D].青岛:中国海洋大学,2010.
[10]孙娜.基于B/S模式的新疆财经大学校园网络教学平台的设计与实现[D].成都:电子科技大学,2012.
[11]周晓新.基于B/S模式的网络教学平台的设计与实现[D].天津:天津师范大学,2009.
[12]才振鹏.基干B/S模式的网络教学平台设计与实现[D].杭州:浙江工业大学,2013.
[13]张式富,姜涛,吴效明.基于B/S的智慧社区健康监护管理系统软件的设计与实现[J].计算机应用与软件,2014,31(3):4-6.
[14]陈南.ASP.NET中大数据量分页技术的研究与实现[J].计算机应用,2011,28(4):205-209.
[15]李华,龚艺,纪娟,等.面向MOOC的学习管理系统框架设计[J].现代远程教育研究,2013(3):28-33.
[16]周艳,李育泽,徐义东.基于MOOC理念的微课资源网站设计[J].现代教育技术,2014(1):114-117.
[17]张忠.大规模开放在线课程设计研究[D].武汉:华中师范大学,2014.
[18]王海荣,张伟.国外大规模开放教育资源设计理念及启示——基于Coursera平台MOOC课程的体验研究[J].天津电大学报,2013,17(3):34-35.
[19]张丽.基于B_S架构的网络考试系统的设计与实现[D].吉林:吉林大学,2014.
[20]吕琼.在线考试系统的设计与实现[D].大连:大连理工大学,2013.
[21]孟凡波,丛培才,张启来,等.私有云环境下的MOOC平台建设[J].产业与科技论坛,2014,13(17):41-42.
[22]杨溪.高校网络教学平台的设计与实现[D].青岛:山东大学,2012.
[23]韩锡斌,程璐楠,程建钢.MOOCs的教育学视角分析与设计[J].电化教育研究,2014(1):48-49.
Design and Implementation onAutonomous Learning System for Software Engineering Based on MOOC
YU Jiu-jiu
(Computer Engineering College,Anhui SanLian University,Hefei 230601,China)
This paper uses the ASP.NET programming technology and SQL-Server 2005 database,connected with B/ S architecture for designing and implementing on autonomous learning system which based on MOOC(Massive Open Online Courses),mainly to provide teachers with course and activity launching platform,to promote the learning process,etc.and to provide learners with selecting BBS for course,blog,virtual classroom and other social learning tools for online communication and interaction.This learning system can provide convenient distance“software engineering”course for students,and is of great significance for the reform of traditional teaching.
Software Engineering;MOOC;learning subject;social learning tool;interaction
TP311.5-4;G642
A
1673-1891(2016)04-0039-06
10.16104/j.issn.1673-1891.2016.04.011
2016-04-06
2015年安徽省省级质量工程项目:大规模在线开放课程(MOOC)示范项目—软件工程(2015mooc104);2013年安徽省省级质量工程项目:应用型本科计算机专业软件工程课程实践教学改革(2013jyxm274);2014年安徽省职业与成人教育学会教育科研规划项目(BCB14035);2013年安徽三联学院校级质量工程项目:教改课程—软件工程(13zlgc023);2015年安徽三联学院校级质量工程项目:《软件工程》课程—教学团队(15zlgc029)。
余久久(1979—),男,安徽合肥人,副教授,硕士,研究方向:软件工程、软件测试、计算机信息教学。