孙 涵,高 航,黄元元,陈 兵,袁伟伟
(南京航空航天大学 计算机科学与技术学院,江苏 南京 211106)
中国高等教育正迈入一个新时代。工程教育专业认证、新工科、金课等已得到社会广泛认同,众多高校已积极探索实践。复杂工程问题[1-2]是工程教育专业认证[3]、新工科实践中的核心问题,也是金课建设重点关注的问题。同时,课程是专业知识学习和能力素质培养的直接载体,在培养学生解决复杂工程问题能力的过程中发挥着至关重要的作用[4-7]。为此,专业课程的教学目标设计和学习效果评价显得尤为关键。
2015 年以来,专业认证工作逐渐从“形似”走向“神似”。但在此过程中,还或多或少存在着一些问题。
首先,毕业要求指标点的分解未完全展现专业建设理念与专业发展内涵,未具体阐述对应专业中的复杂工程问题,未充分描述学生能力培养与素质养成的路径和方法。
其次,课程的教学设计未完全遵循“基于产出”原则,具体表现在课程大纲的设计中未完全明晰课程教学目标对毕业要求指标的支撑,教学环节设计未完全考虑对非技术因素的支撑。
再次,系统、多层次、多维度的评估评价与持续改进机制还未完全确立。毕业要求与课程的评价存在走向纯粹算分误区的趋势,未合理评价课程考核环节对课程教学目标、毕业要求的实质支撑程度,针对评估评价结果有效利用的持续改进机制还未系统确立。
国家标准中12 项毕业要求的描述较为通用宽泛,计算机类专业需要针对计算机特定领域的复杂工程问题以及专业的办学特色,对毕业要求进行指标点分解。
首先,毕业要求指标点分解的目标需明确。从12 项毕业要求总体来看,毕业要求指标点分解应更好阐释各项毕业要求的内涵,清晰描述专业特色和所针对的复杂工程问题,明确学生的专业学习和能力达成路径:一方面,学生能从毕业要求指标点描述中理解如何从基础开始,逐步提升达到最终解决专业领域复杂工程问题的能力;另一方面,课程教师也能明确所授课程在整个培养体系中的定位,更有针对性地在知识传授基础上实现课程所承载的能力、素养培养。同时,社会公众也能从毕业要求指标点描述中明晰该专业的办学定位和办学特色,对该专业毕业生有明确的期许。
其次,毕业要求指标点分解能够支撑和覆盖毕业要求。毕业要求指标点的描述在广度上应能完全覆盖标准中12 条毕业要求所涉及的内容,描述的学生能力在程度上应不低于12 项标准的基本要求。
再次,毕业要求指标点的描述要具体并且可衡量。可衡量是指毕业要求指标点所描述的能力,可以通过学生的学习成果和表现判定其达成情况。从可衡量角度来看,毕业要求指标点分解应有利于与现行的通识基础、专业基础、专业课程的分类方式对接,符合由浅入深的教学规律,按照能力形成的逻辑进行纵向分解。
以南京航空航天大学计算机科学与技术专业的毕业要求指标点分解举例(见表1)。毕业要求指标3 的分解中,既体现了计算机专业的知识体系结构(从计算机硬件、软件到系统),也给出了设计/开发解决方案能力达成的途径(从专业知识的积累到基于特定需求和约束条件的软硬件系统、模块或算法流程的设计与优化),同时注重追求创新,考虑相关的社会、健康、安全、法律、文化及环境等因素。
表1 南航计算机科学与技术专业毕业要求3 指标点分解举例
课程目标是指课程本身要实现的具体目标,是确定课程内容、教学方法和评价方案等课程实施的基础。在毕业要求指标点合理分解的基础上,课程教学目标的设计尤为关键。由于毕业要求指标点仍是从专业整体宏观视角给出的描述,在课程教学目标设计时,需结合具体课程,对毕业要求指标点进行具体化阐述。
以数据结构课程为例,课程教学目标见表2。针对毕业要求指标点2.4 中的“能够针对具体的计算机领域复杂工程问题的多种可选方案,进一步根据约束条件进行优化分析,通过文献研究等方法给出具体指标和有效结论”,在该门课程中具体化为教学目标2“能够针对具体应用问题,在多种可选方案中,根据问题的约束条件,分析各种方案在数据存储、算法效率上的利弊,选择恰当的数据结构、存储表示和与之对应的操作方法”。这就对约束条件和优化分析进行了具体化阐述,学生可以通过本门课程的训练来理解约束条件的内涵,掌握并运用与之对应的优化分析方法。
表2 数据结构理论课程教学目标举例
结合作者在专业认证现场考察经历,阐述课程目标设计中存在的几个值得注意的问题。
首先,课程目标设计的视角选择值得关注。课程目标设计要基于学习效果的期望,针对本门课程承担的复杂工程问题相关的能力训练,侧重于通过该门课程学习获得的知识、能力和素养提升效果。也就是说,针对课程所支撑的毕业要求指标点,考虑如何在本门课程中进行具体化阐述。这显著区别于传统的基于知识内容列举式的课程目标描述。基于内容出发的课程目标描述,与之对应的基于知识传授的传统教学方式,对学生专业能力和素养发展难以实现系统化的训练。基于内容的课程目标描述还存在与毕业要求指标点支撑的多对多现象,每个课程目标形式上都支持多个指标点,每个指标点也由多个课程目标支撑,最终课程目标都无法有效支撑毕业要求指标点。
其次,课程目标设计中需更关注非技术因素的毕业要求指标点。课程目标对工程知识的支撑没有异议,但对非技术因素的毕业要求支撑,存在诸多争议:一方面,部分专业教师认为课程应更多承载知识的传授,其他因素的考虑会本末倒置;另一方面,专业教师大多认为学生普遍缺乏专业论文的写作训练,毕业论文文字表达存在严重问题。其实,对于非技术因素的毕业要求支持,不可能仅通过专业实习、综合设计、毕业设计等一蹴而就,需要在各门课程中进行不间断训练,才能最终达成期望。
再次,注重课程间的课程教学目标对毕业要求指标点的逐层支撑[8]。专业各门课程不是孤立存在的,可通过课程群来实现解决复杂工程问题能力的支撑覆盖。例如,程序设计、数据结构、算法分析、软件工程等组成的软件课程群,从底层的程序设计开始,逐步提升学生的基础编程能力、多样的数据表示与操作设计能力、算法设计与分析能力,进而实现系统的软件设计与实现能力。
总之,课程教学目标是工程教育专业认证落地的关键,起到承上启下的关键纽带作用。课程教学目标既是毕业要求指标点的具体化阐述,也是教学过程设计、教学组织实施、教学考核评价的依据。
首先,课前列出课程相关的阅读资料清单,并持续更新。阅读资料围绕课程的授课内容,给出经典论文、公开课视频资源、技术前沿论文、业界动态与趋势等。通过资料阅读,既让学生了解课程内容的前世今生,也有助于培养学生的国际视野和终身学习能力。
其次,结合理论课程设计相关的实验实践环节,注重学中做和做中学。通过理论学习与实验实践的密切配合,不仅学习课程知识,更重要的是通过实验实践,明晰课程所支撑的专业思维方式、专业能力和素养要求。通过设计型、综合型实验,支持教学目标中的问题分析、设计/开发解决方案、研究和使用现代工具能力,进一步实现解决专业领域复杂工程问题的能力培养。
再次,注重团队合作和沟通能力的训练。例如计算机组成课程,通过分组研讨、分组实验,让多人一起完成一个较大规模的CPU 设计。通过组队,学生可合作完成单人短时间无法实现的任务,对知识的系统全面理解和运用会有更多体验,竞争与协作意识也能得到提升。在实验实践过程中,通过对项目开题论证、研究报告、展示汇报等环节设计,实现学生在专业领域中的听、说、读、写等沟通能力训练。
值得注意的是,多样化教学环节的实施过程需要有力保障:①课程教师团队要有足够的教学投入,能够就教学目标重构教学设计、丰富教学环节;②要有高水平的助教团队支撑,实现大班讲课、小班甚至小组过程化管控;③充分利用智慧教室等教学条件,改变传统教学方式,采用新型教学方式方法,如MOOC、SPOC 等更好支撑专业课程教学。
在课程目标、课程教学环节设计的基础上,过程化、多维度的教学考核是课程目标实现的关键[9]。
首先,所有的教学环节都要有公开、明确的考核方法和标准。例如实验课程的评分,往往根据学生的实验完成情况、实验报告的长度来主观给分,优良中差缺少一个明晰的标准,造成学生较为困惑。表3 给出了数据结构实验课程教学大纲中明确的部分教学目标考核方法和标准。表3中各项教学目标的达成要求清晰具体,特别是对编程水平和实验报告写作要求的同等重视,有利于教学目标的达成和实现对毕业要求的支撑。在团队考核方面,要注意考核的方法选择,既要考查团队的整体学习效果,也要注意考查个体间的差异。
表3 数据结构实验课程教学考核举例
其次,注重教学考核的过程化和多维度。从教学实践经验来看,实验类课程建议慎用单一大作业形式,可考虑运用由多个实验构成的过程化、层次化、系统化的实验体系。在层次化的实验体系中,教师可以对每个实验环节进行监控和评价,这样有利于更全面、更细粒度的评价实验教学目标及其达成度。此外,教师也可以通过单独改进某个实验环节从而稳健平顺地改进整个实验体系。另外,课程可多维度考核,除了期末考试外,可采用课内测试、设计或大作业、团队合作、答辩展示等多种形式考核学生是否到达教学目标所列能力。
另外,课程考核评价形成各类分析报告,目的不是追求形式化的过程记录档案,而是为了发现课程教学环节对教学目标支撑存在的不足,为后续教学改进指明具体方向。特别是部分课程的难点问题,一直未取得显著的改进效果,但通过多年的量化分析和数据积累,可以避免“想当然”和“拍脑袋”的教学改革,会有助于课程教学的逐步改进。
针对工程教育认证背景下复杂工程问题对计算机类专业课程教学带来的新挑战,探索了有效的毕业要求指标点分解原则。从学生学习效果期望角度出发,结合课程承载支撑的毕业要求指标点,重构面向产出的课程教学目标。为达成课程教学目标设计多样化教学环节,实施过程化、多维度的考核方法,定期检验课程教学目标的达成情况,形成稳定的专业课程持续改进机制。