陆 悠,傅启明,邹恩岑,奚雪峰,张战成
(苏州科技大学 电子与信息工程学院,江苏 苏州 215000)
随着以大数据、云计算以及人工智能为代表的研究日渐深入,国内外学术界、企业界纷纷在云计算和大数据方向进行大量投入[1-4]。调查数据显示,目前信息领域已有超过60%以上的公司已经或准备部署大数据生产环境,甚至有24.5%的公司对大数据相关技术已深入了解并开发准备就绪,这一趋势也带来对相关人才的海量需求。IDC、领英等调查公司纷纷报告,目前云计算、大数据相关的职位增长率长期处于高位,在亚太地区达到32%,而国内的大数据相关人才更是长期处于稀缺状况。面对这些需求,我国的高等院校从高端人才的培养角度出发,通过课程体系的建设尤其是针对性的实践课程内容建设[1],向社会提供具备大数据应用实践技能的优质本科毕业生,已成为高校务必完成的紧迫任务。
大数据技术作为当前信息技术集大成者,本身就具备体系庞杂、难度高的特点,技能领域覆盖系统平台搭建与管理、数据结构分析与设计、数据存储与管理、算法设计与实现、应用需求分析、系统设计实现等多个领域,涉及的课程包括操作系统、数据结构、算法设计与分析等传统计算机基础课程,软件工程、数据库原理以及软件建模与分析等工程应用课程,后续还将影响面向大规模数据的知识挖掘、机器学习与人工智能乃至高性能计算等各类信息新技术课程。相对于目前国内大学计算机学科,虽然从理论和实践两方面来看,大数据课程及其实践与现有课程存在密切的关联,但由于现有课程往往存在独立设置缺乏呼应的弊端,导致大数据课程实践无法获得其他课程支援,在有限学时的限制下难以设置具备较高难度和综合性的实践内容,仅能浮于表面设置低难度的“体验”型实践,既缺乏与现有课程的衔接,又无法体现大数据课程的新颖性,对学生实践课程体系更起不到深化作用,甚至导致学生产生大数据实践课是一门观赏课、兴趣课,和现有课程关系不大的错误想法。
由此可见,为了满足当前社会对大数据技术人才的需求,培养合格的毕业生,必须从高校计算机教学体系整体,尤其是实践内容整体出发,重新思考围绕大数据、云计算等新一代信息技术,研究和设计实践教学方法,从实践内容、教学目标、活动组织、评价方法等措施着手,实现教学目标多课程联动、实践内容多课程协同、评价方法多课程配合,从而在有限的课时和现有课程体系下更好地培养本科生的大数据实践技术能力和综合应用能力[2-3]。
从现有的教学过程和反馈来看[4-6],大数据技术课程、云计算技术等都具备较强的应用性和综合性特征,学生往往反映实践难度较大[7-8],因此在设计开展此类课程的教学内容尤其是实践内容时,需要从整体课程体系展开考察,首先确保已开展了足够的前序基础课程,并已开展相关的实践训练,从而能为大数据实践提供基础[9-10];其次,需要以培养目标为抓手,将大数据技术对学生实践能力、综合应用能力的要求,划分为合理的层次和模块,分解落实到各门课程中,从而指导各门课程设计教学内容并使之相互协同[11];最后,在学生实践能力的考核评估方面,同样需要围绕大数据技术的实践要求,贯彻以实践能力、综合应用能力为纲的原则,在各门课程中分层次、分粒度进行落实[12-13]。
基于多课程相互协同配合的建设思路,综合大数据课程的实践特点,“多课程联动的大数据实践教学方法”的具体教学内容设置思路及相应的课程体系如图1所示。
设置思路主要是将大数据实践内容有机嵌入现有传统的课程体系中,一方面适当改进和调整前序计算机基础课程中的实践内容,为大数据实践提供基础知识和基础能力支撑;另一方面则引进应用开发课程内容,为大数据课程实践提供应用需求,最后结合大数据课程自身的理论内容,三者相互协同和联动,以此设计和优化大数据课程的实践教学内容。
首先,科学解析大数据课程的教学内容在理论知识、实践技能等方面与其他课程的相关程度,从而确定需要参与协同的课程体系;其次,对大数据课程知识点按层次、场景等因素进行模块化划分,并确定各模块对应的协同课程以及相关的知识点内容;最后,进行实践教学内容的设计,充分考虑与协同课程的衔接和配合,将实践内容分解至协同课程体系中,从课程体系整体角度实现对学生大数据技术实践能力的培养。
1)知识点模块化划分。
图1 多课程联动大数据实践教学内容设置思路
根据对大数据技术体系的解析和分解,理论课程教学内容共形成3个模块,其划分以及相应的协同课程设计为:①框架平台及运维,主要包括云计算与大数据技术概述、分布式文件平台配置和运维等,协同课程则有Linux操作系统、操作系统、计算机网络等;②大数据存储技术,主要包括分布式数据存储技术、面向大数据的数据库技术基础(Bigtable、HBase、Hive等非关系型数据库技术等)与应用等,协同课程则有数据库原理等;③大数据分析与处理技术,主要包括基于Map-Reduce的大数据分析技术、基于大数据的数据库数据分析与处理、大数据技术及典型应用场景介绍,协同课程则为程序设计基础、算法分析、面向对象程序设计及其他软件应用开发技术课程。
2)实践内容设计。
进行实践内容设计时,一方面需要充分考虑与协同课程的互相配合和支撑,另一方面则要从实际应用出发,考虑基于案例驱动和典型场景,具体设计安排见表1。
表1 实践内容及协同课程设计
从表中1可以看出,实践内容按模块分别对应与其协同的现有课程,内容一部分为大数据课程实践自有,另一部分以联动内容形式分解至协同课程中,以此实现协同课程与大数据实践教学的配合与联动。此外,每个模块的实践内容之间也充分考虑彼此配合,不同模块的实践最终汇总为一个整体,学生完成整门课程的实践内容后,即可得到一个面向实际案例和场景的完整大数据实际应用。本专业可使用的参考案例如下。
案例1:基于推荐的电子商务平台设计与实现,在通用的J2EE电子商务平台基础上,通过大数据计算与存储平台的部署以及相应大数据分析处理模块的实现,对商务平台功能进行扩充,实现对用户购买数据关联性的分析,进而实现针对用户的商品个性化推荐。
案例2:搜索引擎设计与实现,在通用的J2EE信息管理平台基础上,通过大数据计算与存储平台的部署以及包括网页爬取、PageRank等在内的大数据分析处理模块的实现,对原有平台功能进行扩充,实现带搜索功能的信息管理应用平台。
3)教学课时安排和教学组织。
大数据课程理论难度不低,但实践性更强,如何合理安排理论与实践课时比例需要根据学校学生的实践基础、能动性和自我管理能力而定。以苏州科技大学为例,从学校现有反馈来看,由于学生实践能力以及自我管理能力相对薄弱,因此采用弱化理论难度、强化集中实践环节的原则,发挥教师指导作用,安排大数据课程实践学时与理论课时为1∶2,由于开发、设计、部署实施等方面的实践内容通过分解至协同课程等方式完成,实际上实践学时与理论学时能达到1∶1。如果学生实践能力和自我管理能力较强,可以适当强化理论课时,将部分实践内容安排至课后,则可进一步提升学生在大数据技术方面的理解和深入程度。在教学组织方面,除了课堂教学和集中实践环节以外,还可以安排一定的课外学时,主要供学生进行团队讨论和合作,教师可适当参与进行指导,此外还可以在课外安排学生进行资料查询、需求调研、用户手册的编写等附加内容。
根据表1所述大数据技术知识点模块划分与对应的协同课程,在实践教学内容的组织和管理时从整体出发,将部分实践内容与已有课程的实践内容相互协同和衔接。以模块1的Hadoop平台的安装实践为例,其压缩包的下载、解压缩、安装等操作可以分解安排在Linux操作系统课程中,如Linux软件安装、系统配置等,并在该课程的实践过程中直接完成与Hadoop相关的平台安装,一方面避免大数据课程实践内容的重复,节约课时,另一方面则可提高Linux课程实践的应用性和针对性。与此类似,可以在操作系统实践过程中以Hadoop的分布式存储以及MR任务管理为例,安排进程管理、存储管理方面的联动实践内容。以苏州科技大学为例,类似的安排在数据库原理、程序设计乃至软件工程等联动课程中都可以进行,经过近几年的实践,学校安排的联动课程实践教学内容见表2。
表2 联动课程实践教学内容设计
大数据技术实践内容具备整体性,因此可以应用软件工程的相关模式,完成对学生的组织和管理,即以学生组队模式,共同完成实践课程3个模块构成的完整应用案例,其中由协同课程完成的实践内容可以直接导入大数据实践中。
在课程第1模块阶段,实践内容以平台搭建为主,因此学生仅仅完成分组,全班分为若干个4~6人组成的团队,每个学生独自完成实践,团队间学生互相考评;从第2模块阶段开始,以团队为单位完成实践,为了避免“抱大腿”“搭便车”现象以及团队间的能力不均衡,教师可以对组团进行微调。
在实践过程中,教师需要注意在每个模块阶段开始时对学生的指导,包括本阶段的主要实践内容、目标、要求等,尤其是第1、2模块,教师不仅需要介绍本阶段的内容,还应指导学生导入协同课程,如Linux操作系统、数据结构、算法与程序设计等方面的实践内容,另外指导或调整学生分组,指派组长以及成员的工作内容也可以在模块开始阶段进行。在每个模块进行过程中,教师还需要指导学生分工合作,模块结束时指导学生分析总结,尤其是结合协同课程内容帮助学生进行巩固提高,以培养学生对计算机应用开发的整体性、体系性的深入理解,最终帮助学生学会自己解决问题,做到授人以渔,而非授人以鱼。
在多课程联动的背景下,大数据课程实践内容的考核和评定也同样需要考虑课程的协同,课程的期终成绩由期终试卷成绩(30%)和平时实践成绩(70%)组成,显然,学生成绩主要依赖于项目实践成果。实践部分的具体成绩则由3个模块按比例(25%+25%+50%)组成,每个模块成绩都在模块完成时给出,成绩评定的内容包括演示陈述、平台运维演示、算法演示等,由学生在课堂上公开演示,并引导学生以提问、辩驳等形式参与评价。
在实践成绩最终决定后,考虑多课程联动的需要,每个实践模块部分的成绩评定需依据与其相关的协同课程开课时间对平行课程以及后续课程产生的影响,亦即大数据实践的成绩将作为该课程的参考因素,为相关课程教师提供学生在计算机应用开发能力体系背景下的实际能力信息。
经过近两年的实践,苏州科技大学基于多课程联动的大数据实践教学已取得良好的教学效果,与传统孤立安排方式相比,多课程联动的大数据实践教学具备较多优势:①能体现立体化培养特色,体现计算机专业课程体系的整体性和连贯性,为大数据、云计算等新一代信息技术相关课程的开展提供思路和可行方案;②采用“案例驱动、典型场景教学、多课程协同”的实践内容教学方法,能够有效地培养学生的大数据技术实践应用能力;③基于多课程联动,强化计算机实践教学能力的做法充分呼应包括“新工科”“工程认证”等在内的计算机专业新趋势,为培养学生的实践能力尤其是工程实践能力提供有力支撑。在下一步工作中,主要任务是将协同实践这一思路进一步凝练和深化,并将其扩展至机器学习、人工智能等其他新一代信息技术课程中,使这些新课程和计算机学科传统课程的结合更为紧密,为计算机学科教育发展提供思路和支撑。