项目驱动+分组竞争的云计算课程教学模式探索

2017-10-17 21:37王磊赵晓永
卷宗 2017年25期
关键词:教学模式能力课程

王磊+赵晓永

摘 要:随着云计算的兴起和发展,云技术由最初的商业、工业应用渗透至学术及教育领域,云计算课程已经得到越来越多本科高等院校的重视和普及。不同于传统的计算机学科,云计算课程所涉及的内容新、知识结构复杂、理论抽象、实践性强,传统教学模式无法与之适应。本文在分析云计算课程教学现状和问题的基础上,借鉴工程教育CDIO模式,以项目为载体将云计算课程内容分解至CDIO构思、设计、实现和运作的工程项目生命周期各阶段中,采取项目驱动+分组竞争的教学方法及考核机制。理论知识结合项目案例的组织模式大大提升了学生的学习兴趣和学习效果,使得云计算课程教学目标更加具体、明确,教学过程更加敏捷、有效,对学生和教师都具有重要指导意义。

关键字:CDIO;项目驱动;分组竞争;云计算;教学模式

基金项目:北京信息科技大学2015年度教学改革立项资助(项目号2015KGYB33)

1 研究背景概述

近年来,信息技术的蓬勃发展和广泛应用对技术人才的需求逐年攀升。尤其对于云计算、大数据等新技术人才的需求呈井喷式增长。为此,高校必须在实践中积极践行前瞻教育的创新模式,逐步开设云计算、大数据等相关课程,力求贴合社会实际的人才需求,为行业输出既有基本理论知识又有关键应用技术的云计算、大数据处理专门人才。

比较契合的是,CDIO工程教育模式与应用型技术人才培养的目标如出一辙,非常符合云计算、大数据等新技术课程的授课需求及目标[1],即以扎实理论基础、强化工程实践能力、提升应用能力为目的,最终构建起全面协调发展的云计算、大数据应用型人才培养体系,使高校学生的新技术知识结构和能力水平更符合社会的需要。

CDIO工程教育模式是近年来国际工程教育改革的最新成果,是麻省理工学院、瑞典皇家工学院等多所国际知名大学联合成立跨国研究合作组织并创立的现代工程教育模式。CDIO代表构思(Conceive )、设计(Design)、实现( Implement )和运作(Operate),它以产品研发到运行的生命周期为载体,让学生以主动的、实践的、课程之间存在有机联系的方式学习工程理论和技能[2]。具体来说,就是选择接近工程实际的涉及技术、经济、企业和社会的团队综合类项目为教学案例,结合专业核心课程的教学,使学生在CDIO的全过程中不断地在工程基础知识、个人能力、人际团队能力和工程系统能力4个方面得到全面的训练和提高。CDIO理念不仅继承和发展了欧美20世纪90年代工程教育大改革的理念,更重要的是提出了系统的能力培养教学大纲,对工程教育应达到的能力目标给出全面、系统、具体的表述。全球多所院校采用CDIO工程教育理念和教学大纲,取得了良好效果,按CDIO模式培养的学生深受社会与企业欢迎。

2 问题的提出

目前国内一部分高校開设了云计算、大数据等相关课程,高校力求为大数据市场培养出可熟练使用云计算、大数据技术解决实际问题的优质人才。但就目前的培养思路和教学模式来说,还存在一定的问题:

1)目前国内高校人才培养仍然存在“重基础理论-轻实践”的现状。与其他计算机课程不同,云计算课程的特点就是实践性特别强。以教师讲授为主、学生训练为辅,先理论后实践的传统课程教学模式往往学生学习兴趣不高,学习效果不佳。

2)传统实验教学安排与设置不能满足云计算(诸如Hadoop分布式云平台搭建)实践环节的需求,甚至出现脱节。

3)云计算学习过程涉及知识大而全(诸如Linux、Java等前驱课程),需要相关基础知识预热模块。

4)基于不同的云计算应用能力,其培养目标和层次要求不明确。

针对以上问题需要为云计算新技术课程设计一种新的符合课程特点的CDIO教学模式,不仅能够通过合理的教学项目拉动知识,让知识服务于项目,同时又能兼顾知识的结构性,循序渐进地传授技术以推动项目顺利进行。本文介绍的迭代式CDIO工程教学模式将实际软件工程领域的迭代式开发过程与CDIO思想结合起来,有效地解决了这一难题。以下将详细介绍基于CDIO工程思想的云计算课程授课的设计思想、实践案例及考核方法。

3 设计思想

(一)教学内容的选择和设计

云计算平台是支撑大数据分析应用的分布式平台架构。其中,最重要也最具领跑性的分布式技术当属基于Hadoop的批数据处理模式。Hadoop是一个能够对大量数据进行分布式处理的软件框架,以一种可靠、高效、可伸缩的方式进行数据处理,尤其对于非结构化数据,有效解决了大数据的可靠存储和处理,该模块是云计算、大数据相关课程中分布式框架的基础,我们依据CDIO工程思想模式对该模块进行了重新设计开发,紧紧围绕:知识体系理论教学→技术能力培养→团队合作能力养成三大核心目标组织教学。设计思路如下:首先,本课程选取航空公司真实案例(如,航班数据的统计)为载体,将所有需要学习和掌握的理论知识及技术实践能力都围绕该项目进行构思及设计,形成一个整体;其次,紧密联系课程目标和培养计划,结合CDIO工程设计思想,将教学内容按掌握程度和能力要求分为三级:1级为包含本课程主要核心内容和能力要求的项目;2级为包含深入理解并使用相关技术解决具体场景下关键问题的能力要求项目;3级为增强该门课程能力与理解而设的应用新工具、新思路、新方法的项目。基于上述分析,我们将教学内容设置为一级项目、二级项目和三级项目共计3个类型来组织教学[1]。图1为本文对云计算课程构思与分析后的项目与知识模块的映射。

具体依据为,Hadoop基于廉价硬件设备,在分布式文件系统HDFS上进行,把应用程序分割成许多小工作单元,使用MapReduce编程模型进行处理,开启了大数据处理的崭新时代,其生态系统结构如图2所示。因此,课程紧密围绕Hadoop的云编程介绍Hadoop平台的核心模块和关键技术,重点夯实Hadoop基础架构及应用知识,为后续深入学习大数据分析挖掘等复杂算法及具体应用的实现打下良好基础。endprint

进一步拆分再合并云计算课程中相关知识内容,确定授课单元模块,梳理授课主线,本文提出云计算课程具体授课内容如表1。

(二)项目的设计

CDIO教学模式突出实践的重要性,要保证学生在“做中学”,“学中做”。通过设计合理的项目使得大多数学生能紧跟教师节奏,在项目由易到难逐步实现的过程中,学习并理解课程所涉及的各个知识模块,深刻体会到学习云计算的积极性和乐趣[3]。本课程将提供一个大数据航班实际项目案例。通过一个具体的应用场景将拟讲授的知识、理论和技术融会贯通,旨在培养学生对云计算新技术的主动学习性及快速上手能力。本课程将每一单元模块核心内容围绕项目案例展开教学,通过航班项目将整个课程知识体系有机的、系统的整合起来,让学生以有趣、主动、协作及有效的形式和方法学习云计算课程的相关内容。

具体分析,本文考虑CDIO四阶段作为授课载体,通过构思(Conceive )、设计(Design)、实现( Implement )和运作(Operate),我们基于Hadoop大数据处理的相关授课内容及大纲要求设计为2个1级项目:①教学前导案例《美国民航航班历年数据统计》;②毕业设计《基于Hadoop平台的云盘系统的设计与实现》;在此基础上,将教学前导项目拆分为两个2级项目和两个3级项目,通过知识讲解、理论体系梳理和动手实践环节的设计,形成Hadoop大数据处理的知识全覆盖,具体项目设计参照图3。

(三)教学方法的设计

1)CDIO前导案例,贯穿课程

在CDIO中,构思和设计的课堂教学项目应满足以下特点:a) 项目功能与需求易于理解,目标和任务可覆盖教学核心内容、关键技术;授课内容容易拆分成相对独立模块进行分时的进阶补充;b) 选择学生感兴趣且符合信息技术趋势的项目,这样可以和毕业设计、实习实训、实际工作等环节接轨,更能将学生的理论知识和经验积累拓展及推广到实际应用中;c) 项目任务分组完成,难度部署尽量合理,软件项目规模适中,同时保证教学内容能随着难度实现由浅入深、由点及面、慢慢推进;d) 在实践环节,可以构造一张知识理论与项目任务之间的映射图谱,将理论与实践端对端、点到点的对应在一起,让学生在理解的基础上真正的对所学知识活学、活用。

2)查漏补缺、融会贯通

在基于Hadoop的云计算课程中,所涉及到的云计算、大数据相关理论,如虚拟化、分布式技术、Linux应用、Java程序等开发的知识与技能方方面面,学生们即使在配置开发环境时都有可能遇到各种未知的问题和困难[4,6]。因此,在课程教学中,首先对于该任务单元模块所涉及的核心知识进行系统讲解,同时根据课堂反映和先修课程的掌握情况查漏补缺,实时补充理论知识点,并将其融会贯通运用到现有的项目中来。

3)强化实践、注重创新

云计算课程实践性非常强,作为新技术本身就还在不断的完善和发展中,因此课堂培养学生应在用中学、做中学、切实做到理论联系实际。同时培养创新意识,尤其要注重对学生在新方法、新技术及新思路应用能力方面的培养,提升大家对于信息技术软、硬件及云计算体系架构、大数据处理框架的认知和理解。

4)紧跟前沿、与时俱进

基于CDIO的各个环节,课程设置时应从构思、设计、实现和运作四个阶段进行教学内容和项目实施的设计与安排。在此过程中,项目设置和内容编排不仅要基于信息技术不断完善与发展的研究现状,同时还要进行IT、互联网行业用人标准和技术要求的充分调研,尽力做到既加强计算机新技术运用能力的培养,促进信息技术与专业知识的融合,又提高学生应用虚拟化、Hadoop分布式框架等技术进行大数据处理的能力,同时兼顾层出不穷的主流框架、核心模型、主流大數据解决方案等[5]。

4 实践案例

为了更好的引导和部署授课内容和教学过程,本课程选用符合授课目标和课程设置的基于Hadoop统计大数据航班架次的案例[7],项目目标设置为:

基于美国民航航班的历年数据(1987年-2008年),开发MapReduce应用程序计算其中某一年各个航班的飞行数据。

最终统计结果以Web页面方式呈现。

数据获取来源如下:

http://stat-computing.org/dataexpo/2009/the-data.html

数据格式:

压缩的BZipped CSV(以逗号分隔)格式

例:Year,Month, DayofMonth,DayOfWeek, DepTime, CRSDepTime, ArrTime, CRSArrTime, UniqueCarrier, FlightNum, TailNum, ActualElapsedTime, CRSElapsedTime, AirTime, ArrDelay, DepDelay, Origin, Dest, Distance, TaxiIn, TaxiOut, Cancelled, CancellationCode, Diverted, CarrierDelay, WeatherDelay, NASDelay, SecurityDelay, LateAircraft Delay

1987,10,14,3,741,730,912,849,PS,1451,NA,91,79,NA,23,11,SAN,SFO,447,NA,NA,0,NA,0,NA,NA,NA,NA,NA

1987,10,15,4,729,730,903,849,PS,1451,NA,94,79,NA,14,-1,SAN,SFO 447 NA NA 0 NA 0 NA NA NA NA NA ,447,NA,NA,0,NA,0,NA,NA,NA,NA,NA……endprint

以上迭代式CDIO教学模式已应用于我院信息管理与信息系统三年级本科生的《云计算战略及实施》的教学中,项目的构思、设计、实现和部署运行,共计学时32个学时,全部在实验室上课,教师边讲边引导,学生边听边设计并实施。

5 考核方法的设计

云计算、大数据开发类课程以实践和理论技术并重,因而课程的考核基于理论考查和项目实训汇报两部分。学生需要参加理论笔试与实训答辩两个环节,最后进行权重总评获得该课程成绩。理论部分由每个考生独立完成;项目实训环节由3-4名学生

理论考核:掌握Hadoop系统架构、HDFS分布式文件系统、MapReduce编程模型、大数据处理平台Pig及Pig脚本应用、数据仓库工具Hive及无限大表数据库HBase等基础理论知识和关键技术,期末进行闭卷笔试。

项目开发及汇报:学生以小组为单位参照教学项目《美国民航航班历年数据统计》进行CDIO阶段计划并实施。项目各阶段由小组集体讨论、并将任务分工后分配至每个人,教师进行检查指导。最终,每个小组将课题所涉及的项目内容、步骤、关键技术进行归纳整理,以PPT形式进行讲解和汇报;同时,将所开发的Hadoop大数据处理系统部署到教师机上,进行系统功能演示,教师由每组的这两部分成绩进行综合评价,如图4所示,为课堂上学生进行现场答辩的情景。

6 案例拓展

在該课程后续拓展案例中,我们进一步设计了一级项目《基于Hadoop平台的云盘系统》,既对先修云计算课程进行理论梳理和项目实践的拓展,又进一步实现CDIO所主导的基本能力与素质的提升。该项目旨在实现基于Hadoop平台搭建云盘系统,针对私人产生的海量数据进行有效管理与存储。具体来说,系统功能设计为登录注册模块、系统管理、用户管理、文件夹管理、文件管理、系统公告管理、留言管理共7个功能模块[8],如图5所示。

具体来说,围绕项目需求和授课内容的设置,本项目在系统中设计了用户与管理员两种角色:

管理员

功能:查看用户信息、添加用户信息、添加文件夹、查看文件夹信息、添加文件、查看文件信息、添加系统公告、查看系统公告、添加留言反馈、查看留言反馈、查看共享状态、查看角色信息、修改个人密码、查看登录日志、查看在线用户。

用户

功能:查看个人信息、添加文件夹、查看文件夹信息、添加文件、查看文件信息、添加系统公告、查看系统公告、添加留言反馈、查看留言反馈、修改密码。

基于这样的项目设计,我们实施整个项目过程中涉及到的知识模块见表2:

7 总结与展望

本文所涉及到的项目案例均已在授课实践中进行了尝试和检验,尽管迭代式工程模式CDIO授课方法对教师的教学能力和实践经历有着更高的要求,但却给学生对云计算等新技术课程的学习带来了较好的效果。相比于计算机类课程的传统教学方法,CDIO的学习方法和模式,大大提升了学生学习的积极性、加速对前沿理论知识的快速理解、锻炼新技术的实践水平,最终培养学生对云计算、大数据等新技术的学习、掌握和运用能力。此外,分组竞争的考核方法和标准也为教学效果提供了重要的保障,加强了学生主动学习、团队协作以及项目管理中的基本能力与素质。

在实际教学中,我们也可以基于校企合作产学研模式,与相关企业构建实训基地,借鉴丰富的工程项目资源,促使CDIO教学模式中教学内容与实际环境的需求和使用高度统一。本文所探讨的CDIO教学模式中的案例、方法及设计思路将为云计算、大数据等相关课程的教学提供有益参考和补充。

参考文献

[1] 罗福强,熊永福.基于CDIO的云计算与大数据专业人才培养方案[J].计算机教育.2015(1):52-56.

[2] 张小庆.云计算下基于CDIO的物联网工程专业实践教学体系研究[J].武汉轻工大学学报.2016,35(1):117-120.

[3] 王晓敏. 迭代式CDIO工程教育模式的研究与实践[J].实验技术与管理. 2015, 32(5):200-205

[4] 赵丽萍.基于CDIO的计算机专业项目课程体系构建[J].电脑知识与技术2011(6X):4144-4147.

[5] 黄曼绮.基于CDIO的云计算专业导论改革[J].计算机教育.2015(9):79-82.

[6] 姜大志,孙浩军.基于 CDIO的主动式项目驱动学习方法研究:以Java类课程教学为例[J].高等工程教育研究. 2012(4): 159-164.

[7] 盈佳科技. Hadoop大数据处理-BigData实训教材系列之一(内部版本A).2016.

[8] 史瑞英. 基于Hadoop平台的云盘系统的设计与实现[D].北京:北京信息科技大学.2017.endprint

猜你喜欢
教学模式能力课程
消防安全四个能力
群文阅读教学模式探讨
《无机化学》课程教学改革
数字图像处理课程混合式教学改革与探索
软件设计与开发实践课程探索与实践
为什么要学习HAA课程?
大兴学习之风 提升履职能力
你的换位思考能力如何
“一精三多”教学模式的探索与实践
“导航杯”实践教学模式的做法与成效