大数据人才培养实践课程体系构建研究

2019-03-05 03:43孙晓霞刘井莲赵卫绩吴亚明刘文龙
延安职业技术学院学报 2019年4期
关键词:程序设计学期编程

孙晓霞,刘井莲,赵卫绩,吴亚明,李 欣,刘文龙

(绥化学院信息工程学院,黑龙江绥化152061)

随着国家信息化建设的全面实施,我国各行各业对大数据人才的需求非常迫切,大数据方面的高级人才更是极度匮乏,培养适合社会需要的大数据应用型人才,搭建大数据实践教学课程体系,是非常必要的。

一、大数据人才培养现状

大数据技术人才的极度缺乏,为高校大数据专业建设提供了发展空间,给高校大数据人才培养带来了机会。政府的大力扶持和数据产业链的不断完善,给高校大数据人才培养提供了较好的生态环境,全国各高校都在积极申报“数据科学与大数据技术”专业或开设“大数据”人才培养方向。2014年,清华大学设置了大数据技术的相关硕士学位,多学科交叉培养大数据技术人才,正式开启了该领域专业技术人才培养的工作。2016年,我国开始建设本科“数据科学与大数据技术”专业,教育部批准中南大学、对外经济贸易大学、北京大学建立“数据科学与大数据技术”本科专业;2017年,教育部批准32所高校设立“数据科学与大数据技术”本科专业,2018年,批准248 所高校设立“数据科学与大数据技术”本科专业,其中黑龙江省获批5所高校。2019年初,教育部又公布了203所高校获批设立“数据科学与大数据技术”新专业,其中黑龙江省获批7所高校。到2019年,我国共有406 所高校获得招收“数据科学与大数据技术”本科专业资格。在这些院校中,不仅有复旦大学、北京邮电大学这样的985、211高校,也有晋中学院、宿州学院和许昌学院等新建本科院校。由于获批招收大数据专业的院校水平参差不齐,专业建设匆忙,课程体系构建不完善,特别是新建本科院校这一问题更加突出。

朝乐门等人提出数据科学与大数据技术专业应重视的特色课程,对现阶段我国数据科学教育中普遍存在的曲解现象进行了分析,并给出对策建议。詹玲在探讨文华学院计算机专业大数据方向课程建设目标的基础上,从课程群规划、理论教学、实践教学三个方面提出了一系列提高学生综合应用能力的高效的方法。姜立秋探索了大数据专业课程体系、大数据实践教学资源建设和课程内容等问题。黄晋探讨大数据课程体系结构及教学内容、教学形式,强调校企合作共同培养人才的重要性。培养方案是课程体系建设和课程设置的指导方针,杨洪等人对数据科学与大数据技术专业培养方案进行了系统分析与定义,对该专业人才实践能力培养进行了探索与实践。刘风华等人对计算学科大数据方向的人才培养的目标、理论与实践课程体系构建进行了讨论。

大数据方向实践能力课程体系是决定大数据人才培养是否符合用人单位需求的关键环节,当前针对大数据方向的实践课程体系研究相对较少,基于此,以绥化学院计算机专业大数据人才培养方向为例,从大数据人才培养需求和社会需求入手,围绕程序设计、大数据分析与处理技术这两大方向的实践能力培养,探讨新建地方本科院校大数据人才培养方向的实践课程体系构建,有助于培养适合社会发展和市场需求的大数据技术应用型人才,满足国家信息化发展战略需求。

二、实践课程体系构建

大数据技术主要是指处理与分析实际数据的能力,具备海量数据采集、数据存储、数据管理、数据分析与挖掘以及数据可视化的工程实践能力。通过走访多家使用大数据人才的用人单位,查询各大招聘网站上大数据人才招聘信息,了解行业对大数据人才的具体技能需求,在得出需要技能性、应用型大数据人才的结论基础上,梳理出适合新建本科院校“数据科学与大数据技术”专业或“大数据”人才培养方向的实践课程体系,确定了程序设计及算法类课程模块群及大数据分析与处理技术课程模块群。

(一)程序设计及算法类课程模块

大数据的挖掘和分析要借助计算机技术来实现,而计算机技术基本能力的体现是程序设计水平。在大数据实践课程体系中,应该开设与数据挖掘和数据分析配套的计算机编程类课程,对于大数据应用能力培养至关重要。为了培养学生程序设计能力,特别是编写程序解决实际问题的能力,课题组对程序设计类的实践课程从课程性质、开课内容、开设学期等进行了详尽的安排。

1.C 语言程序设计。应该掌握数据类型、输入输出,顺序结构、选择结构、循环结构等基本知识,掌握利用数组、函数、字符串、指针、结构体、链表进行程序设计的方法等。建议设置为专业必修课程,大学一年级第一学期开设。

2.Java 程序设计。主要教学内容包含语法基础、程序流程、函数、数组、面向对象编程、字符串,常用的工具类、内部类等,以及集合、泛型、异常、文件与I/O 流、多线程、图形用户界面编程、数据库编程等高级应用。建议设定为专业必修课,大一第二学期开设。

3.数据结构(Java版本)。主要教学内容包含线性表、栈、队列、树、集合和映射表、图、排序、查找、散列等。建议定为专业必修课,大二第一学期开设。

4.Scala 程序设计。主要教学内容包含Scala 基础语法、流程控制、函数、数组、Map、Tuple,面向对象编程、函数式编程、模式匹配、类型参数、隐式转换与隐式参数、对象系统、类型系统、Scala 工具和库、宏与反射等。建议定为专业必修课,大三第一学期开设。

5.Python语言程序设计。主要教学内容包含语法基础、流程控制、字符串、列表、元组、字典、集合、函数,面向对象编程、图形用户界面、数据库编程、网络编程,以及NumPy、SciPy、Matplotlib第三方程序库等。建议定为专业选修课,大二第二学期开设。

6.算法设计与实现(Python 版)。要求掌握穷举、分治、贪婪、概率、递推、递归、随机化、回溯等算法,以及数论、动态规划、经典趣题等。建议定为专业选修课,大三第二学期开设。

7.Java Web 框架高级篇。课程教学内容应注重课程设计,在讲授Struts、Hibenate、MyBatis、Spring等主流框架的基础上,加强SSH、SSM框架整合以及案例分析等。建议定为专业选修课,大二第二学期开设。

(二)大数据分析与处理技术课程模块

为培养学生数据采集、存储、处理能力,课程构建如下:

1.Linus 基础。Linus 是大数据课程的基础,是Hadoop、hbase、NoSQL、Spark、Storm 等大数据课程的先序课程。主要内容包括系统安装及相关配置、网络基础、OpenSSH 实现网络安全连接、文本编辑器、用户和用户组管理、磁盘管理、文件和目录管理、终端常用命令、系统监测与维护。建议设定为专业必修课,大学第一年第一学期开设。

2.Hadoop。Hadoop 是整套大数据课程的基石,目前是海量数据并行处理的一个最常用的框架。课程主要内容包括环境搭建、HDFS 文件系统的架构、功能设计、HDFS Java API 使用、YARN 架构、集群管理、应用监控、MapReduce 编程模型、Shuffle过程、编程调优、分布式协作服务框架Zookeeper等。建议定为专业必修课,大一第二学期设置。

3.大数据仓库Hive。Hive 是基于Hadoop 的一个数据仓库工具,能将结构化的数据文件映射为一张数据库表,能将SQL 语句转换为MapReduce 任务进行运行。课程主要内容包含环境搭建、原数据配置、常见交互方式、内部表、外部表、分区表、数据迁移、常见查询、内置函数和UDF编程,数据的存储和压缩、Hive 常见优化(数据倾斜、压缩等)、数据清洗、导入(ETL)等。建议定为专业必修课,大二第一学期开设。

4.数据采集框架Sqoop/Flume/Oozie。Sqoop 是一款开源工具,主要用于在Hadoop(Hive)与传统的数据库(如MySQL)间进行数据传递。主要内容包含Sqoop 功能、使用原则,RDBMS 数据导入Hive 表、HDFS 上文件导出到RDBMS 表中,文件收集框架Flume设计架构、原理,实时采集数据,Flume安装与监控,任务调度框架Oozie 安装部署,Oozie 调度等。建议定为专业限选课,大二第二学期开设。

5. 大数据Web 开发框架Hue。Hue 是基于Python Web框架的Django实现,使用Hue能在浏览器端的网络控制台上与Hadoop 集群进行交互分析并处理数据。主要内容包括Hue架构、功能、编译,Hue 集成HDFS,Hue 集成MapReduce,Hue 集成Hive、DataBase,Hue集成Oozie。建议定为专业选修课,大三阶段第一学期开设。

6.分布式数据库HBase。HBase 是一个分布式的开源数据库,是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统。主要内容包括环境搭建、shell初步使用(CRUD等)、Schema、表的设计、表的预分区、数据存储模型、HBase Java API 使用(CRUD、SCAN 等)、HBase 与MapReduce 集成、数据导入导出、HBase 表的属性设置、HBase Admin 操作等。建议设为专业限选课,大三第一学期开设。

7.实时数据处理框架Storm。Storm是开源分布式实时数据处理框架,主要内容包括Storm 原理和概念详解、Zookeeper集群搭建及基本使用、Storm集群搭建及测试、Spout与Grouping 策略、Zookeeper 锁控制线程操作、Storm 事务API,Storm Trident 、Storm集群和作业监控告警等。建议定为专业选修课,大三第二学期开设。

8.技术框架Spark。Spark是大数据核心开发内存技术框架,采用Scala 语言实现,是当前最流行的开源大数据内存计算框架。主要内容包括生态系统、环境搭建、Spark 应用提交工具,变量、类、高阶函数,核心RDD、核心组件,Spark on YARN 运行原理、运行模式及测试,Spark HistoryServer 历史应用监控,Spark Streaming 流式计算,Spark Streaming 原理、DStream设计等。建议定为专业必修课,大三第二学期开设。

除开设上述的大数据处理技术和程序设计等课程外,还应面向学有余力的拔尖学生,开设机器学习、数据可视化等一些高端的技术性强的实践课程,让部分学生对最流行的机器学习算法,如回归、决策树、SVM 等有所理解,并鼓励这些学生在高年级参加一些机器学习竞赛,例如著名的kaggle竞赛。

三、结 语

针对国家对大数据技术人才的迫切需求,本文根据我校计算机科学与技术专业大数据方向教学实践,在分析大数据人才培养目标和社会需求的基础上,深入探讨了大数据方向实践课程体系建设的重要性,确定了程序设计、大数据分析与处理技术两个课程模块群,搭建了一套完整的大数据实践课程体系。希望能为新建的大数据相关本科专业实践课程体系建设提供一个有益的参考。今后我们还要进一步探讨、总结和分析实践经验,构建更加科学合理的大数据实践课程体系。

猜你喜欢
程序设计学期编程
新的学期 新的尝试
编程,是一种态度
期末冲刺高二上学期期末模拟卷
元征X-431实测:奔驰发动机编程
编程小能手
基于Visual Studio Code的C语言程序设计实践教学探索
纺织机上诞生的编程
从细节入手,谈PLC程序设计技巧
八年级(上学期)期末测试题(D)
高职高专院校C语言程序设计教学改革探索