冯艳红
(河北地质大学信息工程学院 河北·石家庄 050031)
数据科学与大数据技术是以大数据、信息技术等为依托,适应现代经济社会发展需要的新兴专业。该专业突出培养具有大数据分析能力的面向社会的数据分析与决策专门人才。R语言是现今最受欢迎的数据分析和可视化软件之一,目前越来越多的人员在使用R来分析数据,因此,《R语言程序设计》在大数据分析和科研中具有举足轻重的作用,对于培养学生基于统计与优化的数据分析能力大有裨益。
R语言程序设计是我校数据科学与大数据专业大学三年级第一学期的专业核心课程,课程包含32学时的理论教学和24学时的实践教学。主要知识点包括:数据集基本操作,基本数据管理,高级数据管理,数据可视化,基本统计分析,回归,方差分析,时间序列,聚类分析等。
R语言是一款自由、免费的开源软件,其特点是语法简单,所有的R函数和数据集都保存在程序包中,只要有一定的编程基础,就可以很容易上手,因此,教师在授课过程中的主要任务不仅仅是讲授基础知识,更重要的是将前沿的知识融入教学,将教师的科研内容贯穿教学,将实际工程应用汇入教学,形成科研教学的深度融合。
科研能力是高校教师必须具备的能力,本科生科研能力的培养是高校的重要任务之一,也是我校“仰山慕水”新生培育计划的重要组成部分。针对我国提出的建设“创新型”国家的战略任务,本科创新人才培养不仅需要基础知识学习,更需要加强科研素质和综合能力的培养。由于本科生的思维还未受到各种理论的束缚和限制,创新型人才培养最重要的环节是本科阶段的教育。
在该阶段,基于学校“仰山慕水”培育计划,主要分为三步走:(1)课程开始阶段,邀请领域内的成功人士为学生做报告,特别是与学生专业紧密相关的、有行业背景的企业精英,使学生对整个数据科学与大数据行业有一个全面、客观的了解。(2)教学过程中,邀请优秀的硕士研究生或者博士研究生,介绍一些与课程相关的科学技术或者与专业相关的最新科研成果,由此激发学生的科研兴趣和科研意识。同时,授课教师也需要实时的把自己的科研问题引入到课堂中,引起学生对求解问题的探索与兴趣,鼓励感兴趣的学生参与到自己的科研团队。此外,授课过程也可以邀请课程组或者其他相关学院的教师讲授与R语言相关的工作,打破传统教学中“一门课程由一位教师讲授”的固有模式。(3)课程结束时,让学生提交一篇与课程内容相关的小论文并在课堂上进行介绍,由此锻炼其信息获取能力,创造能力、写作与表述能力等。这个过程,学生首先需要确定研究问题,然后到网上查阅学术论文,之后要获取数据,分析数据,数据的可视化,最后给出结论。
实践教学是培养学生实践动手能力、创新能力以及分析判断和决策能力,将理论与实际结合的重要环节,所以,实验的内容和实验的方式非常重要。探索并研究针对不同层次的学生,设计多种实验组合,包括“层次化”实验内容体系,提供“菜单式”自选内容,让学生在自己的能力范围内完成各自任务,不仅能起到加强理论知识理解的作用,还能增强学生的自信心,使其有成就感,从而激发学生热情。
在该阶段,一部分有能力的学生可以参与到导师的科研活动中,或者学生根据自己感兴趣的内容,自己寻找研究课题,并在导师指导下进行。《R语言程序设计》课程开设于三年级的第一学期,此时学生已经有了专业基础,又逐渐增加了专业知识,因此可以开始正式进入创新与科研环节。这样一个循序渐进的过程,使学生在毕业设计阶段,能够从事自己感兴趣的研究方向,从而具有创新能力、实践能力、科学素养和人文情怀的创新型人才。
课程的考核方式主要分为两部分:课程设计及小论文撰写部分(40%)、笔试部分(60%)。从学生最终提交的小论文来看,学生对于这种模式积极性比较高,任务布置之后,积极寻找问题,查阅资料,很多学生的研究内容,分析方法,统计指标,图形展示等都是自学完成。此外,鼓励学生用英文撰写科技论文,少部分学生撰写了英文论文。此外,笔试部分的考试采用河北省大学生思政教育平台进行,考试题目从题库里随机抽题,考试方式更加公平。
在课程结束时,要求学生完成一篇课程论文,基本思路是利用R语言完成数据的获取,数据的统计分析,数据的可视化。在数据获取阶段,学生可以直接使用R自带的数据集,也可以使用R语言从网上获取数据,部分课程论文的信息如表1所示:
表1:《R语言程序设计》课程论文信息
由表1可知:学生的科研素养得以提升,数据分析能力得以体现,学生的自主学习,创新能力得到开发,所使用的数据分析方法不仅涵盖了课堂讲授的内容,而且主动探索未知,用以求解问题。
此外,学生积极参与到教师的科研工作中,利用R的绘图功能,绘制部分科研图形包括:
图1数据来源于教师的科研项目,利用四种群体算法求解多维背包问题的箱线图。图2的星图则以数据科学与大数据专业的学生为研究个体,对每位学生的总体情况设计构图并进行分析。图3是对金融数据进行分析,抓取2019年3月-2020年2月苹果公司、英特尔公司、微软公司的股票数据。
图1:四种算法求解多维背包问题(MKP)箱线图
图2:学习成绩星型图
图3:英特尔公司股票收盘价格波动曲线
通过本次课程小论文的撰写,学生不仅掌握了多种实用软件,包括Mathtype,Endnote等,而且初步了解了科技论文写作的规范,掌握了文献检索技术。
《R语言程序设计》课程首次在我校数据科学与大数据专业开设,作为一门程序设计语言课程,我们打破传统的程序设计语言类教学方法,轻语法,重实践。同时,在授课过程中,邀请资深数据分析师为学生作报告,使学生对数据科学的相关行业有个初步认识。在今后的教学中,拟将机器学习的相关内容融入到课程的教学中,将科研内容融入到课程教学,激发学生应用R语言求解实际问题的热情,使学生能够在未来的学习以及工作中,能够应用R语言进行高效的数据分析。