面向新工科建设的算法设计与分析课程改革和实践

作者: 何震宇 朱国庆 赵凯 周彬

[摘 要]近年来,全球科技革命和产业变革方兴未艾,以互联网和人工智能为代表的新兴产业蓬勃发展。算法设计与分析课程作为计算机专业的核心课程,对培养信息技术人才、推动科技创新和产业发展具有重要意义,也是培养具备创新能力和实践能力人才的基础。然而,在当前部分高校中,算法设计与分析课程往往存在思政融入不够深入、重理论轻应用、重知识轻思维等问题。这些问题导致学生学习热情不高,实践创新能力难以满足业界需求。文章以新工科建设为导向,从课程思政深度化、知识体系系统化、教学方法科学化、教学内容前沿化、教学支撑多样化、课程管理层次化和人才培养拔尖化七个维度综合发力,打造符合时代要求的算法分析课程。

[关键词]算法设计与分析;课程改革;新工科

[中图分类号]G642.3 [文献标识码]A [文章编号]2095-3437(2024)05-0051-05

近年来,全球范围内新一轮科技革命、产业变革以及全球新经济的蓬勃发展引起了社会广泛关注。以互联网和工业智能为核心的新兴产业正在迅速发展。这股科技浪潮对工程教育提出了新的挑战,新工科建设的提出正是对这一挑战做出的积极回应[1]。新工科建设[2-3]是我国高等工程教育主动应对新一轮科技革命和产业变革的行动,计算机专业作为新兴产业的支撑专业,应积极主动地寻求变革,探索专业发展的新范式。

算法设计与分析作为计算机专业的核心课程,在新工科建设背景下具有重要的意义和价值。它是培养信息技术人才、推动科技创新和产业升级的关键所在,是培养具备创新能力和实践能力的工程人才的基础。

然而,在部分高校中,算法设计与分析课程尚存在一些问题:教学往往过于注重理论分析,忽视实际应用;过于强调知识传授,而较少培养学生的思维能力;教学内容与学科前沿及产业发展脱节,学生的算法设计能力无法满足业界需求;教学方式和教学手段单一,导致学生的学习热情不高等。

为了解决这些问题,课程组以新工科建设为导向,将算法设计与分析课程建设置于核心位置。在“复旦共识”[4]“天大行动”[5]和“北京指南”[6]的基础上,结合哈尔滨工业大学的特色和课程实际,在课程思政深度化、知识体系系统化、教学方法科学化、教学内容前沿化、教学支撑多样化、课程管理层次化和人才培养拔尖化七个维度综合发力,打造符合时代要求的算法分析课程。

一、高校算法设计与分析课程存在的问题

(一)课程思政不足之处

在算法设计与分析这样一门专业核心课程教学中,一些授课教师往往忽视课程中的思政元素。这导致思政教学与专业教学之间存在脱节,学生对与社会和国家发展密切相关的问题认识不足,不利于培养富有家国情怀和使命担当高素质人才。

(二)教学方法不科学之处

1.现有的课程教学过于注重传授算法知识,忽视了对学生算法设计思维的培养,学生没能真正深入挖掘和理解算法背后的本质原理。此外,现有的课程教学缺乏具体的实践应用场景,导致学生对算法选择和效率考量的理解与认识不够深入。

2.算法知识本身晦涩难懂,缺乏趣味性,而且涉及大量的数学知识,如离散数学、复杂度分析、概率论等。这些知识对部分学生来说可能较为难懂,需要学生花费更多时间和精力去学习。因此,如何设计有趣的教学呈现方式以激发学生的学习热情是非常重要的,而现有的课程教学方法在这方面仍有不足之处。

3.缺乏互动和交流。算法设计与分析课程往往需要学生花费较多的时间进行自学和思考,课堂缺乏互动和交流,这使得学生难以了解其他同学的想法和见解,限制了知识和思想的交流与碰撞。

(三)知识体系不科学之处

算法设计与分析课程的知识体系经过长时间的发展和演进,已较为完整。从理论层面来看,该体系是科学的,具有一定的可靠性和严谨性。不过,从实际应用的角度来看,该体系尚存在一些需要完善的地方。

1.实际应用场景的多样性方面。传统的算法与分析课程主要关注计算机程序的理论性质和效率分析,但在实际应用中,缺少对具体的应用场景、数据规模、硬件设备等因素的考虑。

2.新兴技术和应用的快速发展方面。传统的算法与分析课程所关注的算法和数据结构在实际应用中无法完全满足社会需求。随着新的技术和应用形式不断涌现,课程难以灵活和快速地适应这些变化。

3.伦理和社会责任的讲解方面。在算法设计与分析课程中,缺乏对算法的伦理和社会责任的讲解。学生对算法在社会中的作用,以及如何在算法设计和应用中遵循伦理与社会责任缺乏了解。

(四)教学内容不科学之处

1.缺乏实际应用场景。算法设计与分析课程往往缺乏实践环节,学生难以将所学知识应用于解决实际问题。

2.课程建设落后于时代发展。现有课程教学着重讲述教材的传统和经典算法,而忽视了其与最新前沿技术的衔接关系。另外,由于算法更新速度较快,而教材更新速度相对缓慢,这意味着学生无法及时接触到最新的算法技术和方法。

(五)教学支撑不足之处

1.缺少现代化的教学支撑平台。教学支撑平台是教学过程中的重要组成部分,能够为学生提供必要的辅助资源。现有的算法设计与分析课程缺乏现代化的教学支撑平台,如在线教学平台、MOOC等。

2.缺乏可视化和交互式的教学工具。算法课程通常使用黑板和幻灯片等教学工具开展教学,但是这些工具难以呈现复杂的算法结构和过程。缺乏可视化工具可能会让学生难以直观地理解算法的运行过程和内部机制,也可能会降低学生的学习兴趣,影响课程教学效果。

(六)课程管理不足之处

缺乏对实际案例和应用场景的介绍。算法设计与分析课程中往往注重介绍算法的原理和性能,缺乏实际案例和应用场景,导致学生难以理解算法的实际应用和价值。

(七)人才培养不足之处

算法设计与分析课程作为计算机专业的核心课程,对算法进行了深入的分析,为学生学习打下了良好的基础,但在培养顶尖人才方面仍然存在不足。

1.专业深度挖掘不够。目前的算法设计与分析课程主要关注经典且基础的算法,缺乏对新兴算法的介绍和对算法深层次原理的研究。

2.缺乏与其他学科的交叉融合。传统算法设计与分析课程主要关注计算机科学本身,缺乏与其他学科如数学、统计学、物理学等的交叉融合。在实际应用中,算法往往需要与其他领域的知识相结合,才能解决复杂的实际问题,否则将不利于学生学术视野的扩展与实践能力的发展,使得他们缺乏应对复杂实际问题的能力。

二、 算法设计与分析课程改革的切入点与具体措施

针对算法设计与分析课程建设滞后、知识体系重理论轻实际应用、教学方式重知识传授轻思维培养、课程内容与学科前沿及产业技术脱节、教学手段单一、学生算法设计实践能力难以达到业界要求等问题,课程组提出了课程思政深度化、知识体系系统化、教学方法科学化、教学内容前沿化、教学支撑多样化、课程管理层次化、人才培养拔尖化的课程建设方案,具体内容如图1所示。

(一)广泛挖掘,深度优化面向新工科建设的课程思政实施路径

“以大思政”理念为引领,深入挖掘专业课中的思政资源,实现课程思政与专业思政的同向同行,协同促进。立足立德树人的根本任务,充分挖掘算法设计与分析课程中的思政元素和专业元素,借助哈尔滨工业大学计算机学科优势,将课程思政融入课程建设的各个环节中。在这个过程中,以科学精神为基础,充分挖掘相关知识中蕴含的思政元素,提炼出包含文化和价值元素的专业课内容,并将其有机融入教学,培养学生科技报国的家国情怀。同时,结合专业背景,强化学生的使命担当,培养其正确的世界观、人生观和价值观以及良好的职业素养。此外,培养学生形成高效解决问题的思维方式,将思想政治教育融入课题讲授中,培养出社会主义合格建设者和可靠接班人,塑造全面发展的时代新人。

(二)详略得当,全面梳理适应新工科建设的课程知识体系

结合“强应用、多融合、预衔接”的改进思路,全面梳理算法设计与分析课程知识体系,增加实际应用场景中算法设计、分析与选择的知识,适当减少已不适应当前社会需求的内容。同时,加强学生对理论分析与实际场景差异的认知,深化学生对算法选择和效率考量的理解。引入多学科交叉融合的知识体系,培养学生综合学科素养。合理划分算法设计与分析课程的基础部分和高级部分,对高级内容进行简要介绍,为后续研究生课程高级算法等的教学打下基础,从而实现知识体系的系统化。

(三)自底向上,设计激发学生学习热情的科学教学方法

从思维培养、前沿衔接和教学呈现三个层面,设计科学的教学方法(见图2),以实现以下目标:一是引导学生探索算法背后的本质原理,培养他们的算法设计思维;二是解析算法在前沿技术的应用原理,让学生深刻理解算法在前沿技术发展中的重要意义及实际应用原理;三是设计逻辑严谨、叙事有趣的教学呈现方式,以此激发学生对算法的学习热情,同时确保严谨性。

1.在思维培养层面,采用“四步式”方法来培养学生的科学思维:(1)分析问题关键。通过分析算法所要解决问题的关键要素来引导学生思考问题。(2)厘清发展脉络。帮助学生厘清所要研究问题的相关算法的发展脉络。(3)激发学生学习算法的热情。通过分析现有算法的不足,激发学生学习算法的热情。(4)探究本质原理。深入探究算法的本质原理,推导算法的过程。

2.在前沿衔接层面,紧跟前沿相关技术。通过结合前沿技术、构建典型案例、分析应用原理和理解算法意义四个步骤,将前沿技术融入教学案例设计中。

3.在教学呈现层面,注重教学呈现方式。教学呈现方式既要讲究逻辑的严谨性,也要注重故事的启发性。将枯燥、深奥的算法知识以简明扼要的方式生动有趣地呈现给学生,以此激发学生的学习热情,实现教学方法的科学化。

(四)双维并举,更新面向新工科建设的课程教学内容

在更新和完善课程内容方面,可以从任课教师科研成果转化和校企协同育人两个维度进行考虑,以确保课程内容与学科前沿动态、产业技术发展贴合。在任课教师科研成果转化为教学资源的维度上,任课教师可以结合自身的科研经历,阐述算法的应用原理。将科研内容融入课程教学中,使学生能够了解最新的算法设计思想。任课教师可以分享自己的科研成果和案例,将前沿研究成果与课程内容相结合,丰富学生的学习体验。在校企协同育人方面,可以整理和归纳企业在实际算法设计中遇到的问题,形成教学案例。通过与企业合作,学生可以接触到真实的算法设计问题,学习解决问题的思路和方法。通过更新和完善,使课程内容能够紧密贴合学科前沿动态和产业技术发展,保持与实际应用的联系,使学生能够掌握最新的算法设计思想和技术,实现教学内容的前沿化。

(五)启发互动,建立以学生为中心的多样化教学支撑体系

采用“讲义资源+课堂授课+课堂互动+课后QQ群”的教学方案,将MOOC教学资源作为学生预习和复习的辅助材料,以学生为中心,为学生提供多样化的教学支持,包括课前、课中、课后和课外的学习。针对具体的知识点,可以采用多样化的教学手段和方式进行讲解,使学生能全面理解算法的原理,并将其与实际应用场景相结合。同时,注重让学生了解算法的最新发展,保持与前沿研究成果的接轨。比如结合最新的研究成果,介绍华人学者在2021年计算机理论领域顶级学术会议SODA上获得最佳论文奖的成果,以此提升学生对算法复杂度优化的重要性和挑战性的认识,同时增强学生的民族自豪感。另外,在介绍A*算法时,展示以A*算法为核心的吃豆人游戏,以此激发学生的学习兴趣和学习热情。通过以上多样化的教学方法和案例,使学生更加积极主动地参与学习,实现教学支撑的多样化。

(六)层级递进,建立“基础—进阶—超越”的渐进式、挑战性课程管理方式

经典小说推荐

杂志订阅