0 引 言
为了缩小产业界需求与高校培养人才之间的差距,新工科建设强调多学科融合,培养学生较强的工程应用能力,这就需要教师不能局限于知识型的教学,而是要针对生产实际的问题,面向产出,重视对知识的实际应用,培养学生解决复杂工程问题的能力,ACM 和 IEEE-CS 联合组织全球计算机教育专家共同制定计算机类专业课程体系规范 CC2020,旨在突破知识型教学的局限,使学生具有扎实专业知识、职业素养和团队精神,并深入实际问题,在应用中真正地把知识转化为技能[1]。
对于有一定专业应用能力的人才而言,需要掌握多门相关课程的专业知识,而且这些知识需要与具体的领域实践结合起来,才能逐步形成解决实际问题的技能。因此,在实际教学中,需要在讲授理论知识时,融入合适的实际应用案例,并通过近实战项目的练习真正巩固专业知识。但在传统的专业课程教学中,存在以下典型的问题。
(1)案例教学得到了广泛的应用,但这些案例大多并非来自任课老师第一手的实践,其中的一些关键问题难以分析透彻,理论知识还停留在浅层的、片面的理解层次,导致教学多停留在知识传授的层次,辅助一些简单的实验,远未达到应用型人才培养的要求。
(2)多门课程之间存在一定的前驱后续关系,共同构成了专业的较完整课程群,但每门课程的案例教学存在割裂现象,使学生接触的案例支离破碎,难以综合理解对应实际项目的全貌,不易在实际应用中积累必要的综合技能和技巧。
(3)教学案例缺少教学团队统一的设计和共享机制,更无合适的平台长期支撑,这样科研积累下来的一些项目案例得不到充分的利用,案例和实践教学效果达不到新工科人才培养的要求。
针对上述问题,可以采取面向课程群的项目式教学方法,根据课程在整个培养计划的地位和思维导图,按照课程大纲的知识点分解积累的一手企业真实项目成果,使之与课程群中的每门课程内容对应,这就需要对一手项目案例从知识点和技能的要求进行分析,按照项目各个阶段使用的知识、工具和方法从上到下进行解耦,然后按照课程开设的先后顺序,递进式地把项目各个碎片与具体课程的章节内容结合起来。这并非一个简单的项目案例分解的过程,需要探讨项目各部分组成关系。只有这样,才能使学生完成课程群的学习后,逐步形成一个系统的实际项目全貌和应用能力。
1 课程群项目式教学存在的问题
在新工科建设的背景下,课程不能只注重理论教学,而是更应该针对实际生产问题,面向产出重视应用能力培养。有部分高校采用了项目沉浸式教学来培养学生解决复杂工程问题的能力,但在执行项目式教学过程中难免会面临一些问题。
1)项目案例并非来自任课教师原创。
实践教学旨在培养学生获得感性知识、实验技能和独立操作能力[2]。机器学习课程群需要掌握的算法众多,不仅理论知识繁杂,课程实践性也很强。因此,为了使学生更好地掌握这些算法,就需要教师将理论和实践相结合,将理论知识运用到实际项目案例中。虽然目前项目式教学引起了不少老师的关注,但总体来看,教学中采用的项目案例大部分并非来自任课老师的真实实践,这就导致项目案例可能与课程之间联系不够紧密,缺乏针对性,并且对应的课程实验往往是理想化的,学生进行实验的数据并非一手数据,而是为了达到教学目的经过特殊处理的,这就会导致学生以后遇到真实的企业项目时,面对企业真实问题时可能手足无措[3-4]。案例教学是为了方便算法的理解,其中关键步骤的处理都被简化或者抽象,学生失去了面对实际问题的机会。
2)不同课程的案例之间存在重复和割裂。
机器学习课程涉及的知识点繁多,需要多门前置课程,包含 Python 编程、可视化技术、数据挖掘,而机器学习又是深度学习及其应用的前置课程。它们之间不是孤立的,而是存在一定的前驱后继关系,这些课程一起构成了一个完整的课程体系和较完整的专业课程群。这些课程涉及的知识点众多、实践性强。每门课程都需要教学案例和实验来帮助学生从理论知识过渡到实际应用,但目前各高校相关课程设置的案例教学存在着孤立、重复和割裂现象,导致学生很难感受到案例背后真实项目的全貌。
3)案例缺少统一的设计和共享机制。
现阶段各高校的机器学习系列课程都设有教学案例库,但每门课程或者每个章节之间的案例往往是各自独立的,这就导致学生在实验后无法了解到整个项目的实际流程,只会处理特定的部分,面对一个实际项目时会不知从何入手,而在实际机器学习项目中需要经过需求分析、预处理、模型设计与优化、应用开发和部署等多个阶段,每个步骤都至关重要,它们不是各自独立的,要注意每个部分的衔接。大部分高校的实验需要学生的电脑中进行,学生通常会遇到实验环境版本的问题,或者其他的软硬件问题,导致迷茫和时间浪费,课程缺少统一的实验环境和实验平台的支撑。
2 面向课程群的递进式案例库设计方法
目前各个高校都开通了 Python 编程、机器学习和深度学习及其应用等课程,这些课程之间相互独立但又密切相关。采用课程群的方式可以打通各门课程之间的壁垒,高效地使各门课程相互协同,充分发挥各自特色齐头并进。如何将一个完整的实际项目成果进行分解并穿插在各个课程中,是实现课程群教学项目案例库的关键。
项目沉浸式教学以新工科的培养目标和 MIT 项目中心课程模式为导向,以学为中心,以课程案例教学为单位,旨在培养学生系统思维、工程应用能力。这是一个多课程、多阶段理论与实践教学有机融合、递进式地培养综合应用能力的过程。在实施过程中,学生需要围绕一个完整项目的各种知识和技能要求,按部就班地、分阶段地完成程序设计语言、基本算法、高级算法、应用开发和综合项目管理和协调的知识学习和技能训练[5]。后一阶段需要以前序阶段学习为基础,每个阶段综合应用对应阶段的知识,逐步形成交叉融合,解决复杂工程问题的机器学习工程师。
1)基于逆向教学法的项目分解。
逆向教学法以机器学习工程师为培养目标,从完成一个综合的数据分析项目(机器学习和深度学习项目)所需的理论知识和技能出发,分析相关课程群的课程大纲和思维导图,明确课程群每门课程需要掌握的知识点以及对应的项目案例资料组成,应用 OBE( outcome-based education )方法检验学习效果。
2)构建递进的、面向课程群的项目案例库。
面向课程群的递进式项目库是根据学生年级和能力水平的差异,对项目成果资料按照知识点以及难度系数,分解成不同的子类,每个子类对应不同难度系数的子案例。
为了方便学生自学,这些案例可以上传到阿里云人工智能 AI 天池平台。这个平台是阿里云计算公司资助,已经与作者团队有 2 年多的产学合作,前期已经有 3 期的教育部产学协同育人项目支持,便于推广使用。学生不需要安装机器学习软件,平台还可以提供一定的计算资源。
3)项目案例库的更新迭代。
项目案例库并不是一蹴而就的,而是一个不断迭代,在使用中沉淀、提升的过程。通过在课程群的反复使用,其中的案例也有一个生命周期。一方面,不断有新的项目成果资料通过上述的分解方法加入,这部分案例有一定的难度、深度和创新性。另一方面,为了使案例对学生更友好,可以把每届学生的优秀作品,经过一定的优化加入案例库,方便学生对照学习,增强学生的成就感和获得感。此外,项目库的案例也不是一成不变的,其中有一些开放型的问题,便于开展探究式教学,可以鼓励学生在学习案例的过程中,对现有的方案进行优化,甚至进行创新性的修改。
3 递进式教学项目案例库的一体化设计过程
3.1 建立校企合作的项目基础
目前各个高校的机器学习相关课程大都配备了案例和实验,但主要的内容还仅仅局限于教材中的经典算法,学生通过实验课程来理解并掌握一些经典算法,但是机器学习理论迭代快,往往教材中的内容是滞后于实际应用的,学生做的实验、处理的数据、解决的问题都是偏理想化、虚拟化的,与实际应用中遇到的企业问题存在偏差,若只依靠简单的实验课程,学生很难顺利地解决实际问题[6]。针对上述情况,为了让学生能接触真实的项目问题,可以将一手的项目案例经过一定的简化和抽象融入到课程群中。此外,还邀请了企业中相关专业人员来当企业导师,帮助学生提高实践方面的技能,采用课堂内外相结合的方式来帮助学生。采用校企合作的一手项目改造的案例,可以让教师更好地结合课程内容设置实验案例。
3.2 递进式课程建设
机器学习课程群包括程序设计课程、专业基础课和专业核心课程。其中程序设计课程主要培养学生的编程能力,掌握机器学习中必备的 Python 语言,专业基础课为数据挖掘、商务智能和机器学习,为之后的专业核心课程提供理论和操作的相关知识基础,让学生对机器学习有大致的了解,专业核心课程包括深度学习及其应用、智能系统应用,重点讲授深度学习的各种技术和工程应用,让学生们实际接触到深度学习的真实应用场景。根据知识和能力深度递进式设置课程内容,几门课程的负责老师组成教学团队,根据大纲的知识点协同备课,将教学内容和案例共享,避免不同课程之间出现内容不连贯或者内容重复的情况。同时配套在线课程,采用深度教学法,在线上学生熟悉知识,并通过项目案例来增强感性认识,线下通过领域问题沉浸,培养项目式的思维逻辑。
3.3 建设统一的课程群案例库
采用项目案例式教学的方式,可以让学生学到的知识快速应用到实际问题中,快速得到成果反馈,从而提高学生学习的积极性。针对教学案例库缺少统一的设计这一问题。教学团队可以考虑将一个完整的案例贯穿到整个课程体系中去,通过课程团队协同备课,依据大纲中的知识点将案例分解成与理论知识相对应的若干个子案例,并将拆分后的案例安排到其对应课程内容之中,采取任务驱动的方式来激发学生的求知欲望,学生通过对项目案例操作不仅可以增强实践能力,也可以加强对理论知识的理解。
整个案例分解到课程群中去,学生学完课程收获到的是一个完整的故事,这样学生在学完整个课程体系后就能体验到整个实际项目的流程,满足感会大大增加,激发自主学习的动力。
课程团队和阿里云天池 AI 平台进行合作,建设统一的课程群项目式教学案例库实验室,根据课程群的课程大纲以及思维导图,梳理核心知识点,在项目文档种分解对应的部分资料,基于阿里云天池AI平台,设计并完善分层、递进式项目案例库。
笔者在现有项目沉浸式教学方法的基础上,作进一步创新性的尝试。
1)一手项目案例融入课程群。
虽然案例教学和项目教学已经广泛应用于专业课程的教学,但是在新工科的人才培养过程中,一手项目经验在绝大多数的高校教师中还非常短缺,从课程群的角度融入统一的项目案例的做法难度更大。
申请人团队在过去几年已经与多家企业合作了 30 多个机器学习相关的实战项目,这些项目的成果整理了 50 多个一手机器学习案例,有效地推动了案例教学和实验教学,学生可访问、分析其思路、代码并测试其效果,可以把其经验推广到课程群的项目案例设计以及实践教学。
2)建设统一的课程群项目式教学案例库平台。
在最近 2 年,我们与阿里云计算公司合作,在阿里云天池 AI 平台设计并实践了机器学习的实验和实训案例库,目前已经上线 20 个综合的项目案例,覆盖了机器学习和深度学习核心的知识点以及典型应用场景,积累了一定的案例库平台建设和使用经验。
案例库协同设计如图 1 所示,这种实验案例库一体化的设计方法和平台,对于课程群的价值更明显,可以方便教学团队协同设计和维护案例库,使得同一个项目的素材可以在一个平台上灵活进行组合和练习。这对于以学为中心的教学也有裨益:一方面可以方便学生根据自己的基础,选择合适的案例进行学习和练习,另一方面也可以进行综合的实训,甚至做创新性的工程应用。例如,对于比较复杂的基于目标检测的交通灯模糊控制项目案例,对摄像头采集的视频帧进行预处理和可视化,可以作为可视化课程的教学内容;而上述图像的增强和样本分割方法,又可以作为机器学习课程的案例;使用目标检测算法统计摄像头视频帧中的车辆数量,又可以作为深度学习课程目标检测算法的教学案例;交通灯的模糊控制算法又可以作为智能系统应用课程的案例,而整个案例又可以作为综合实训的实验案例。
3)促进课程群的深度教学。
面向课程群的项目案例具有迭代递增式积累的特点,项目沉浸教学的目的并不是让学生简单地理解和模仿知识点在实际问题中的应用,而是鼓励学生能举一反三,灵活地把所学知识应用到新问题的解决,促进主动学习和自主学习的热情。
项目案例库统一平台不仅能方便任课老师之间的集体备课,而且可以支撑学生形成团队,交流技能心得,并合作解决更复杂的工程问题。这是一个递进式学习的过程,有助于同伴学习以及合作精神的培养。
4 结 语
在新工科的背景下,机器学习相关课程已不再是一个单独的课程,而是一个完整的课程体系、课程群的一部分。课程已经从单纯的理论授课,升级到提升学生使用理论知识来解决复杂工程问题能力的教学,这就需要面向实际应用问题的项目式教学改革。在此基础上,要突破相关课程的案例教学封闭性,充分利用项目案例,通过分解和组合,建设适应课程群建设的教学案例库和统一教学平台,满足解决复杂工程问题的技能培养要求。
参考文献:
[1] CC2020 paradigms for future computing curricula. Technical Report[EB/OL]. [2022-06-20]. https://dl.acm.org/doi/book/10.1145/3467967.
[2] 肖伟才. 理论教学与实践教学一体化教学模式的探索与实践[J]. 实验室研究与探索, 2011, 30(4): 81-84.
[3] 赵卫东, 袁雪茹. 基于项目实践的机器学习课程改革[J]. 计算机教育, 2019(9): 151-154.
[4] 赵卫东, 蒲实. 数据分析类课程的技能培养方法探讨[J]. 计算机教育, 2019(6): 139-142.
[5] 廖勇, 周世杰, 汤羽, 等. 面向“项目中心课程模式”的进阶式挑战性跨学科项目设计与实践[J]. 高等工程教育研究, 2021(2): 47-54.
[6] Mikalef P, Giannakos M N, Pappas I O, et al. The human side of big data: Understanding the skills of the data scientist in education and industry[C]// IEEE EDUCON 2018 Global Engineering Education Conference. Washington D C: IEEE, 2018: 503-512.
基金项目:复旦大学 2022 年度第一批本科教学研究与改革实践项目( FD2022A107 )。
作者简介:赵卫东,男,复旦大学副教授,研究方向为机器学习应用,wdzhao@fudan.edu.cn。
引文格式: 赵卫东. 面向课程群的递进式教学案例库一体化设计[J]. 计算机教育, 2023(5): 160-164.
转自:“计算机教育”微信公众号
如有侵权,请联系本站删除!