APP下载

新工科背景下应用型大数据人才培养课程群研究与建设

2021-04-06崔晓龙边胜琴

实验技术与管理 2021年2期
关键词:讲授案例模块

崔晓龙,张 敏,张 磊,边胜琴,郭 茜

(北京科技大学 计算机与通信工程学院,材料领域知识工程北京市重点实验室,北京 100083)

新工科建设以新技术、新产业、新业态和新模式为特征,各高校正在加速改造升级传统工科专业,加快培养新兴领域工程科技人才。当前,新一代信息技术正在全球孕育兴起,科技创新、产业形态和应用格局正发生着重大变革,随着数据获取和计算技术的进步,大数据已成为一种新的战略资源,引起了学术界、产业界的高度关注。在未来5~10 年,大数据产业将迎来井喷式发展,对大数据专业人才的需求也将会非常巨大。因此,加速新一代信息技术人才培养以满足大数据行业的人才需求迫在眉睫[1-2]。

现阶段信息类专业作为信息技术人才培养的主阵地,必须紧跟时代形势,为大数据相关领域输送高科技人才,这就要求专业人才培养方案符合大数据行业人才需求。然而高校信息类相关专业面临着诸如课程体系陈旧、大数据课程仅讲授理论知识、实践环节严重不足甚至未开设大数据相关课程等问题,这就要求传统信息类专业调整课程体系结构,开设相关大数据课程并注重知识结构的完整性,以确保技术内容的通用性、普适性与先进性;同时要遵循教育规律,加强能力培养,必须精选行业真实数据制作案例,让学生真正学习到行业中大数据的分析处理方法,并感受到强大的统计成果,从而达到开阔学生视野、培养学生兴趣并启发创新思维的目的[3-4]。

目前北京科技大学计算机类专业已开设“Python语言程序设计”“Java 面向对象程序设计”“大数据认知与技术实践”“Hadoop 技术实践”“大数据工程综合实践”等大数据相关课程。其中“大数据认知与技术实践”是基础类专选课,该课程作为大数据导论课主要面向计算机类专业低年级学生,讲述大数据的概念、应用及发展现状,通过简单的操作及案例让学生动手体验大数据的各个处理环节,让低年级学生能够对大数据有基础的认识;进阶类专选课“Hadoop 技术实践”“大数据工程综合实践”则面向计算机类专业高年级学生,主要讲授Hadoop 生态系统组件的原理及实际应用,偏重于学生实践环节,通过实验让学生对各核心组件如HDFS、HBase、Hive 等组件的使用有深入的学习,同时课程中将会通过实际案例对开源数据进行处理,提高学生对大数据技术选型的理解与大数据应用开发的认识。未来大数据课程群将紧跟技术发展前沿,开设大数据技术从基础到核心课程并讲授新的技术,如Spark、Flink 等,为学生从事大数据行业或相关方向的科研工作奠定基础。

1 大数据课程群总体建设

大数据人才需要具备的能力比较全面,理论上计算机专业、信息专业、数学专业、管理专业等都可以进入大数据领域。大数据工程师以技术性工作为主,必须具备Java、大数据开发、大数据架构、软件开发工程等技术背景,这就要求进行大数据工程师培养时课程体系除了理论知识之外,还必须安排充分的技术实践,同时多接触大数据处理的实际案例,这样才能满足大数据人才培养的需求[3]。

1.1 大数据知识体系

大数据技术目前已经形成了较庞大的知识体系,如图1 所示,其中学生需要掌握较多的先修知识如Java 基础、Linux 基础、数据库原理以及R 或Python语言编程等,因此大数据课程往往作为高年级本科生或研究生课程来讲授。目前主流大数据技术以Hadoop、Spark 和Flink 相关技术为代表,这三部分将作为课程的核心内容来讲授。对于Hadoop 生态圈将重点讲授分布式文件系统HDFS、分布式数据库HBase以及数据仓库工具Hive;对于Spark 生态圈,则需要讲授SparkRDD 各种算子的使用、Spark Streaming、Spark SQL 和MLlib 的使用;对于Flink 技术,讲授其基本原理和核心API,掌握这部分核心知识,能够让学生快速构建出大型的离线或实时的应用项目。另外要完成整个大数据分析处理过程,除了上述核心技术,数据采集、数据可视化等过程也是必不可少的,课程将选取典型的相关技术进行讲授,如数据采集中的Kafka、Flume 和Sqoop 等技术。通过向学生展示大数据知识体系,让学生对大数据技术有宏观的认识,在课程学习过程中,逐渐形成自己的学习路线和建立起自己的大数据知识体系。

图1 大数据知识体系

1.2 大数据课程群内容

大数据课程群需要基于大数据知识体系来进行合理的建设,其相关课程如表1 所示。课程类型涉及程序设计基础课程、专业基础课程、大数据基础课程和大数据核心课程。其中程序设计基础课程主要培养学生的基本编程能力,尤其需要掌握与大数据技术相关的Java 语言以及Python 语言,为从事大数据开发奠定基础;专业基础课程为计算机专业的通用课程,为大数据技术提供运行环境和操作的相关知识基础;大数据基础课程则从宏观上讲授大数据基本概念特点等知识,让学生对大数据有感性的认识并激发其学习兴趣;大数据核心课程则重点讲授大数据的各种技术及工程应用,让学生接触到大数据的真实应用开发场景并培养大数据思维方式,课程群涵盖从低年级到高年级,让学生循序渐进地掌握大数据的理论知识,并具备大数据开发和实践的能力[5]。

课程群的建设离不开软硬件平台和理论实践教学内容的支撑,通过研究与建设基于大数据生态系统的通用大数据分析系统,支撑大数据相关课程的案例教学及模块化的实践环节设计,即教师通过大数据分析系统,可在课程中针对不同行业的数据进行定制分析处理,使学生可体会不同行业、不同类型数据的不同分析处理过程[6];并通过大数据分析系统,有针对性地学习大数据组件安装、使用及运维等知识,实现大数据技术体系的模块化学习,同时根据大数据技术的发展不断更新系统中的知识,教学与实践环节内容相辅相成,逐步使系统、教学内容、实践环境三个方面趋于完善。

表1 大数据课程群课程

2 基于Hadoop 的通用大数据分析系统

大数据分析系统底层将使用Hadoop 生态系统以及Spark 等组件作为存储和计算引擎,其功能模块将主要分为主题管理模块、数据探索模块、数据预处理模块、算法模型模块四部分,如图2 所示。

图2 大数据分析系统功能结构图

主题管理模块主要为解决数据安全性而设计的,数据分析人员基于业务对主题进行描述,选择相应数据源,最终确定主题,每个主题对应一套针对自己业务的数据集以及数据处理流程。由于同一数据分析人员业务背景相同,其分析不同的主题可能用到相同的数据,而不同的数据分析人员可能用到相同的算法模型,因此,应用主题管理模块便于对数据分析人员复用权限的管理;数据探索模块中,数据分析人员需根据数据特征的分布来判定如何对数据进行预处理、选择什么样的特征以及如何构建合适模型,当加载数据源后,针对不同数据类型,数据分析人员往往看重的分析指标又不尽相同,此时,该模块可根据数据列类型给出基本的数据描述字段,使数据分析人员更清楚地认识数据,为数据预处理和模型构建做准备;数据预处理模块可对分析数据进行半自动化预处理,系统通过数据分布提出相应的数据处理建议,数据预处理方法由数据分析人员来决定;在算法模型模块中,数据分析人员可以通过该模块进行算法模型的定义并上传已实现的算法模型文件,其余数据分析人员可输入指定的参数来调用模型,最终平台按照输出类型将结果输出。

借助于该系统的研究与建设,可支撑大数据相关技术的教学工作,一方面,教师可通过该系统展示相应的课程内容,例如,如何进行数据的预处理、数据分析以及数据可视化效果如何等内容,让学生可专注于某一具体的技能进行学习;另一方面,学生通过浏览器访问该系统,可在线完成开放式实验,学生可选择深入学习某一技能,也可通过流程完成整个大数据分析的过程,从局部和整体掌握大数据知识[7-10]。

3 “案例式”大数据课程内容建设

针对大数据课程中课程内容滞后于应用的现状,通用大数据分析系统的建设,将为教师教学和学生学习提供面向不同行业的数据分析场景。大数据的技术框架本身多种多样,学生全部掌握从课程学时和学生时间上来说都是不允许的,所以考虑用一个案例贯穿课程全部,将案例进行分解后对应到课程章节的内容之中,这样每次课学生可学习到部分的内容,并通过案例来直观了解到每部分内容是如何来实现实际应用的,同时将案例分解为子任务,采用任务驱动的形式让学生能够保持不断地学习和实践,以加深对每个知识点的理解。另外可考虑提供多种不同的案例供学生进行选择,这样课程在主体内容不变的情况下,让不同的学生体会到不同的数据处理场景在技术选型上的差别,从而增加学习的有效性,最终可设置答辩展示环节让大家多参与并感受到不同的案例在实施上的不同,引发更多的思考和体会。

3.1 案例式教学设计

大数据许多理论知识比较难以理解,仅靠讲授原理难免让学生感觉抽象乏味,另外大数据技术框架复杂,让学生在课时内掌握所有技术也不现实,可以采用案例式教学方法,具体为:课程内学时让学生学习一套该案例的解决方案,课程外学时可让学生去探索不同的解决方案或其他类似案例的一套完整解决方案,这样就起到了举一反三的效果;同时案例式教学的方式,使学生学到的知识可以快速落地,快速看到自己完成的成果,从而提高自身的学习兴趣[11]。

表2 展示了“以Spark 对电影评分数据集的处理并实现推荐系统”为例的案例式教学设计,在课程讲授Spark 基础知识时,可对该案例进行引入,同时对数据集进行说明,让学生思考借助于Spark 的知识如何去处理该数据,同时将Spark MLlib 中的协同过滤算法对应到处理需求中去,让学生更直观地体会到该算法的处理过程;在基本操作环节,可借助于Spark Shell 操作对数据进行一些简单的操作和探索,让学生对基本操作有一定的掌握;而最终目标是实现数据处理功能,则要讲授应用开发的一些方法和模式,让学生能够动手编程来实现推荐系统;对于平台维护方面,则需要在课程中讲解基本的配置方法,并让学生在实现这个案例的过程中自己进行环境配置并调试出现的bug。这样,一个完整的数据处理案例就被结合到课程讲授过程中,学生可以更容易地对整个数据处理过程有清晰的认识,并通过理论加实践的教学过程掌握Spark 组件的知识点。

表2 案例式教学设计(以Spark 为例)

3.2 任务驱动式学习

由于将案例贯穿到整个课程的教学过程中,可让学生从课程开始就进行案例的探索与实践,即自然地采用任务驱动式教学模式。整门课程让学生在学习知识点的同时进行实践,达到理论和实践相辅相成的目的,这就需要精心设计理论和实践环节,将整个案例设计成子任务的形式。

以“Hadoop 技术实践”课程为例,了解和掌握大数据的整个处理流程是本课程教学内容建设的关键,因为只有结合具体的大数据处理流程才能做到真正将Hadoop 技术付诸实践[12],大数据的处理流程主要包括数据采集、数据预处理、数据存储、数据分析挖掘以及数据可视化,同时还要考虑大数据安全等问题,可将这些问题贯穿到整个大数据课程教学中。以该课程采用的手机销售和评论数据分析系统作为案例,通过用户的评价信息分析用户的购买习惯和偏好,并为用户推荐合适的产品,系统的整体架构如图3 所示。

图3 购物系统架构设计

基于该整体架构并分析后将整个项目分解成子任务的形式,见表3。这些子任务伴随着课程的相关知识点,通过实践让学生加深对大数据处理过程的认识,并对相关大数据技能进行掌握。

表3 案例任务分解

4 “模块式”大数据实践环节创新设计

“模块式”的概念可以从两个层面来理解,首先是技术内容的抽取,相关专业可以按照自身课程内容的设置、课时安排灵活地从大数据分析系统中,选取与理论内容相对应的实验内容来构成适合教学内容的实验教材;另外实验内容的抽取,实践环节为每一个技术都设计了一定数量的实验,教师可根据学生的能力以及课时安排来为每个技术选择相应的实验内容[13-14]。

4.1 模块化实验项目内容

在大数据实践内容设计上,将大数据技术分门别类后组成不同的技能模块,如分布式存储模块、大数据通用处理平台模块和机器学习模块等,如图4 所示,所涉及的技术都能及时反映当前行业中大数据相关领域的主流技术,每个技术框架都有单独的实验,学生可根据自己感兴趣的方向学习相关的知识,如学生对数据分析挖掘感兴趣,则可学习编程语言模块中的Python 技能和数据分析挖掘模块中的相关数据分析挖掘方法;而教师在准备实验内容时可根据课程要求挑选相关的实验,如机器学习课程可重点选择机器学习模块中的各类算法实验以及机器学习工具模块中的某种具体工具包实验来组合完成课程实验内容。这种模块式的实验设计方案,使得教师教学和学生学习知识更加灵活,同时有利于学生对不同模块之间的知识组合进行探索,如学生要完成某一具体的大数据分析案例,则需要根据应用场景进行技术选型的工作,模块式的结构可让学生从相应功能的模块中选择符合场景的技术来进行组合后完成应用的功能。

图4 大数据技能模块图谱

另外,大数据技术领域非常多,且每个技术领域涉及到各种不同的组件,如数据处理的主流技术就有MapReduce、Spark、Storm、Flink 等,教师在学时内不可能将所有的技术都教给学生,采用模块化的设计有助于将各类技术分门别类后供选择学习使用,且对不同模块进行技术选型后进行组合又可完成一个完整的大数据案例,图5 是数据仓库模块中Hive 相关内容,可以看出仅Hive 的内容就有很多部分,教师可根据课程内容选择讲授与实践,如仅仅使用Hive 构建数据仓库并进行简单数据分析,则可仅讲授Hive 体系架构、Hive 命令行、HiveQL、数据表设计的知识,其余内容则由学生根据兴趣进行选择,在有限的课时内,让学生抓住课程的核心内容。

4.2 应用型实训内容

实践环节是确保大数据课程教学质量的重要环节。大数据课程群实验教学分为课内实验教学和课外实训教学,课内实验学时往往较少,为了让学生能够更好地理解大数据的理论知识,通常包括验证型实验、设计型实验两部分,验证型实验由教师提供实验内容和步骤,由学生进行实验结果的复现,设计型实验则由教师给出应用场景,由学生进行设计并实现。课外实训教学是独立于课程教学特设的实验教学项目,通常采用综合型实验项目,让学生综合运用大数据技术,解决实际应用场景中的问题。

图5 数据仓库模块内容——以Hive 为例

表4 是以HDFS 为例展示的实训内容,其中,验证型是让学生熟悉HDFS 的基本操作以及开发接口,设计型是单独使用HDFS 完成其常用功能的开发如网盘的设计与实现,学生需要考虑HDFS 的特点并且结合系统开发的知识来完成,综合型则需要学生综合使用多种大数据组件,根据实际应用场景需求,进行技术选型后,搭建系统并进行相应的开发工作,这就需要学生对各个组件之间的连接进行实践。

表4 实训内容(以HDFS 为例)

除了让学生完成教学计划中的实训课程,还应该通过其他实践形式让学生接触大数据的相关场景。例如,目前大数据及机器学习相关的学科竞赛较多,应组织感兴趣的同学积极参加;高校教师承担的相关科研项目可向部分本科生开放,使他们较早地接触到科研工作;通过实习或毕业设计环节来让学生接触并实践更多的大数据课题,培养学生解决复杂问题的能力。

5 结语

以“新工科”专业人才培养为目标,借助云计算与大数据平台作为支撑,设计相关课程内容和体系以及配套的实践教学内容,利用大数据和机器学习相关的竞赛,较好地培养学生大数据分析处理的能力,使其在就业上更有竞争力。

猜你喜欢

讲授案例模块
28通道收发处理模块设计
“选修3—3”模块的复习备考
案例4 奔跑吧,少年!
随机变量分布及统计案例拔高卷
发生在你我身边的那些治超案例
我学习和讲授世界民族音乐课程的经验和体会
一个模拟案例引发的多重思考
药学专业药物分析课的讲授方法探讨
集成水空中冷器的进气模块
浅谈数学课堂讲授的时机选择