林子雨报告全文:高校大数据课程资源建设和教学经验分享

高校大数据教学经验总结系列文章之四

第1届全国高校大数据教学研讨会大会特邀报告

《高校大数据课程资源建设和教学经验分享》

厦门大学计算机科学系   林子雨 博士/助理教授

(E-mail: ziyulin@xmu.edu.cn   个人主页:http://www.cs.xmu.edu.cn/linziyu

(大会官网下载本报告PPT   | 查看其它嘉宾报告PPT)

扫一扫手机访问本网页

【会议介绍】2017年5月12日至13日,第1届全国高校大数据教学研讨会(BDTS2017)在厦门大学科艺中心音乐厅隆重举行。本届研讨会由教育部高等学校计算机类专业教育指导委员会主办,厦门大学、厦门理工学院、贵州师范大学、人民邮电出版社联合承办,旨在搭建专业的大数据教学交流平台,汇聚全国高校大数据教学精英力量,共同探讨大数据专业和课程体系建设,为加快推进全国高校大数据教学发展贡献力量。来自全国300多所院校的400余名教师参加了本次研讨会。厦门大学谭绍滨校长助理、人民邮电出版社教育中心营销部肖稳副主任,北京大学、中国科学院、厦门大学、华东师范大学、同济大学等重点院校的6位大数据教学知名专家,以及来自国内知名大数据企业的3名业界专家出席会议并做特邀大会报告。厦门大学林子雨助理教授主持会议。

【摘要】为了加快中国高校大数据课程体系建设,促进中国高校大数据教学水平不断提升,迫切需要加快高校大数据课程资源建设,从而获得中国高校大数据教学事业的长足发展。在本报告中,讲者将以自己在厦门大学主讲本科生课程《大数据技术原理与应用》和研究生课程《大数据处理技术Spark》的实践经验为基础,结合自己编著的《大数据技术原理与应用》和《Spark入门教程》教材,与参会者分享讲者在大数据课程资源建设方面的丰富成果和相关教学经验。

【关键词】高校;大数据;课程;教学;公共服务体系;Spark;大数据技术原理与应用

尊敬的各位来宾,大家上午好!

很荣幸,作为大会东道主为大会献上最后一个特邀报告。今天的报告里,我将首先简短回顾一下我们厦门大学数据库实验室团队,过去四年里,在大数据教学方面所做的大量工作,其次,会结合自己在厦门大学主讲本科生课程《大数据技术原理与应用》和研究生课程《大数据处理技术Spark》的实践经验,与大家探讨如何建设这两门大数据课程,并分享相关的课程配套资源。

一、大数据课程公共服务平台

从2013年开始,厦门大学数据库实验室历时四年时间,投入100多万元经费,建设了中国高校大数据课程公共服务平台,重点打造了11大子工程,成为全国高校大数据教学知名品牌,平台每年访问量超过100万次。

(1)制作1份精美的大会宣传册,1部3分钟FLASH动画宣传片(观看),1段5分钟大数据课程教师培训交流基地宣传片(观看)。

(2)出版1本《大数据技术原理与应用》教材(教材官网),成为国内众多高校开课教材,京东、当当等各大网店畅销书籍。

(3)开展大数据公开课全国高校巡讲计划(查看),累计巡讲8个省、10个高校、1个科研院所、12场公开课,累计听众人数超过1500人。

(4)建设了4个示范班级(查看),大数据技术基础2013班级、大数据技术基础2016班级、大数据处理技术Spark2017班级、大数据技术原理与应用2017班级。

(5)制作上线了1门《大数据技术原理与应用》在线课程(观看),开辟大数据课程网络讲授平台。2016年3月28日林子雨主讲《大数据技术原理与应用》在网易云课堂正式上线,2017年5月12日学习人数超过3万2千人,99%为5星级最高评价,长期稳居热门排行榜第1名,被众多网友评为“经典课程”。

(6)建设1个大数据课程教师培训交流基地,已经开展4期公益培训,累计有来自全国各地100余所高校的100余位大数据课程教师参加了培训交流(查看)。

(7)承办3次全国性计算机专业教学研讨会,包括第5届高等学校计算机程序设计课程研讨会(2015年12月5日-6日)(查看)、NDBC2016全国高校大数据教学论坛(查看)、第1届全国高校大数据教学研讨会(查看)。

(8)发布多部在线免费大数据教程。2013年9月,发布在线免费电子书《大数据技术基础》;2014-2016年,发布并持续更新在线教程《大数据软件安装和基础编程指南》;2016年10月,发布免费在线教程《Spark入门教程》(访问在线教程)。

(9)发布3个大数据课程综合实验案例,包括(a)大数据课程实验案例:网站用户购物行为分析(查看);(b)Spark课程综合实验案例:淘宝双11数据分析与预测(查看);(c)Spark课程实验案例:Spark+Kafka构建实时分析Dashboard(查看)。

(10)建设1个大数据课程教师交流群(QQ群号:461510122),促进大数据课程教师之间的沟通和交流。截至目前,已经有来自全国241所高校的349名教师加入交流群(查看)。

(11)开设1个微信公众号(子雨大数据):跟踪行业热点、汇集百家观点、分享教学经验、推荐经典书籍(查看)。

二、大数据技术原理与应用课程建设经验

下面,我将从课程定位、教材选择、课时安排、实验内容、考核方法、课程资源等方面,介绍《大数据技术原理与应用》课程的建设方法和经验。

(一)课程定位

《大数据技术原理与应用》课程的定位是入门级课程,该课程的目标是“构建知识体系、阐明基本原理、引导初级实践、了解相关应用”。

授课对象是计算机相关专业的本科生。由于该课程具有较强的计算机专业知识要求,因此,本课程不建议非计算机专业学生选修。
知识储备:编程、操作系统、数据库。

(二)教材选择

本课程采用厦门大学林子雨编著《大数据技术原理与应用(第2版)》,本书系统介绍了大数据相关知识,全书共有15章,系统地论述了大数据的基本概念、大数据处理架构Hadoop、分布式文件系统HDFS、分布式数据库HBase、NoSQL数据库、云数据库、分布式并行编程模型MapReduce、基于内存的分布式计算框架Spark、流计算、图计算、数据可视化以及大数据在互联网、生物医学和物流等各个领域的应用。在Hadoop、HDFS、HBase、MapReduce和Spark等重要章节,安排了入门级的实践操作,让读者更好地学习和掌握大数据关键技术。

大数据课程和云计算课程存在知识点的交叉,因此,大数据课程教材和云计算课程教材的选择一定要慎重,否则可能出现一系列教学问题,给教师教学和学生学习都造成严重困扰。关于这个问题,可以参考《关于高校大数据教学若干关键问题的探讨》。

(三)课时安排

课程共16周,每周2学时,总计32学时。

章或节 主要内容 学时安排
1 介绍大数据的基本概念和应用领域,并阐述大数据、云计算和物联网的相互关系 2
2 介绍大数据处理架构Hadoop 2
3 分布式文件系统HDFS的基本原理和使用方法 4
4 分布式数据库HBase的基本原理和使用方法 4
5 NoSQL数据库的概念和基本原理 2
6 云数据库的概念和基本原理 2
7 分布式并行编程模型MapReduce原理和使用方法 6
8 流计算基本原理 2
9 图计算基本原理 4
10 数据可视化概念、工具和案例 2
11 大数据在互联网领域的典型应用:推荐系统 2
总计32学时

(四)实验内容

1. 上机实验指南

提供了全套机房上机实验指南,包含题目和答案,用于入门级大数据课程的上机实验课,每个实验都需要连续4节上机课来完成,每个实验的设计,都充分考虑了学生的基础和能力,力求学生能够在连续4节课的上机时间内,顺利完成课程实验,提交实验报告(下载实验指南)。

实验一:熟悉常用的Linux操作和Hadoop操作

实验二:熟悉常用的HDFS操作

实验三:熟悉常用的HBase操作

实验四:NoSQL和关系数据库的操作比较

实验五:MapReduce初级编程实践

2.综合实验案例

大数据课程实验案例《网站用户购物行为分析》,采用2000万条用户购物数据集,案例涉及数据预处理、存储、查询和可视化分析等数据处理全流程所涉及的各种典型操作,涵盖Linux、MySQL、Hadoop、HBase、Hive、Sqoop、R、Eclipse等系统和软件的安装和使用方法,案例适合高校(高职)大数据教学,可以作为学生学习大数据课程后的综合实践案例(查看)。

(五)考核方法

平时签到考勤10%,上机实验报告20%,期末大实验20%,期末笔试成绩50%。

(六)课程资源

1.《大数据软件安装和编程实践指南》(查看
详细学习如何安装运行各种大数据软件以及如何进行初级编程实践,包括Hadoop、HDFS、HBase、MapReduce、Spark、MongoDB等安装、操作、编程指南。

2.《大数据技术原理与应用》备课指南(查看
详细说明了教师如何备课,包括教学大纲、讲义PPT、授课视频、课后习题、上机题目等。

3.《大数据技术原理与应用》授课视频(查看
林子雨主讲的全套大数据课程视频,供老师上课参考。课程内容涵盖大数据、云计算和物联网概念及其相互关系、大数据处理架构Hadoop、分布式文件系统HDFS、分布式数据库HBase、NoSQL数据库、云数据库、分布式并行编程模型MapReduce、图计算、流计算、基于内存的大数据处理框架Spark、基于Hadoop的数据仓库Hive、大数据在不同领域的应用等。

4.《大数据技术原理与应用》实验指南(查看
用于机房统一上机,包含题目和答案,具体如下:
实验一:熟悉常用的Linux操作和Hadoop操作
实验二:熟悉常用的HDFS操作
实验三:熟悉常用的HBase操作
实验四:NoSQL和关系数据库的操作比较
实验五:MapReduce初级编程实践

5.大数据课程教师交流群(查看

大数据课程教师交流群(QQ群号:461510122),促进大数据课程教师之间的沟通和交流。截至目前,已经有来自全国241所高校的349名教师加入交流群。

三、大数据处理技术Spark课程建设经验

(一)课程定位

大数据技术进阶学习课程,通过Spark课程学习,让学生掌握高级数据分析能力,能够实现对大规模结构化和非结构化数据的复杂分析处理(比如使用机器学习算法)。
授课对象:本科生、研究生(计算机相关专业)
知识储备:Java编程、数据库、操作系统、Hadoop
先修课程:入门级大数据课程,比如:大数据技术原理与应用
(二)教材选择

林子雨编著在线免费《Spark入门教程》。Spark是当前最热门的大数据处理框架,林子雨编著《Spark入门教程》,让初学者零基础零障碍学习Spark。教程采用Scala语言编写Spark应用程序,因此,教程包括Scala入门和Spark入门两个部分的内容。Scala入门,主要介绍基础的Scala语法知识,为编写Spark应用程序奠定基础。Spark入门包括:第1章 Spark的设计与运行原理、第2章 Spark的安装与使用、第3章 Spark编程基础、第4章 Spark SQL、第5章 Spark Streaming、第6章 Spark MLlib。

第一部分:快学Scala

第一章 Scala简介

第二章 Scala安装

第三章 Scala基础:声明值和变量、基本数据类型和操作、Range、打印语句、读写文件

第四章 控制结构:if条件表达式、while循环、for循环、数据结构、数组、列表、元组、集、映射、迭代器

第六章 类

第七章 对象

第八章 继承

第九章 特质

第十章 模式匹配

第十一章 函数式编程:函数定义和高阶函数、针对集合的操作、遍历操作、map操作和flatMap操作、filter操作、reduce操作、fold操作、函数式编程实例WordCount

第二部分:Spark速成(Spark2.1.0版本)

第1章 Spark的设计与运行原理:Spark简介、Spark运行架构、RDD的设计与运行原理、Spark的部署模式

第2章 Spark的安装与使用:Spark的安装与使用、第一个Spark应用程序:WordCount、使用开发工具Intellij idea和Eclipse编写Spark应用程序、Spark集群环境搭建、在集群上运行Spark应用程序

第3章 Spark编程基础:RDD编程、键值对RDD、共享变量、数据读写(文件数据读写、读写HBase数据)

第4章 Spark SQL:Spark SQL简介、DataFrame与RDD的区别、DataFrame的创建、从RDD转换得到DataFrame、读取和保存数据(读写Parquet、通过JDBC连接数据库、连接Hive读写数据)

第5章 Spark Streaming:流计算简介、Spark Streaming简介、DStream操作(DStream操作概述、 输入源[文件流、套接字流、RDD队列流、Apache Kafka、Apache Flume]、转换操作、输出操作)

第6章 Spark MLlib:Spark MLlib简介、机器学习工作流(机器学习工作流、构建一个机器学习工作流、特征抽取、转化和选择[TF-IDF、Word2Vec、CountVectorizer、标签和索引的转化、卡方选择器])、分类与回归(逻辑斯蒂回归分类器、决策树分类器)、聚类算法(KMeans聚类算法、高斯混合模型(GMM)聚类算法)、推荐算法(协同过滤算法)

(三)课时安排

课程共16周,每周2学时,总计32学时。

章(或节) 主要内容 学时安排
第1章 大数据技术概述 大数据的基本概念、关键技术和代表性软件 2
第2章 Scala语言基础 介绍Scala语言基础语法 6
第3章 Spark设计与运行原理 Spark概述、Spark生态系统、Spark运行架构、Spark的署和应用方式 3
第4章 Spark安装和使用方法 安装Spark、在Spark Shell中运行代码、编写Spark独立应用程序、第一个Spark应用程序:WordCount、使用开发工具编写Spark应用程序、Spark集群环境搭建、在集群上运行Spark应用程序 3
第5章 Spark编程基础 RDD编程、键值对RDD、共享变量、数据读写(文件数据读写、读写HBase数据) 6
第6章 Spark SQL Spark SQL简介、DataFrame、读写Parquet、通过JDBC连接数据库、连接Hive读写数据 3
第7章 Spark Streaming 流计算简介、Spark Streaming简介、DStream操作 3
第8章 Spark MLlib Spark MLlib简介、机器学习工作流、特征抽取、转化和选择、分类与回归、聚类算法、推荐算法 6
合计 32

(四)实验内容

1.上机实验指南

实验1:Linux系统基本命令和Hadoop使用方法

实验2:RDD基本操作

实验3:迭代式算法编程实践

实验4:自定义分区、排序、合并

实验5:利用DataFrame实现数据库的读写

实验6:利用Spark Streaming实现流数据处理

2.综合实验案例

(1)案例1:Spark课程综合实验案例:淘宝双11数据分析与预测(查看
本案例涉及数据预处理、存储、查询和可视化分析等数据处理全流程所涉及的各种典型操作,涵盖Linux、MySQL、Hadoop、Hive、Sqoop、Eclipse、ECharts、Spark等系统和软件的安装和使用方法。

(2)案例2:Spark课程综合实验案例:Spark+Kafka构建实时分析Dashboard案例(查看
由厦门大学数据库实验室团队开发,旨在满足全国高校大数据教学对实验案例的迫切需求。本案例涉及数据预处理、消息队列发送和接收消息、数据实时处理、数据实时推送和实时展示等数据处理全流程所涉及的各种典型操作,涵盖Linux、Spark、Kafka、Flask、Flask-SocketIO、Highcharts.js、sockert.io.js、PyCharm等系统和软件的安装和使用方法。案例适合高校(高职)大数据教学,可以作为学生学习大数据课程后的综合实践案例。
(五)考核方法

平时签到考勤10%,上机实验报告20%,期末大实验20%,期末笔试成绩50%。

结束语

厦门大学数据库实验室在过去四年投入大量精力建设了丰富的大数据课程资源,总体而言,我们的课程建设模式如下:以大量教学实践推动课程和教材建设、以平台思维促进教学资源汇聚和共享、以迭代方法不断优化升级教学内容、自我造血为课程建设提供稳定资金保障。

最后,衷心感谢各位来宾对本次会议的大力支持,让我们共同努力,一起助力中国高校大数据教学事业不断迈上新的台阶。谢谢大家!

附录:作者介绍

林子雨,男,1978年出生,博士(毕业于北京大学),现为厦门大学计算机科学系助理教授,厦门大学数据库实验室负责人。曾任厦门大学信息科学与技术学院院长助理、晋江市发展和改革局副局长。中国计算机学会数据库专委会委员,中国计算机学会信息系统专委会委员。中国高校首个“数字教师”提出者和建设者,2009年至今,“数字教师”大平台累计向网络免费发布超过100万字高价值的研究和教学资料,累计网络访问量超过500万次。编著出版了中国高校第一本系统介绍大数据知识的专业教材《大数据技术原理与应用》,并成为京东、当当网等网店畅销书籍。建设了国内高校首个大数据课程公共服务平台(平台主页),为教师教学和学生学习大数据课程提供全方位、一站式服务,平台年访问量超过100万次,成为全国高校大数据教学知名品牌;建设了国内高校首个大数据课程教师培训交流基地(主页),为全国高校培养大数据课程师资力量。主要研究方向为数据库、数据仓库、数据挖掘、大数据、云计算和物联网,并以第一作者身份在《软件学报》《计算机学报》和《计算机研究与发展》等国家重点期刊以及国际学术会议上发表多篇学术论文。作为项目负责人主持的科研项目包括1项国家自然科学青年基金项目(No.61303004)、1项福建省自然科学青年基金项目(No.2013J05099)和1项中央高校基本科研业务费项目(No.2011121049);作为项目负责人主持的教学课题包括1项福建省教改课题和1项教育部产学合作育人项目;同时,作为课题负责人完成了国家发改委城市信息化重大课题、国家物联网重大应用示范工程区域试点泉州市工作方案、2015泉州市互联网经济调研等课题。具有丰富的政府和企业信息化培训经验,厦门大学管理学院EDP中心、浙江大学管理学院EDP中心、厦门大学继续教育学院、泉州市科技培训中心特邀培训讲师,曾给中国移动通信集团公司、福建龙岩卷烟厂、福建省物联网科学研究院、石狮市物流协会、厦门市物流协会、浙江省中小企业家、四川泸州企业家、江苏沛县企业家等开展信息化培训,累计培训人数达3000人以上。

更多信息请访问个人主页:http://www.cs.xmu.edu.cn/linziyu

相关链接高校大数据教学经验总结系列文章之一:以O2O理念不断提升大数据教学水平

相关链接:高校大数据教学经验总结系列文章之二:以平台化思维构建中国高校大数据课程公共服务体系

相关连接:高校大数据教学经验总结系列文章之三:关于高校大数据教学若干关键问题的探讨

相册

(下面相册中包含了林子雨老师在做大会报告时现场观众在微信群中的评价)