面向软件工程专业的云计算课程渐进式教学实践探索

2023-09-21 07:04陈明凯
河北软件职业技术学院学报 2023年3期
关键词:渐进式计算技术资源库

刘 强,刘 浩,陈明凯

(南京邮电大学 计算机学院,南京 210023)

一、引言

随着以人工智能为代表的第四次工业革命浪潮的到来,云计算、大数据等技术得到了快速发展。根据目前公认的NIST 对云计算的定义[1],云计算本质是使用户对计算资源像水、电一样进行按需使用、计费。云计算[2]作为并行计算、网格计算的发展,得到了工业界和学术界的广泛支持和推动,也得到了国家层面的重视。为了实现国家高水平科技自立自强和新时代人才强国战略目标,教育部于2010 年提出了“卓越工程师教育培养计划”,旨在培养造就一大批创新能力强、适应经济社会发展需要的各类高质量工程技术人才。特别是自2017 年教育部提出“新工科”概念[3]以来,国内各高校相继开设了云计算、人工智能、大数据处理等相关和交叉课程,并提出了一系列教学改革思路。鲍爱华等[4]提出了层次化的云计算课程内容体系;王勃等[5]在“新工科”背景下,提出了一种面向产学研合作的课程教学与实践模式;郝卫东等[6]将云计算与物联网专业相结合,探索符合物联网专业方向的核心课程建设和教材建设工作;金永霞[7]等从云计算实验室建设与创新教学出发,开发了基于OpenStack 的云计算实验平台,用于实践资源按需分配;丁晓进[8]等根据物联网专业要求,针对不同学生的差异,提出了一种兼顾课堂与课后的教学方法。此外,文献[9][10]针对云计算课程教学模式改革,分别提出了多样化教学模式和混合式立体教学体系。

二、云计算课程教学存在的问题

作为第二批被列入“卓越工程师教育培养计划”的高校,南京邮电大学根据专业需求,设计了面向计算机、软件工程等专业学生的卓越工程师培养方案,以学生工程实践能力、创新能力与科学研究能力的培养为核心,重点加强学生工程实践能力和科研能力的培养。然而,现有云计算技术类课程知识体系较为复杂,涉及Web 服务、分布式计算、虚拟化技术和数据中心管理技术等多个方面,领域概念多且较为抽象,在教学上表现为“教学内容多、学生理解难”,缺乏系统性和逻辑性,难以满足卓越工程师的培养需求,具体表现在下述两个方面。

(一)学生的基础知识储备不够

由于各人的基础知识储备、自我认知不同,即使是软件工程相关专业的学生在课程实践中仍会感觉知识储备不足,难以顺利完成实验。本课程在Hadoop 相关实验中对2018 级软件工程专业学生关于前置知识点Linux、Java 等的理解情况和实际实验情况进行了匿名调查(多选)。结果发现,学过Linux 和在实操中存在操作困难的学生比例分别为87.0%和37.8%,学过Java 和在实际运行Hadoop 测试用例中存在问题的学生占比分别为94.4%和95.6%。由此可见,大部分软件工程专业的学生即使学习过相关知识点,在实践中仍然存在较大困难。

(二)知识点庞杂带来的教学困难

知识点庞杂,学生难以对云计算技术体系有清晰深入的理解。对关键知识点理解不透彻,导致各知识点间缺乏衔接性,对知识掌握不扎实、不系统,动手操作能力较有待增强。

针对上述问题,课题组设计了渐进式教学案例,根据课程建设目标,通过应用案例实践增量迭代的方式加深学生对云计算各类技术的理解。特别是对于软件工程专业的学生,更要将当前领域热点技术与实际企业应用相结合,以满足卓越工程师培养的需要,进而推动“新工科”背景下软件人才的高质量发展。

三、云计算技术课程渐进式教学设计

(一)课程建设目标

南京邮电大学计算机学院所开设的云计算技术课程,主要面向软件工程及相关专业学生。该课程是一门系统性较强且具有较高实践性的课程,在教学上遵循“OBE(Outcome Based Education,OBE)”理念,关注课程对软件工程相关专业的毕业要求支撑关系及达成度情况。课程预定的达成目标如表1 所示,具体要求为:(1)理解云计算技术基础理论概念,具有自主使用和开发云计算工具的实践能力;(2)了解当前云计算领域国内外研究热点和发展趋势。

表1 云计算课程建设目标与OBE 考核要求

围绕上述目标,课题组的总体思路是首先根据达成目标和已有的课程资源构建资源库,然后设计渐进式的教学方案,在理论教学上除了知识点讲解外,更侧重于知识点之间的关联性,并通过实践逐步将各章节知识点进行联系应用。

(二)课程资源库构建

课程资源库根据教学目标进行构建,总体流程如图1 所示。课程资源库建设主要涉及三个方面:(1)基础理论方面,主要是利用已有课程建设的教学大纲、教学计划等资源,夯实理论基础;(2)实践能力培养方面,主要是利用知名的开源云平台和代码示例,学习构建和部署云服务;(3)领域热点和发展趋势方面,主要是通过课题组已有的积累,包括论文、开源系统代码等,构建课程资源库。

图1 云计算课程资源库构建流程

(三)渐进式教学案例设计

渐进式教学指的是教学内容随着课程周期进行动态迭代的过程。课程团队围绕云计算课程的特点和建设目标,借鉴了软件工程生命周期模型中“增量模型”的概念,探索“案例分析-增量设计-计划执行-效果评测-增量迭代”的闭环演进教学模式,根据不同授课内容的需求、场景对多个知识点进行串联,设计了体现通信行业特色的渐进式教学案例。以基于MapReduce 模型的“手机用户行为记录分析系统”为例,其教学案例设计如图2所示。

图2 基于MapReduce 模型的手机用户行为记录分析系统教学案例设计

1.要求学生掌握Hadoop 平台的搭建流程

在熟悉Hadoop 平台系统环境、配置参数的基础上,要求学生能够将用户手机行为记录表存储到hdfs 上,并基于该文本数据顺利运行Word-Count、DistGrep 等测试用例。

2.要求学生掌握MapReduce 编程模型的使用方法

让学生学会创建maven 项目,并导入Hadoop相关依赖,将用户手机号、上行流量、下行流量等进行封装,实现hadoop 的序列化接口;编写相关的MapReduce 方法;将程序打包提交到hadoop 集群进行运行。

3.要求学生能够使用MapReduce 模型完成复杂的数据处理

给出两份数据量相差较大的手机用户行为记录表,要求学生通过MapReduce 模型实现两表的join 操作,找出在某个时间段内访问过同一个网址的用户手机号码集合。在map 阶段,同时读取两个文件File1 和File2,并在map 函数中根据时间段和网址对数据进行过滤,对数据来源打标签。在reduce 阶段,对同一个网址的键值对进行汇总。

4.要求学生通过MapReduce 模型,实现复杂的数据处理

在第三步工作的基础上,继续增加两份文件的数据量,使其均大于JVM 内存。学生首先要实现一个基本的布隆过滤器demo,并使用过滤器将小表中的key 保存在BloomFilter 中,然后在大表上执行map 函数,并通过布隆过滤器完成join 操作。

在完成以上步骤后,学生以小组为单位进行分析、讨论,组内成员需要对各自完成的工作进行演示。教师则通过提问了解学生的实际掌握程度,并对实验结果进行点评。同时,在具体教学过程中,还使用了腾讯云课堂、腾讯会议、坚果云等智慧教学工具实现高效的教学数据收集分析,对教学效果及时进行线上反馈,并给表现较好的学生发放小纪念品,激发学生的积极性。

对于其他一些知识点的实践案例具体设计如表2 所示。

表2 渐进式实践案例设计

通过上述渐进式的案例驱动,让学生在理解云计算技术基础理论概念的基础上,实现了课程多知识点间的联动,培养了其自主研究和使用云计算技术工具的编程能力,同时让学生更好地了解本领域的前沿热点,提升了学生的工程素养。

(四)教学效果综合评测

为了客观地评价课程目标达成情况,本课程在2020-2021 学年对参与云计算课程教学改革的学生采用了多种评价方法,包括问卷调查(学生自评)、成绩分析(形成性评价和期末总结性评价相结合)、专家(同行)评价同时进行。根据学生期末成绩、学习积极性、对云计算相关科研实践的主动性等方面的反馈结果,学生表现出较高的学习热情,教学质量得到了明显提高。

三、结语

本文针对当前云计算课程教学过程中遇到的“教学内容多、学时分配难”等问题,根据课程建设目标,建立起云计算课程资源库,并设计了渐进式教学案例,通过增量迭代的方式,实现了多知识点间的联动。实践结果表明,学生对云计算领域,特别是当前的科研实践具有较高的积极性。在后续的教学过程中,将结合学生的反馈,对多种教学评价结果进行对比分析,继续探索符合软件工程专业特色的云计算技术课程改革方法。

猜你喜欢
渐进式计算技术资源库
《计算技术与自动化》2022年总目次索引
健身气功开放课程资源库建设研究
基本收入的理论构想与渐进式实现路径
基于云计算技术的FLAC3D软件计算平台的研发
贵州●石斛种质资源库
《物探化探计算技术》2016年1~6期总要目
高中历史信息化教育资源库应用探索
福建基础教育教学资源库建设研究——以福建基础教育网资源库为例
基于云计算技术的虚拟实训室设计与实现
轻熟女“渐进式”省钱保养计划