以能力为导向的本科算法类课程教学方法研究
作者: 刘晓路 何磊 王翔汉 杜永浩摘 要:算法类课程是计算机等应用型工科专业本科生必修的重要课程,此类课程具有理论知识与实践并重、前序知识要求高、知识点多及逻辑性强等特点。针对算法类课程的教学难点,从教学理念、内容环节、教学模式和考核方法四个方面,设计“以学生为中心”的教学理念,构建算法类课程双维度知识图谱,设计“课堂教学-在线实训-课程实践”三位一体教学模式以及面向过程的本科算法类课程考核方法。经过一个学期两个班次的教学实践,上述教学方法取得了显著成效,学生在2020年全国大学生数学建模竞赛和军事建模竞赛中取得佳绩,表明该方法能够为算法类课程的教学提供有益借鉴,培养学生自主学习、动手实践和创新能力。
关键词:算法类课程;实践教学;知识图谱;在线实训
中图分类号:G642 文献标志码:A 文章编号:2096-000X(2022)08-0051-04
Abstract: Algorithm courses are important compulsory courses for undergraduates majoring in applied engineering such as computer science. Such courses have the characteristics of emphasizing theoretical knowledge and practice, high requirements for prerequisite knowledge, knowledge points and logic. Aiming at the teaching difficulties of algorithm courses, this paper designs the "student-centered" teaching concept, constructs the two-dimensional knowledge map of algorithm courses, designs the trinity teaching mode called "classroom teaching-online training-course practice", trying to improve the process oriented undergraduate algorithm courses teaching method from four aspects: teaching concept, content system, teaching mode and assessment method. Through the teaching practice of two classes in one semester, the teaching method above achieved remarkable improvement: the students obtained great results in the 2020 National Mathematical Modelling Competition for College Students and the 2020 Military Modelling Competition, which shows that this research provides a useful reference for the education and teaching methods and the reform of assessment methods for algorithm courses, and cultivates students' learning initiative, innovation ability and engineering application ability.
Keywords: algorithm courses; practical teaching; knowledge atlas; online training
一、研究背景
教学改革包括教育理念、教学内容、教学方式方法、学生学习方式方法、课程考核和评价方式方法等[1],这也是当前各高校开展教学改革的主要内容[2-4]。教学改革的核心目的是提升教学效果,充分调动学生学习的主动性,全方位培养学生的综合能力,而不是简单地进行知识的宣贯。为了实现这个目的必须加强教学研究,结合各类课程的特点,探索有效的教学和考核方式。
一直以来,考试是衡量学生对知识掌握程度的一种有效检验方式,而当前课程考核所采用的考核方式主要包括课程考试、过程考核和综合评价等。传统的课程考试侧重对基础知识、基本技能的考察,对学生学习有一定的促进作用。但是,随着信息技术的快速发展和网络技术日益成熟,学生知识获取的途径和方式也有了根本的变化,学习过程中学生的角色地位发生了改变,使得现有考核方式出现了很多问题:一方面,当前课程考核的考试内容创新不够,对学生能力的考核欠缺;考核指标相对单一,更多是对知识点的考核,却不能体现学生综合素质的提高;考核过程单一,一考定输赢,卷面成绩替代能力输出[5-6],以上种种导致现在课程考试的“形式主义”严重,“临时抱佛脚”也可以考出好成绩;另一方面,当前课程考核方式也存在一些问题:试卷考核覆盖内容较窄,更多体现在课本理论知识;考试的试题类型相对固定,答案标准化;考试形式单一,科学性不强。因此,当前的考核方式导致学生重课本、轻实践,重知识、轻能力,重结果、轻过程[7],这对算法类课程的教学是非常不可取的。
刘文新[8]探讨了面向高等职业教育的以能力为导向的课程考核改革方案,他提出用形成性考核来替代传统的“一张卷”,其中形成性考核包含日常考核、实训考核、课程设计和期末考试。作者认为形成性考核相较于传统的考核方式,对学生的评价更加公正合理。周向群[9]探讨了以能力为导向的管理类课程全过程考核方式,作者从积极转变教学模式和方法、构建学习型教师队伍两个方面提出了改革策略。刘永红等[10]探讨了信息化背景下课程考核的改革,作者的主要观点为信息化背景下不同课程考核和评价的模式不能千篇一律,应针对课程特点设计考核方式,并以大学化学为教学案例提出了考核设计方案。
从上述研究现状的分析可以看到,现有以能力为导向的课程改革研究主要面向特定的课程和特定的群体,课程包括管理类课程、大学化学课程等,教学对象包括普通院校本科生和高等职业教育学生。文献中尚未有针对算法类课程教学改革的相关研究。
针对以上问题,本文面向应用型工科本科生的培养特点,结合作者自身的教学实践,探索适应算法类课程的教学方式和考核方法,进而调动学生学习的主动性,提升课堂教学的效果,最终提升学生的实践和创新能力。本文以现代优化算法课程为例,对算法类课程进行过程考核模式的探索与实践,以培养学生的实践能力、提升课堂的教学质量为牵引,引导学生主动学习,通过思考梳理掌握现代优化算法理论知识,并培养学生分析、解决问题的能力,强化学生的创新意识。同时,研究成果也为其他算法类课程的教育教学和考核方式改革提供有益的借鉴。
二、现代优化算法课程与实践教学
现代优化算法是一门理论知识与实践并重的算法类课程。现代优化算法是受自然智能的启发而得到一类基于计算机的优化方法,先认识自然世界的信息处理机制,然后进行计算模型抽取、算法设计,最后应用于具体问题的解决方案,其核心是在计算机上通过仿生设计实现算法的有效搜索和快速收敛,进而支撑实际优化问题的求解[11],是管理运筹领域问题求解的主要方法之一。现代优化算法是求解资源调度与分配(如物流调度、航班调度、电力调度等)以及任务规划(如导航路径规划、人力资源排班规划、飞机航迹规划等)等现实问题的有效工具。课程将简明而系统地介绍局部搜索、模拟退火、禁忌搜索、遗传算法、蚁群算法和粒子群算法等经典算法,内容涉及优化机制、理论、流程、设计和应用等多个层面,本课程要求学生既要掌握算法设计相关的理论知识,还要求学生学以致用,能够运用所学的算法编程解决实际问题,因此是一门理论与实践并重的课程。
实践教学是提升算法类课程教学质量的重要环节,是贯通理论与实践的必要过程和基本手段,但是如何考量学生的学习和实践效果,成为摆在老师面前的新问题:既要检查学生对课堂知识的掌握情况,又要考察学生综合运用这些知识解决实际问题的能力。很多授课老师将考核分为两部分,笔试和分组课程实践,这种考核方式主要针对知识点进行考核,容易产生抄袭现象,还让部分学生养成了“随大流”“搭顺风车”等不好的习惯。对老师而言,这种方式也很难准确评价和区分学生的最终成绩,可能在无形中挫伤了部分学生学习的积极性。因此,合理制定能够贯穿学习过程、体现学生学习投入的考核方式,对学生的学习过程和学习效果进行综合评价,成为提升算法类课程教学效果的必然选择。
三、算法类本科课程教学方法
为了解决上述问题,本文从教学理念、内容环节、教学模式和考核方法四个方面设计了以能力为导向的本科算法类课程的教学方法。
(一)“以学生为中心”的教学理念
贯彻“以学生为中心”的教学理念,以学生的学习效果为课堂评价标准,体现学生的学习主体地位。具体来说,体现在如下三个方面:
一是目的导向,了解学生关切。站在学生角度,考虑学生后续的职业规划,以需求为牵引,结合实际案例,让学生由“要我学”向“我要学”转变。
二是个性化教学,考虑学生个体之间的差异,因材施教,依据学生特点有针对性地制定不同的学习计划,在教学实施中尤其是课堂教学环节及时收集他们的学习反馈,了解不同学生对课堂内容的掌握程度,最好能够结合学生的反馈调整其学习计划,从而使学生的学习过程形成闭环反馈。
三是鼓励学生参加各类数模竞赛和算法竞赛,并给予悉心指导,良好的算法基础是数模竞赛的利器,通过鼓励学生参赛来激发学生学习的热情和积极性,形成较好的正反馈,另外关注学生日常的学习状态,及时解答学生的疑惑,积极跟踪回访,并根据反馈对教学方法进行调整改进。
(二)构建算法类课程双维度知识图谱
算法类课程前序知识要求高、知识点多、逻辑性强,学生首次接触时,难以形成完整的知识体系,导致接受速度较慢。针对这些问题,需要建立两个维度的知识图谱,以现代优化算法课程为例,一是建立包括局部搜索、进化计算和群体智能等在内的基础知识的知识图谱;二是从纵向梳理现实应用对应的基础理论问题,并与横向的算法进行关联,构建涵盖问题域和方法域的课程知识图谱。根据知识图谱理清课程授课脉络和相应进度的知识点要求,并设计典型案例,为学生及时查漏补缺以及为系统化、综合化的知识运用提供支撑。
围绕课程知识图谱,采用以案例为载体的启发式教学方式。一方面,在课堂组织上针对那些抽象、难以理解的知识点,从学生生活实际中设计抽取浅显易懂的案例或应用,并将其作为切入点,结合案例以深入浅出、贴近生活的方式讲解那些抽象的算法知识,让学生体会如何随着理论知识不断丰富,如何逐步推进应用案例的深入研究;另一方面,针对算法类课程知识点多、体系化、逻辑性强的特点,在授课之初先给出算法在方法域、问题域和知识图谱中的定位,让学生知道每堂课要学什么和学完之后可以干什么,然后根据学生的课堂表现和课后反馈,随时调整授课内容进行查漏补缺,确保学生能够跟上课程进度;在讲解每个算法的理论基础和相关知识点时,结合课程知识图谱帮助学生梳理与其他知识点的关系,启发学生建立课程的理论脉络,进而掌握整门课程的知识体系。
(三)“课堂教学-在线实训-课程实践”三位一体教学模式
构建“课堂教学-在线实训-课程实践”三位一体的教学模式。正如前面所述,现代优化算法是目前解决规划、调度问题的主流方法之一,在整个课程体系中属于工具、方法类的课程,是任务规划相关专业学生必须掌握的专业基础课。因此,为了确保课堂教学有的放矢,首先在开课之初,以问卷调查的方式收集学生的专业基础、编程能力、职业规划与相关理论储备,并在此基础上调整课堂教学的重点;其次,搭建在线的算法实训平台,将每个算法具化为实际代码,并让学生参与代码的在线撰写,降低学生编程的难度,同时也能让学生不再“纸上谈兵”,可以让他们“依葫芦画瓢”;最后,结合实际应用或者建模竞赛,设计综合的课程实践环节,从问题建模、算法设计和问题求解等多角度评判学生的学习效果,并让学生体会到学以致用的乐趣。这种三位一体的教学模式将原本“抽象、复杂、冷门”的算法课程教学与学生未来的发展规划有机融合,促使学生在课程学习中产生主动锻炼实践能力、积极达成课程目标的内在动力和兴趣。