投稿问答最小化  关闭

万维书刊APP下载

兵法和算法双主线的算法课程思政建设

2024/1/2 14:50:48  阅读:95 发布者:

0 引 言

算法课程是计算机类课程体系中公认的一门非常重要的基础课程,主要目的是通过理论讲解、实例演示以及课内项目训练,培养学生掌握计算机算法设计、算法分析及复杂性理论的基本概念、基本的算法分析方法和常用的算法设计技术。近年来,该课程受到广大理工科甚至相关专业学科学生的普遍欢迎。

针对计算机类算法课程的思政建设是十分必要和重要的 [1]。一方面,计算机和软件工程类人才在社会中的需求量越来越大,活跃在各行各业的 IT 人才需要更高的社会责任感和职业道德;另一方面,算法课程较为基础,是计算机类专业普遍认可的基础课程,研究以算法课程为抓手的思政教育模式对各大高校计算机类专业人才培养具有较高的借鉴和推广意义。目前各大高校的计算机类算法课程思政建设普遍还不成熟和完善, 还存在较多的共性问题。

1 高校计算机类算法课程思政建设的特点和问题

众所周知,课程思政的建设方案与建设效果直接与开设课程的内容特点以及授课对象的人群特点有着紧密的联系。以同济大学软件学院开设的算法设计与分析课程为例进行具体阐述。

1.1 计算机类算法课程的特点

1)课程理论深度深、难度大,包含较多的公式和推导,如递归关系式求解、主定理(Master Theory)的证明和推导、动态规划问题的建模、贪心算法的最优性证明等,学生理解起来难度比较大。

2)课程内容多,包括课程内容包括算法和算法效率分析的基本概念、分治算法、分支限界算法、动态规划算法、贪婪算法、随机算法、近似算法、计算复杂度等知识点,但各大高校普遍的课内上课时间是 34 学时或 51 学时,授课时间有限,主讲教师如何进行内容选择且做到重难点突出也是一个重要的问题。

3)课程的学习一般以编程语言和数据结构为先修课程,而这些课程多以具体的代码编译和执行过程为重点,但本课程核心在算法思想的介绍和分析,较为抽象。

4)课程的内容较为基础,专业性不鲜明,不同于其他专业课程如操作系统、数据库等具有明确的应用场景,算法课的内容可以融合在依赖于计算机实现的各种功能系统中,如操作系统的进程调度算法、无线网络中的定位算法、人工智能的梯度下降算法等。应用场景不明确的知识介绍,让学生在学习过程中极其容易丢失学习的目的性。

1.2 算法课程中“人”的特点

全国各大高校尤其是上海市的四大教育部直属高校开设的算法课程在授课教师以及授课对象上,也普遍存在以下几个特点。

1)算法课程是计算机类专业普遍开设在大一或大二的重要基础课程,受众人群数量大,且学生年龄相对较小。

2)学生多为工科背景,在人文素养及工程伦理、职业道德等环节的引导普遍较少。

3)授课教师所承受的授课压力,如有限时间内大量的知识输出、活跃的课堂气氛、老师们自身的知识储备(偏工程技术、弱人文精神)等,都决定了该课程在开展教学育人时存在的局限性。

1.3 现有算法课程思政建设存在的问题

1)现有算法课程思政建设普遍存在多个课程知识点与多种思政元素融合的现象(如国际视野、民族情怀、科技进步、传统文化、职业道德、科学精神等)[2-6];在课程思政环节,学生学习体会有拼凑感强、系统性差的问题。相应的, 在学习完相关专业知识后,其相关的思政教育明显存在效果差、影响力度小的问题。

2)算法课程本身的特点限制了课程思政的开展。算法课程具有内容多、难度大的特点,在充分讲授原有课程内容的基础上再进行思政建设和设计,存在时间少、可施展空间小的问题。

3)算法知识点与思政元素融合方式、人才培育效果评价机制等尚无明确形式,课程思政建设方案有待进一步探索。

2 以兵法和算法为双主线的算法课程思政建设

针对现有算法课程思政建设的难点和问题, 将算法学习与中国古代著名兵法《孙子兵法》和《三十六计》相融合,从问题本质上实现思政教育与算法知识的双主线并行学习的思政建设框架。

具体建设方案如图 1 所示,即按照算法课程的内容结构安排,为算法课程中每一部分的知点安排对应的兵法谋略解读,同时引出对应的思政育人因素,以此期望学生在学习算法的同时, 协同学习兵法谋略中的对应计策和理念,获得对中国传统文化尤其是以兵法谋略为代表的民族文化自豪感和成就感。具体的对应点解读可参见 2.2 节。

2.1 以兵法为主题的算法课程思政建设的育人目标

《孙子兵法》和《三十六计》是我国文化的精髓,具有很高的历史地位和借鉴意义。《孙子兵法》成书于春秋末期,是我国古代流传下来最早的最完整的军事著作,其主要叙述了战略方面的理论,其中的哲理不仅适用于军事战争,对商业、政治竞争方面也有借鉴意义 [7]。内容包括战争规律、哲学、战略、政治、经济、外交、地理等内容,涉及面很广。与此同时,《三十六计》或称三十六策,是指中国古代三十六个兵法策略,语源于南北朝,成书于明清,它是根据中国古代军事思想和丰富的斗争经验总结而成的兵书,是中华民族悠久的非物质文化遗产之一。

以这两本典籍作为算法课程思政建设的主要参考,可以达到以下 3 个主要育人目标。

1)在加深对算法的理解和运用的同时,增强学生对中华民族传统文化尤其是兵法的深刻认识,体会中华民族文化的博大精深,弘扬文化自信。如果把兵法和战术谋略当成战争胜利的算法,那么算法则是把计算机有限的时间和空间资源作为战场,人们通过设计不同的算法实现对计算机资源的竞争和争夺。从这个角度,兵法谋略和算法思想具有极高的契合度。

2)通过在授课过程中,连续地引入相同主题的思政元素,实现对学生文化自信、民族自豪感的强化性教育;同时也有效地避免传统课程思政建设中存在的思政元素多且主题不统一的问题。

3)兼容性地吸收其他思政元素,如对待科研的探索精神、工程师的职业道德等,适当地穿插在其他算法知识点中,避免过度强调“兵法”带来的思政教育学习厌倦感。

鉴于此,以兵法和算法为双主线学习的算法课程思政建设方案从以下 3 个方面分别对课程进行建设。

2.2 建立兵法和算法知识点映射矩阵

梳理算法和兵法的知识体系,列举二者共通性,具体见表 1。在表 1 中,算法课程中的主要算法思想及其对应的兵法谋略计策均通过矩阵的形式列出,每个知识点的契合点也通过兵法谋略的解读以及算法思想的解读进一步关联起来。

例如,在介绍算法中的蛮力法时,除了介绍蛮力法的基本思想,还要让学生体会解决问题的最基本、最直接的方法就是不断努力和尝试,把所有情况都试过了最后总能找到问题的解,这与《孙子兵法》“军争篇”中“军争之难者,以迂为直,以思为利”的含义不谋而合,即不论过程多么迂回,坚持朝着战场的方向前进就能最终到达目的地,这也和我们中华民族刻在骨子里的坚韧不拔、不怕困难、迎难而上的奋斗精神相契合。再如,在介绍分治法时,课堂中除了向学生介绍分治法的基本思想(即通过设计算法将大规模的问题,通过递归的方式分解成一系列相同类型规模更小的子问题求解,不断分解直到子问题能直接得到解为止,再将子问题的解合并为原问题的解)还通过诸如大整数相乘、矩阵乘法、二分搜索算法、归并排序等案例分析进一步加深学生对分治算法思想以及设计技巧的理解。当然,这些思想和《孙子兵法》“谋攻篇”中关于用兵的计 谋异曲同工,“故用兵之法,十则围之,五则攻之,倍则分之”,尤其是“倍则分之”即是强调当敌人的兵力是我们的若干倍时,就采用分兵、逐个击破的策略取得胜利,这和工程素养中分工合作、合作共赢等理念相吻合。

此外,在介绍回溯法时,算法课堂中我们要求学生掌握回溯法在解空间树搜索时当遇到不符合约束或不能取得最优解的节点时,回溯到当前节点的上一层,再继续求解的算法思想。通过概念介绍以及基本案例讲解,学生已经深入了解回溯法的基本思想后,再将《三十六计》中的“欲擒故纵”计策相关联,进一步引出思政元素点,做人做事不能被一时的失败蒙蔽双眼,能屈能伸、百折不挠奋斗到底才能成功。最后,再比如贪心策略,算法课堂中介绍的贪心策略是不断通过当前步骤中的最优性选择期望达到全局的最优解,除了介绍贪心策略的基本概念、基本算法步骤、算法的正确性证明等,再通过诸如活动安排、分数背包问题、迪杰特斯拉算法等案例分析进一步加深学生对贪心策略的理解。贪心策略很容易和哲学中的贪心问题相关联,而《三十六 计》中最著名的贪心策略应用当属诸葛亮和司马懿的“空城计”。诸葛亮正是充分利用了司马懿的多疑特性,将本是全局最优的直接攻城这一步硬生生地演成仅当前一步的最优,让司马懿克制住贪心,止步在一座空城之前。当然兵法策略没有好坏之分,但是在人才培养时,我们要利用贪心策略不一定都能取得全局最优解的科学性问题,帮助学生树立大局观和正确的人生价值观, 更好地为社会和国家奋斗。

2.3 优化课程结构和教学方法

为了保障双主线的算法课程思政建设顺利实施,首先要做的就是要优化课程结构和教学方法,在有限时间内提高知识传授效率,为思政教育预留足够的时间和空间。

1)本门课程利用多个教材、多种教学资源,立足根本,在讲清楚、讲透彻课程中的重点、难点上下狠工夫。精心备课,耐心讲解,努力钻研有效的授课方式,将每个知识点都能通俗易懂地 传授给学生。在备课中博采多个参考文献、大量 案例、网上素材、实验演示等多种材料的精髓。比如,为每个班级建立线上课程群,在课程群里共享往年录播的教学视频,供学生在课余时间预 习或者复习使用。此外,建立课程网站,除了分享相关的课程教学目标和教学内容,还将经典算 法通过动态演示的形式呈现给学生,使复杂算法更直观地被理解和接受。

2)充分了解本专业本科生的培养计划,建立课程体系中各知识点的有效衔接机制。以同济大学软件学院算法课程为例,其所在的课程体系如图 2 所示。在课程内容的教授过程,很多知识点诸如排序、选择算法等虽然包括在所采用的教材里,但是在先修课程离散数学、数据结构中已经介绍,属于重复知识点。我们通过旧知识新学法,达到新旧知识的无缝衔接,具体如让学生自荐,选择出一部分内容自己讲解,在复习巩固旧知识的基础上站在算法分析与设计的角度,对比着进行学习,从而达到旧知识有新意的学习,且一门课程由多个演讲者上课,避免一个老师从头 讲到尾而容易产生枯燥和乏味的上课氛围。此外,在讲授动态规划、贪心算法时,不断提醒学生关联高年级学习的专业课程,如计算机视觉、语音信号处理等课程中都会有针对这两类算法的具体应用,比如计算机视觉课程中的马尔科夫决策过程和语音信号处理课程中的隐马尔科夫链算法都是动态规划算法的具体应用。进一步,帮助学生建立学有所用、学有所长的学习信念。

3)建立有效的互动模式,课堂气氛轻松活跃。避免无效或者形式化、少数人的师生互动;增加学生间的互动,鼓励学生以小组的形式讨论、开展项目、进行小规模知识点的讲解等,如在课程开始的考核环节介绍中,有意识地引入 “课堂活跃度”分数这一部分,让学生把积极回答问题,积极和老师互动当成是提高成绩的一种方式,从这个动机上,强化师生互动的作用。此外,为避免无效互动,尽量避免提一些没有思考价 的问题,多增加一些像直接思考会产生思维陷阱的问题,如在学习分治算法的效率分析递归关系式时,可以向学生提问如下的等式是否成立:

大规模问题求解时间成本 = 小规模问题求解的时间成本 × 小规模问题的数量。

将这种逻辑上很直观但属于思维陷阱的问题抛给学生,让学生回答和思考,从而调动学生的思考能力以及参与积极性,实现高效的课堂知识传授。

4)紧跟社会发展以及软件技术革新的脚步,将科学研究领域中出现的新知识、新方法等与课程内容紧密结合;用具体实例让学生意识到所学内容的经典性、重要性。比如,在讲到分治算法中的超大整数相乘的案例时,将 2019 年报道的谷歌提出的“超大数相乘”算法新闻和学生分享。再如,讲到动态规划算法时,用阿里巴巴、谷歌等公司的面试算法题目作为算法讲解的例题,再次让学生体会到所学课程内容的重要性。最后,在讲到分支限界算法时,用授课教师的科研课题中利用二维分支限界算法进行图像中物体定位的科研问题进一步拓展课本所学知识,帮助学生提高以及深 化所学课程内容,提高学生积极思考的能力。

2.4 建立三方联动的教学评估模式及反馈机制

为了对本思政建设方案进行客观评价及持续改进,建立“专业教师主导—思政教师监督—学生反馈评价”的闭环评估模式及反馈机制。利用发放调查问卷的形式,具体到由谁发放调查问卷,以及对多个年级的学生发放调查问卷的细节化操作,验证所提课程思政建设方案的成效。通过当届学生和历届在校学生的问卷对比,对比建设方案的即时成效以及教育影响程度。通过专业教师以及思政教师分别发放针对性不同(如专业教师注重思政和算法的融合,思政教师注重思政教育效果等)的问卷,达到验证该方案在制订时 思政教育设计的目的和完成时的效果是否存在统一性。最后再通过教师对 4 份问卷的系统化分析, 针对性地对课程思政建设方案进行修改,实现本方案的迭代升级。此外,具体的问卷放发形式, 可以采用课程 QQ 群、Canvas 等线上教学手段。

3 结 语

通过探索性地将算法课程的思政建设主题统 一成中国古代的兵法谋略学习,实现了兵法和算法的双向促进教育作用,最后通过建立的“专业教师、思政导师和多届学生”三方联动的闭环教 学评估模式及反馈机制验证了所提方案的可行性和有效性;同时也为计算机类其他课程的思政建设提供了一个新的研究思路。

经过若干次的教学实施和反馈评估后,在该方案相对成熟的基础上,总结和积累专业课程 如何在统一的思政主题下实施课程思政建设的经验和成果,建立高校计算机类算法课程思政教学 案例,初步凝练一套凸显课程特色的系统化课程思政建设体系,该体系可以在新的统一思政主题下,适当修改和调整后在算法课程群以及计算机类其他专业课程上推广和试用。下一步,还将加大在学院、兄弟院校的宣传力度,采用诸如算法课程思政经验分享会、研讨会等交流形式,进一 步扩大该方案的影响力度。

参考文献:

[1]  王向明, 戚雯泾. 强化思想理论教育 积极进行价值引领: 学习贯彻《关于加强和改进新形势下高校思想政治工作的意见》[J]. 思想政治工作研究, 2017(4): 4-6.

[2]  王新宇, 潘雨青. 数据结构课程思政教学设计与实践[J]. 计算机教育, 2021(1): 97-100.

[3]  刘伟, 胡为, 李小智, . 算法分析与设计课程思政教学研究与实践[J]. 计算机教育, 2020(8): 70-74.

[4]  李曲, 王春平, 程振波, . 算法设计与分析课程思政研究与实践[J]. 计算机教育, 2021(5): 78-81.

[5]  吴强, 彭蔓蔓. 计算机组成课程思政教学实践与探讨[J]. 计算机教育, 2019(11): 11-15.

[6]  窦本年, 许春根, 金晓灿. 密码学课程中的人文素质教育[J]. 计算机教育, 2019(3): 5-7, 11.

[7]  林闯. 策略三十六计和算法三十六计[J]. 电子学报, 2020, 48(2): 209-237.

第一作者简介:罗烨,女,同济大学副教授,研究方向为计算机视觉、机器学习以及医疗影像处理与分析等,yeluo@tongji. edu.cn

转自:“计算机教育”微信公众号

如有侵权,请联系本站删除!


  • 万维QQ投稿交流群    招募志愿者

    版权所有 Copyright@2009-2015豫ICP证合字09037080号

     纯自助论文投稿平台    E-mail:eshukan@163.com