王 岩,杨 森,黄 岚,王康平,邹淑雪
(吉林大学 计算机科学与技术学院,吉林 长春 130012)
随着互联网技术的广泛应用与全面普及,数据洪流汹涌而至。自2008 年《自然》杂志提出“大数据”概念[1]起,大数据技术开始涉及我们日常生活的各个领域。在实际生产、消费等过程中会产生大量的数据,这些数据对指导生产过程、市场宏观调控等发挥着重要的作用。这些数据每天以TB 量级产生,传统的单机数据处理模式难以应对如此量级的大数据,而大数据技术正好能克服单机处理能力不足的问题。随着大数据技术的发展,大数据技术广泛地应用在各个行业中,因此急需一批高质量的大数据从业人员满足市场需求。以51job 人才招聘网2019年5 月的招聘信息为例,关于大数据的岗位多达2 万多条(28 832 条)。
在企业实际应用方面,大数据技术正在与数据挖掘、人工智能等技术融合[3]。以大数据为驱动,以数据挖掘、人工智能技术为指导地新的生产方式正在促进生产力的发展。例如智慧城市利用各种信息技术,将城市的系统和服务集成、融合,以提升资源运用效率,优化城市管理和服务,改善市民生活质量。工业4.0 通过数据流动自动化技术,以“互联网+制造业”的智能生产方式,提高生产效率、节约生产成本。大数据技术正在和其他新兴技术融合,从而促进生产力的发展、节约成本、提高管理效率。
目前,许多国家都认识到了大数据的重要性并开始实施大数据战略。美国政府将大数据视为强化美国竞争力的关键因素之一,把大数据的研究和生产计划提高到国家战略层面。英国在 2017年议会期满前,开放有关交通运输、天气和健康方面的核心公共数据库,并在5 年内投资 1 000万英镑建立世界上首个“开放数据研究所”。法国政府在其发布的《数字化路线图》中表示,将大力支持“大数据”的战略性高新技术。鉴于大数据已成为当代国家的竞争力之一,受到许多政府、高校和公司的重视。从2008 年起,美国斯坦福大学就设置了大数据课程作为必修课,把大数据技术作为学生必须掌握的现代科技技术之一。在2009 年后,美国加州大学伯克利分校开设了9 门大数据相关课程。到2018 年为止,美国、澳大利亚、新加坡等国家80%以上的高校开设了大数据课程。表1 是全球部分著名高校开设的大数据及其相关的课程。
2016 年,我国教育部发布的《2015 年度普通高等学校本科专业备案和审批结果》中首次增设数据科学与大数据技术专业。到2018 年为止,全国已有248 所高校开设了大数据专业课程。其中部分高校还建设了大数据学院和大数据研究院。表2 是国内部分高校的大数据课程开设情况。
表1 国外一些高校的大数据课程开设情况
表2 国内一些高校的大数据课程开设情况
大数据课程需以大数据编程语言为基础、大数据计算框架为核心、大数据算法为升华、大数据应用为落脚石,同时大数据还需结合时代发展的趋势,融合、接纳、包容其他领域专业知识。大数据编程语言作为大数据从业者学习和工作的基本工具,有了大数据编程语言的基础才能更加深入的了解大数据计算框架的核心思想,从源码级别理解大数据架构的设计理念。只有理解了大数据框架的设计理念,才能将以MapReduce 为核心的大数据算法合理、高效地部署在大数据计算平台上。在充分理解、掌握大数据编程语言、框架设计以及大数据算法后,以实际的应用为出发点,灵活运用各种大数据技巧和方法,解决生产、科研中的实际问题,为社会创造价值。目前,大数据相关课程还在建设初期,教学案例还不够丰富,课程体系建设还有待提高[4],但相关的课程建设正在积极探索中。大数据课程主要包括大数据存储、大数据算法、大数据平台构建等方面,涉及Linux 操作系统的使用,Python、R、Java 等编程语言,Hadoop、Spark、Storm、HBase、Hive 等计算框架,数据挖掘、人工智能、机器学习等大数据算法以及大数据可视化等众多技术。在实际的大数据应用过程中往往需要结合多种技术,这大大增加了学生的学习难度。
在如此庞大的大数据市场和人才培养需求面前,如何合理组织和安排大数据课程的整体教学,已成为急需探讨和解决的问题[5]。在国内外高校的大数据教学中,基本把整个大数据的课程分为基础部分和高级部分,分别在2 个学期授课。其中大数据基础部分以Python、R、Matlab、Hadoop、Spark、Storm 等编程语言和云计算等大数据基础框架的学习为主,大数据高级部分则是以大数据分析课程为主,由数据挖掘、人工智能以及大数据实践等课程支撑。在一些高校中,授课教师除了授课之外,还设置课外大数据实践课题,学生以小组为单位,完成选定的课题。这些实践课题的完成程度将会作为期末成绩的一部分。在课堂上,授课教师还定期回答学生在实践过程中留下的问题,学生可根据自己的情况及时发言或讨论,从中获得自己想要的知识。
参照国内外多所高校的大数据教学计划,依据吉林大学最新教学大纲的大数据教学任务,笔者提出大数据课程教学体系构建方案(如图1 所示)。在第4 学期的Java 程序设计、Linux 实践基础、数据库技术和算法设计的课程基础上,在第5 学期开设云计算技术的相关课程,云计算技术课程包括分布式云计算存储技术、Hadoop、Spark、Storm 等教学内容。学生在学习云计算技术的同时,还需要学习数据挖掘、人工智能等课程。在此学习阶段,学生需要学习Python、R、Matlab 等大数据分析编程语言,还要学习常见的数据挖掘、人工智能算法,并且还需要能够根据实际的应用情况熟练地使用Hadoop、Spark、Storm 等大数据计算框架。在第6 学期,吉林大学还开设了企业实训大数据、电子商务技术及应用课程,这2 门课程更加强调学生的实践能力。最后在第7 学期,开设了生物信息学课程,作为部分准硕士研究生的预备课程。大数据课程理论结合实践,注重程序和架构的设计;结合数据挖掘、人工智能基础实现电子商务、生物信息学等实践教学任务。在任务和项目驱动的教学理念下,制订实践教学内容(见表3);强调实践应用的重要地位,融入大数据框架、大数据数据库和数据挖掘、人工智能算法等内容,为学生实际操作提供指导。
大数据程序设计课程是大数据课程的基础,侧重大数据计算框架部署和理解,同时还需要将Java、Python、R、Shell 和Linux 基础等多门基础课程结合。大数据程序设计是大数据教学体系整体框架中的核心部分,也是后期以大数据为核心专业课程开设的基础。
图1 以大数据为核心、大数据应用为拓展的大数据课程教学体系
表3 任务与项目为驱动的实践教学设置
大数据程序设计课程设立在第5 学期,以Hadoop、Spark 大数据计算框架为主,在介绍和讲解大数据基本概念的同时,需要学生深入理解框架内部细节,熟悉大数据计算框架的数据存储、数据传输、作业调度、集群维护以及提高大数据代码调错能力,并进一步深刻认识和理解MapReduce 的编程思想;同时,在基于大数据计算框架的基础上,学生还需要熟悉和掌握大数据数据库技术、常见的大数据数据库框架,如Hive、HBASE 等,熟练掌握大数据数据库的增、删、改、查等操作。通过各章节实例,学生进一步熟练掌握计算机 IDE 编程环境,如Eclipse、IDEA 等,进行程序的编写和调试;并通过上机实践学习MapReduce 编程思想、数据分析编程语言以及大数据框架的构成(见表3)。大数据的编程基础为后续以任务与项目为驱动的教学模式奠定开发基础;同时,在整个授课过程中,应时时贯彻MapReduce 设计思想,反复强调先设计后动手的软件工程设计理念,并穿插大数据在企业界的真实案例,给学生以实际应用的宏观概念,为后续以大数据为核心的数据挖掘实践课程奠定应用基础。最终提交设计文档,并提供程序演示等内容。
随着数据挖掘、人工智能的迅速发展,这为大数据发展带来了新的契机[6]。大数据与数据挖掘、人工智能的结合是未来大数据发展的前景。
对于大数据开发者来说,大数据与数据挖掘、人工智能的结合既是一个挑战,也是一个机遇。挑战是掌握数据挖掘、人工智能技术和算法需要重新投入学习成本;机遇是掌握数据挖掘、人工智能技术的算法之后可让职业生涯达到一个新的高度。数据挖掘、人工智能技术是一个新的发展趋势,他们作为大数据课程的另一门连续与延伸性实践课程,目的是使学生掌握数据挖掘、人工智能基本技术,熟悉各种分类、聚类、神经网络、强化学习等算法的基本内容,从而为学生结合大数据与数据挖掘、人工智能奠定坚实基础,有利于广大学生拓展就业途径,并提供创业机会,具有良好的社会效益前景。
大数据与数据挖掘、人工智能结合课程仍然以课堂和实践课程形式进行讲授,延续任务与项目为驱动的教学模式,时时讲解、时时操作。在讲授16 学时基础课内容后,利用32 学时时间,进行与数据挖掘、人工智能结合的大数据项目的实际操作。搭建开发环境、进行数据预处理、建立模型、选择参数。例如全国各地房价预测、交通枢纽车辆数量预测等实践应用(见表3)。同样,学生以分组分工协作形式完成项目内容,最终提交设计文档,并提供程序演示等内容。
大数据技术作为一门新兴的科技技术,已经在各国政府和企业得到了广泛的使用,并取得了良好社会效益和经济效益。在近5 年的发展过程中大数据技术结合数据挖掘、人工智能等前沿技术为人类提供了便利、智能的生活方式。在如此庞大的大数据市场和人才培养需求面前,需要提供合理的课程讲授体系和实践内容,构建以提高学生能力和素质为目标的大数据人才培养教学体系架构。