杨智明,杨天晴
(保山学院 信息学院,云南保山 678000)
数据结构是计算机科学与技术专业重要的专业课程,传统教学把学生束缚在应试教育的框架下,学生疲于应付各种考试,毕业后从事的工作与用人单位需要的合格人才存在一定的差距。2019年10月31日,教育部发布《关于一流本科课程建设的实施意见》,提出建设适应新时代要求的一流本科课程,推动高等教育改革发展的要求。该文通过分析数据结构传统教学存在的问题,从工程教育专业认证的角度探讨数据结构课程改革,坚持成果导向,优化课程内容,加强学生的赋能教育,培养学生解决复杂工程问题的能力,提高人才培养质量,解决合格人才供给不足的矛盾。
工程教育专业认证是国际社会评价高校工程人才培养能力的一种重要手段,由工程教育专业认证协会对高等学校工科专业,以培养目标和毕业要求为导向,进行的“第三方”质量评价,其核心是确认工科专业毕业生达到行业认可的既定质量标准要求。在工程教育专业认证背景下,数据结构课程教学改革是围绕以“学生中心、产出导向”的课程改革,主要从学生能从数据结构课程中学到什么,如何落实产出,再聚焦到学生学习成果的达成。围绕培养目标—毕业要求—课程体系—教学活动—教学效果评价这个教学过程,通过工程认证正向施工和反向设计[1],把学生毕业要求的指标点与数据结构课程的培养目标建立起联系,并在教学过程中强化学生的能力培养,使得教学目标达成。
近几年来,学院多次修订人才培养方案、教学大纲和教学计划等多种教学材料,由于传统的数据结构课程的教学目标不明确、不具体、不可测,一般用了解、掌握、理解等含糊的动词描述对知识和能力的要求,不能明确说明数据结构课程目标和毕业要求的指标点的支撑关系,而且教材选定和教学内容安排都由任课教师自行确定,因此,教学目标与毕业要求的达成度有一定的差距,出现了一些问题。一方面,无论如何修改教学材料,有些教师仍然使用传统方法讲授熟悉的教材内容,采用多年不变的考核方式评价学生,修订的教学材料成了留给“外人”看的,与授课教师无多大关系[2]。另一方面,专业课程之间内容重复,前驱、后继课程衔接“断档”也时有发生。
传统的数据结构教学是以教师为中心,以知识传授为导向的满堂灌,而不是以成果为导向,缺乏运用所学知识解决实际问题的赋能训练,考核方式也以笔试为主,侧重知识的记忆,学生被束缚在应试教育的框架下,学习迷惘无措,缺乏进取精神,平时抄袭作业、考前突击追求不挂科也在所难免,这种以知识传授为主的教学方式,对应用型人才培养尤其不利。平常学习刻苦,分析能力和动手能力强的学生,未必考试成绩高,而平时不学习的学生,靠突击记忆也能获得较高的分数,考试成绩的高低,不能真实地反映学生的学识水平和解决问题的能力,一方面,会挫伤刻苦学习学生的学习积极性,另一方面,以知识传授为导向,不重视学生专业能力的训练,学生想到薪水高,专业技能要求也高的岗位就业,难度系数加大,这就为学生难就业埋下了隐患。
2015年,一项全国部分高校工作1~6年毕业生调查表明,高校对学生培养明显不足的是学生的职业通用能力,其次才是专业知识能力。对2016 届电子信息类毕业生调查,他们认为最重要的前五项能力是电脑编程、疑难排解,谈判技巧、积极学习和有效口头沟通能力,其中,除了电脑编程能力外,其余4 项能力都是非专业的通用能力。调查还发现,教师普遍未意识到应在专业课程中培养学生的通用能力,因而,造成了用人单位需要的能力与毕业生满足的能力存在一定差距,也就出现了虽然每年毕业很多学生,但合格人才供给仍然不足,用人单位对毕业生满意度不高的问题。
以工程教育专业认证理念为指导,根据计算机科学与技术专业的人才培养方案,对照工程认证12项毕业要求,找出专业体系中数据结构课程需要支撑的毕业要求指标点,再对照布鲁姆认知目标分类法,把数据结构课程进行一个合理的目标定位,在能力要求上与对所支撑的毕业要求指标点形成实质性的呼应,建立起数据结构课程与毕业要求指标点之间的对应关系[3-7],根据数据结构课程的内容,细化每一章节所支撑的课程目标和毕业要求的指标点,形成一张数据结构课程毕业要求指标点与课程教学目标的对应矩阵,课程目标—教学环节—考核评价互相支撑,课程目标由适当的教学环节支撑,而课程目标是否达成,需要由适当的考核评价证明来支撑,它们彼此支撑和合作,共同形成一个教学过程的闭环,把学校规定的“七个一”(人才培养方案、教学大纲、考试大纲、教材、教学计划、记分册、考试成绩分析表)规范文件,教学环节教授的教学内容和考核评价统一起来,既有明确的培养目标、又有教学过程的监控机制,还有教学目标达成度的考核制度,修订的教学材料不再是放在柜子里给“外人”看的培养目标,而是目标明确,过程可测可控,教学效果可达的良性闭循环。
3.2.1 强化理论深度
数据结构课程内容涉及操作系统、计算机网络、数据库等多门课程,很多算法比较抽象难理解,而且课程中的算法大多采用类C 语言描述,如果学生对离散数学和程序设计先修课程掌握不好,抽象思维能力训练不到位,就会造成大部分学生只能读懂教材上的算法,却无法独立编写程序的现象。“工欲善其事,必先利其器”,学生要想学懂数据结构,一定要吃透理论,理解算法的思想,才能在理论的指导下写出代码,实现编程。因此,教师要对数据结构课程的重点和难点内容讲清讲透,还要从不同角度对重要原理进行多次训练,建立知识点的内在联系[8],促使学生深刻理解原理。比如,把课程内容划分成低、中、高3 个等级,对于中低难度的知识点,让学生自学掌握,对学生错误特别多的部分,再进行有针对性的分析解答,而对于高难度的知识点,必须进行详细的教学设计,制定具体的实施方案,特别要讲清知识架构和脉络关系,突出知识蕴含的深刻原理,还要让学生通过课外作业的训练,阐明典型数据结构和算法的基本原理,并能够推演和分析给定数据结构及算法的时间和空间效率,通过实践训练,知识点的对比分析,理解原理内涵及应用范围,能够针对问题做出最优选择,达到理论和实践的完美结合。
3.2.2 重视能力培养
数据结构课程的重要性在于能用计算机解决实际问题,利用《数据结构》中的知识编写程序解决生活中的最优问题、排序问题,这既是学生探索和获取知识以及锻炼和培养技能的载体,也是进行复杂程序设计训练的过程。通过生活中的最优问题,让学生综合运用所学课程知识,在理论指导下进行高水平“动脑”指挥的“动手”实践,解决复杂工程问题[9]。比如,通过小组合作完成一个任务,首先,让学生在小组长的带领下进行工程问题的讨论与分析,充分理解工程问题的求解过程:分析问题建立模型(找到解决问题突破口的能力)—选择合适的存储结构(分析判断能力)—构造求解算法(培养学生的方案设计能力)—编写程序(解决问题能力)—测试(规范化表达能力)—PPT 及总结报告(归纳展示和有效的口头表达能力),让学生利用高级程序设计语言实现典型数据结构及算法,从程序的执行过程清晰地理解实验结果,这样,通过完成工程项目,不仅能够锻炼学生复杂程序设计的能力,让学生感受软件开发的规范,以及团队的合作精神,还能让学生在不知不觉中提升疑难排除、有效口头表达等能力,为将来进入工作岗位提升竞争力。
3.2.4 重视价值塑造
数据结构涉及人工智能等知识,在教学内容和设计安排中需要突破习惯性认知模式,强调课程内容的广度和深度,可以把数据结构课程内容与大数据、云计算、人工智能等新技术、新产业深度融合,增加课程内容的实用性和前瞻性,并在教学中引入与前沿热点问题结合紧密的案例,丰富课程思想,增加教学外延内容。比如,引入搜索引擎、决策树、病毒感染检测、网络入侵检测等内容。另外,充分挖掘数据结构课程知识点的思政元素,通过精选案例、主题研讨、 师生点评等形式,将思政元素有机地融入教学中,在润物细无声中,使学生树立正确的人生观和价值观。比如,在讲树的内容时,讲到树的层次结构,就可以用学生熟悉的大学生社团组织作类比,引入育人思想。社团中每个成员根据自己所任职的级别,分别安排在树形结构的不同层次中,如果社团中的每个成员都在自己的岗位把能力发挥到极致,尽职尽责地做好本职工作,就是遇到再大的问题,社团成员也能相互体谅,互相帮助,整个社团就安定团结,蒸蒸日上,也好比我们国家,今年遇到突如其来的疫情,全国人民万众一心,众志成城,不论是防疫志愿者,还是奔赴抗疫一线的逆行者,每个人都坚守在自己的岗位上,为打赢这场疫情战尽力,我们国家才取得了抗疫的伟大胜利。在树形结构中看出,处在不同层次的结点享有的资源是不同的,层次越接近根结点,拥有的资源越丰富,如果某个成员不想安于现状,想拥有更多的资源,可以通过自己不懈努力奋斗,提升到上一个层次,从中激发学生的学习斗志。另外,针对树形结构图的知识点,让学生查询梁氏家族和钱氏家族的家族谱,画出两家为中国做出杰出贡献的人名树形构图,不仅能够使学生深刻地理解树的知识,而且能够使学生对改变大半个中国的钱、粱两个家族的伟人进行了深入了解,“千年名门望族、两浙第一世家”的钱氏家族,“一门两院士,满庭皆才俊”的粱氏家族,从而激发学生的爱国热情和为国做贡献的决心。在教学中,不断灌输遵守底线,爱岗敬业,诚实守信的社会主义核心价值观教育,落在实处就是遵纪守法,做作业、考试不抄袭、不作弊,将来参加工作才能爱岗敬业,自觉遵守职业道德和规范,在潜移默化中培养良好的个人操守和作为“IT”人的使命和担当。
课程的教学内容除了重视学生专业能力的培养训练外,在学生谈判技巧、积极学习和有效口头沟通能力等通用能力培养上也要加强,提升用人单位对毕业生的满意度。在数据结构课程中主要坚持课程内容始终为培养目标服务的宗旨,围绕“培养目标—毕业要求—课程内容—教学环节—合格人才—顺利上岗”的主线,重构数据结构课程知识体系,把每一章的内容与能力培养对应起来,确保目标定位与能力培养清晰,所教授的教学内容要与新技术、新产业深度融合,使学生能力成长与创新创业协同发展,实现科教深度融合,还要重视用人单位需要的非专业能力培养和训练。比如,一学期安排几场谈判讲座,组织几次模拟招聘、模拟谈判活动,训练学生的谈判能力和口头表达能力,布置学生查询收集数据结构课程应用的范围和该课程出现的新技术,培养学生的学习能力,还要设计一个科学合理的考核方式,确保学生达到合格毕业生要求,减少毕业生与用人单位需求差距,贯通学校与社会的教育链条,让教育回归初心。
数据结构课程存在课程目标与毕业要求的指标点没有明确的支持关系,不重视成果导向,使得培养出来的学生与用人单位的需求存在一定的差距。通过以工程教育专业认证理念为指导,以学生为中心,采用成果为导向进行数据结构课程改革,始终坚持课程教学内容为培养目标服务,不断丰富教学思想,优化教学内容。不仅要重视学生专业能力培养,还要注重学生非专业能力的通用能力训练,把社会主义核心价值观贯穿其中,提升人才素质,缩短用人单位对毕业生的培训时间,解决合格人才供给不足的矛盾。