APP下载

大数据分析需求下研究生Python课程教学模式改革研究

2019-02-26廖卓凡邓泽林张建明

计算机教育 2019年12期
关键词:编程教学资源案例

廖卓凡,邓泽林,张建明,陈 曦

(长沙理工大学 计算机与通信工程学院,湖南 长沙 410004)

0 引言

随着信息科技革命进入大数据时代,人们开始注意到各行业产生的海量数据中蕴藏着产业信息和商业机会,各国的工业界和学术界都争相研究、发掘和鼓励大数据分析相关的技术工具。我国在大数据分析领域的人才培养和技术革新还处在起步阶段,以百度、腾讯、阿里巴巴为代表的互联网企业和以基础设施和智能终端提供商为代表的华为公司近两年对大数据分析人才提出了明确的需求,传统的以掌握C、C++和Java 为主的人才需求市场遭遇了近年以Python 语言为主打的新型人才需求的大革新。Python 是一门面向对象的解释型高级程序语言,既保持了面向对象语言在程序设计上的封装性和强大功能,又具有解释型语言的运行快的特点,同时它的开源使得Python 具有其他高级程序语言无法匹敌的科学计算扩展库,非常适合大数据分析这种数据量大,又需要各种科学计算的应用。

在国外用Python 做科学计算的研究机构日益增多,一些知名大学已经采用Python 教授程序设计课程。例如卡耐基· 梅隆大学的编程基础、麻省理工学院的计算机科学及编程导论就使用Python 语言讲授,MIT 和UC Berkeley 的计算机系最近将他们入门课程的教授语言改成了Python[1]。我国高等教育今年也将Python 语言编入计算机专业研究生专业课,甚至非计算机专业研究生的选修课中。但由于我国高等院校的程序设计语言教学模式长期围绕C/C++/Java 等传统编程语言研究,从教学资源到教学手段,从实验设计到考核考查制度都偏于落后,使得计算机专业研究生不会用,非计算机专业研究生看不懂,教学效果不甚理想。

1 Python课程现状

由于大数据与人工智能技术近年对国内外各行业带来积极可观的推动效果,如何对大数据进行高效的分析,从而提取数据中的信息指导决策成为急需解决的问题。Python 语言凭借其语法精炼、轻量级运行效率和强大的开源科学计算库成为热门程序设计语言[2],并且不再受限于计算机行业,金融、航空、商业等具有海量数据生产能力的行业也表现出对Python 数据分析的急切需求,因此也收到高等院校里各个专业的重视[3]。但是大学课堂上的Python 语言及数据分析专业课程的教育模式仍然受传统高级程序设计语言的教学模式影响,使得人才培养目标不够明确[4],忽视了研究生对高级计算机语言学习的最终目的是用计算机研究并解决实际问题。同时,陈旧的教学内容也无法反映当下亟待解决的问题,无法提高学生的课堂兴趣,随之而来的是“老师讲——学生听”的单向教与学模式。基于以上分析,当前的Python语言课程教学模式无法为社会培养出灵活使用Python 解决问题的高级人才。针对这些问题,采取对策如下。

(1)解决教学内容陈旧且互不关联的问题,教案编写应与实际需求协同更新。由于大数据教材和教案的编写往往滞后于技术的发展,而对学生的动手编程能力需求越来越新,越来越跨学科,因此在教学内容的安排上需要实时更新,参照业内最新的大数据分析案例组织教案。教学实施过程不仅限于照本宣科,应适当加入与本堂课知识点有关的实际大数据分析案例,深入浅出分析知识点的应用,不仅强化学生对理论知识点的理解,也可以培养学生即学即用的编程思维。教学内容的安排应从基础到应用,由浅到深地逐步推进,且注重各知识点之间的有机关系,相互协同创新问题。

(2)解决实验课程内容安排和组织模式沉闷的问题。教师在安排与理论课知识点对应的验证型实验之外,安排与实际工业或者科研项目相关的创新型实验课题,根据Python 开发环境灵活轻量级的特点,采取学生自由答题、自主选题、合作完成的“随时随地做实验”的课程组织形式,让学生从基础知识到实战编程进行一个循序渐进的掌握过程。

(3)解决学生实践与创新能力培养不足的问题。以科研或者企业中的实际问题为导向,要求学生进行团队开发,锻炼学生的项目领导能力和系统分析、设计等能力。

(4)解决教学评价和反馈系统不健全问题。利用信息化实践教学平台来保存学生的所有成绩,通过统计每个学生的课堂和实验环节的进度与成绩来客观评价学生的能力,并以此为依据来进一步完善教学内容。

2 改革研究框架与具体措施

综合理工科研究生培养方案,要求不仅掌握Python 基础语法,并能使用Numpy 库进行科学计算,使用matplotlib 库进行基础图形绘制,使用pandas 库进行统计分析和数据预处理,使用sklearn 进行建模[5]。基于以上培养需求,设计大数据分析背景下Python 课程教学模式改革研究框架,如图1 所示。针对目前Python 课程教学模式中存在的问题,改革可以从理论教学、实验教学、演练平台和考核模式方面展开,具体包括4 个方面的研究内容。

图1 大数据分析背景下Python课程教学模式改革研究框架

2.1 采取案例驱动教学

传统教学方式注重基础知识点讲解,理论性强容易削弱学生兴趣。考虑到教学目标之一是让学生编写程序借助计算机的能力研究并实际问题,根据大数据分析需求,重新定位各编程和操作平台课程的培养目标,全面深入更新教案,从实际生活相关联的实例出发,运用启发式、案例式等多种方式相结合的教学实施方案提高动手能力培养。例如,对航空公司客户价值分析从而锁定VIP 客户群,对财政收入预测分析从而为来年财政投入提供参考,对家用热水器用户做行为分析从而改进热水器功能等案例,就是各行业极有价值的大数据分析案例问题。

另外,在“互联网+”时代,很多案例和源代码可以通过互联网共享,学生也可以自行上网搜索感兴趣的案例,从而提高学习的主动性。“互联网+”的特点之一是与传统业深度融合,因此教学资源可以借用互联网资源更新教案、多媒体课件,从而丰富教学材料,提高课堂互动性,激发学生的内在学习动力。同时,教师设计简易的案例作为教学示例,以身作则演示良好的程序设计思维和习惯,能提高学生编写代码的兴趣,减少对编程的心理恐惧,从而达到让学生编写出可读性好和稳定性高的程序。进一步地,再结合“互联网+”里的优秀案例,让学生感受如何编码才是符合编程规范,严格按照软件企业对规范编程的要求,潜移默化学会编写规范的和优秀的编程代码。

2.2 采用随时随地组队实验的组织方式

传统高级程序设计语言的实验课,极其依赖开发环境,并且具有集成开发环境的安装文件体积大、安装过程复杂等缺点[6],对初学者的兴趣与热情具有极大打击性。而Python 由于其内核资源完全开源并且可以在线获取,因此具有丰富的在线Python 编程平台,使得学生只要拥有一台可以上网的电脑就能立即进行Python 编程的学习、验证和创造性实验操作。

根据Python 语言的开发平台特点,设计不拘于实验室和平台的Python 语言课实验组织方式,教师需要组织与理论内容有机结合的最新最热门案例,将之设计改编为适合学生消化的实验课题,并对实验课题的难易程度进行分级,学生可以根据自己对理论知识的掌握程度自由选择项目。考虑到程序设计项目的合作性,实验课题允许多个学生自由组队,共同完成实验,然后,通过实验课题答辩的方式,解释各个成员承担的任务和完成过程。

笔者及其教学改革团队利用本校的教学与实验网络化平台“学宝”,建立了立体化的“教、学、练”资源库,实现不仅限于校园网的全开放式访问,方便学生随时、随地能接收课程作业和实验更新、在线练习和提交实验报告、实时查询实验反馈,与教师进行实时交互。实现学生随时随地进行编程练习,教师可以随时对学生的作业、实验完成情况进行检查与反馈。

2.3 利用网络化教学资源与互动平台

充分利用学校校园网的资源搭建教学与实验网络化平台,建立立体化的“教、学、练”资源库。通过这个平台,教师将不限于授课年级,提供统一的理论教学的电子教案、教学大纲与教学日历,有利于教师之间进行资源共享和取长补短,也便于不同年级、不同专业的学生使用Python 课程教学资源,最大化教学资源的使用率。同时,鼓励学生利用这些教学资源进行自主学习和网络学习,为零起点或高起点学生提供进行自我提升的途径。理论课程的作业和课堂上没有消化的问题,可以通过平台进行讨论,使得教学的反馈和互动途径得到多样化,学生学习的主动性和灵活性得到提高,满足了不同层次的学生学习的需要,也使教师对教学资源得到及时的反馈,有利于提高教学资源质量。

由于Python 的开发环境是在线免安装的,因此更方便利用网络教学资源。教学团队只需基于云平台,构建可视化、可监控的虚拟实验平台,完善全网开放的设计题库,丰富题库,实现不仅限于校园网的全开放式访问,方便学生随时、随地能接收实验内容更新、在线练习和提交实验报告、实时查询实验反馈,与教师进行实时交互。

2.4 改革考核方式

传统的高级计算机程序设计语言的考试方法分为闭卷和机试两类。闭卷笔试考试由于其偏理论记忆和无法验证的局限,已逐渐被机试取代,但是实践证明,依赖于大型实验室机房的机试容易因为机器故障、系统不兼容和局域网受限等问题,降低机试的效率和学生的应试积极性。因此,Python 语言的考核以“理论知识点答题+案例解决”为内容,以分布式在线完成为方式进行在线考核。学生只需要在指定时间段内上交答案、解决方法和代码即可,不受地理位置和具体时刻的限制。

针对Python 课程培养学生实际解决问题的教学目的,实行“教考分离”的机制,避免编程知识点死角。并结合多种计分方式综合评定学生的成绩,主要分为平时成绩、期中成绩和期末成绩。平时成绩通过出勤率、实验课题程序的设计思维和运行、实验报告的撰写等综合给出,平时成绩占总成绩的60%。期中与期末成绩根据两次在线测试进行,期中成绩与期末成绩加权平均占总成绩的40%。

值得一提的是,不同专业对于Python 的数据分析要求不同,以上研究框架对于非理工科专业的Python 课程模式也同样适用。可根据本专业对于具体大数据问题的分析要求,调整以上4个环节的占比和难易程度。

3 结语

为高等院校的研究生Python 数据分析及应用课程设计的案例驱动式改革的框架,用来解决如何在当前大数据分析高级人才需求背景下的Python 课程改革问题,并从理论教学、实验教学、演练平台和考核模式4 个方面给出教学改革拟解决的关键问题及相应的参考解决方案。这些研究结论对于高校各专业培养大数据分析人才具有良好的参考意义。通过一个学期的改革方案实施尝试,选修了本门课程的研究生基本都具备了自行查阅Python 使用手册、自行选择开发平台进行Python 数据分析的能力,75%的研究生在发表科研论文时选择了用Python 语言作为分析和仿真语言。下一步的工作将以研究生具体的一门Python 数据及其应用课程为例,探讨改革研究的进一步改进过程。

猜你喜欢

编程教学资源案例
编程,是一种态度
案例4 奔跑吧,少年!
TWO VILLAS IN ONE CEDIA 2020案例大赛获奖案例
Bespoke Art Deco Media Room CEDIA 2020案例大赛获奖案例
元征X-431实测:奔驰发动机编程
丰富历史教学资源 提升课堂教学质量
编程小能手
纺织机上诞生的编程
民用飞机航电系统虚拟教学资源建设
新型教学资源在语文教学中的应用