摘 要:围绕复杂工程问题培养学生能力是当前专业建设的着力点。针对能力培养中的过程控制与评价方面的问题,本文以计算机专业在线训练为基础,描述了一种多回路多周期的过程控制模型和多维度多层次的评价指标体系,旨在服务于以可控方式达成能力培养目标。本文介绍的技术途径对计算机大类专业具有一定普适性。
关键词:一流专业;在线训练;能力培养;过程控制;评价体系
我国高等教育当前正处于从以规模扩张为主的外延式发展转向以质量提高为主的内涵式发展的转型中,为进一步加快建设高水平本科教育,教育部于2019年4月启动了一流专业建设工作[1]。在专业建设和人才培养的方法学上,工程教育专业认证(以下简称“专业认证”)发挥了重要作用。特别是新版《工程教育认证标准》对于如何培养学生能力制定了细致规范[2]:
首先通过定义7个外部特征及其具备要求来界定了复杂工程问题,然后又在12条毕业要求明确了8条毕业要求与解决复杂工程问题强相关。可见,专业认证明确强调“本科工程教育的基本定位是培养学生解决复杂工程问题的能力”[3]。显然,任何一个专业的任务都是培养出合格的学生,因此一流专业所培养的学生应该具备更强的解决复杂工程问题的能力。
但从已知范围来看,基于复杂工程问题培养学生能力尚未在教学中取得普遍成效。从课程教学体系的角度来看,目前绝大多数课程建设主要聚焦在知识体系和实验体系上,而过程控制与评价体系建设则是普遍性短板。这两者的缺失使得很多课程未能在教学过程中建立起健全的形成性培养体系[4],这不仅导致能力培养目标难以实现,还使得教师难以合理解释教学设计、学习行为、能力形成三者间的作用关系,进而难以科学合理地进行教学设计迭代与
优化。
随着在线教学的发展与应用,近年来越来越多的计算机类专业逐步将课程训练体系(如作业、实验等)从线下迁移到线上。除具有7x24小时实践学习服务、丰富的学习资料与及时的教学指导等传统线下训练模式难以具备的优势外,在线训练(如在线作业、在线实验等)还使得更精细的过程控制与更精确的量化评价成为可能,为以可控方式达成能力培养目标奠定了基础。本文介绍了基于在线训练开展能力培养的过程控制模型和评价指标体系,并以相关课程为案例简要说明实施成效。
一、能力培养中的问题
为了培养学生能力,教师必须在理论教学外安排足够体量和难度的实践训练。由于复杂工程问题的固有特性,因此从培养学生解决复杂工程问题能力的角度出发,目前大量专业已经呈现出从单一大作业模式向系列化训练体系转变的趋势。良好设计与有效实施的训练体系不仅有助于形成性培养,而且有助于改善形成性评价。传统上,学生在线下以作业或实验为单元完成训练,这就带来了如下问题。
1.能力培养过程的精确控制问题
学生在训练过程中必然存在大量问题,包括知识的理解、工具的使用、学习的材料、实施的操作、交流的热点、投入的时间等。理想状态下,这些信息均应及时反馈给教师,以便教师及时做出相关响应。
由于学生在线下完成训练,这使得教师难以参与训练过程。从过程控制角度,受控对象的颗粒度相对过大。显然,教师仅通过分析作业和实验成绩是难以发现上述过程中的具体问题,也就难以实施针对性的指导。
2.能力培养效果的量化分析问题
由于学生能力形成效果分析仅依赖于各训练单元的少量终结性的结果数据而缺乏大量细粒度的过程数据(例如学习时长、提交频次等),必然意味着相应的数据不足以对学生的能力形成效果进行客观而细致的评价。
这进而使得教师在解释教学设计、学习行为与能力形成三者间的作用关系时缺乏科学可信的证据,易导致评价结论出现偏差甚至错误。特别是在教师提高教学要求与加大学习压力时,还容易引发大量师生矛盾。
3.能力培養体系的迭代改进问题
任何一个训练体系都必然经历从不完善到完善、从不合理到合理、从旧内容到新内容的改进过程。这一过程原本应该成为专业认证核心理念“持续改进”的最佳实践。
但因缺乏细粒度的过程控制和过程数据,学生能力形成性评价相对粗糙,教师难以及时准确地发现问题,从而导致教学设计改进不仅过于依赖主观经验而且迭代周期过长。这在很大程度上制约了教学设计的创新与优化,有时会导致做出的教学设计是不合理甚至失败的。
二、工作基础
继2007年提出并实施“系统能力”培养后[5],
北京航空航天大学计算机科学与技术专业(以下简称“本专业”)后续又配套进行了实践教学体系改革,制订了“任何人在任何时间、任何地点均能开展实验学习”工作目标,确立了“在线实验平台、在线实验体系、在线实验指标体系、在线实验过程控制”四位一体建设思路,历时近10年建设了虚实融合的软硬件综合在线实验平台及较为完善的专业必修课在线实验体系,依托在线实验开展培养学生解决复杂工程问题能力的大量工作,部分成果已应用到国内100余所高校。该项工作基本历程如图1所示。
利用在线实验平台,全周期细粒度的学生训练全过程数据被记录下来,师生与生生间交互方式变得更丰富与及时,教师不再仅限于对训练过程的宏观组织与管理,而是可以对训练过程实施细粒度的阶段划分、组织与管理。由于训练过程被划分为多个更细粒度的阶段,自然就能针对这些训练阶段制订更精细的评价指标。学生的训练过程产生了丰富的过程性数据。通过运用数据挖掘、大数据分析等方法,教师能够对丰富的过程数据进行科学计算,从而就能更合理地量化评价能力形成效果,并将前阶段的量化评估结果反馈至下阶段,能力的形成性培养与评价也因此就具有了机制保障。
为更好满足能力形成性培养要求,本专业经过多年建设,逐步建设了相关课程的层次化实验体系、多回路多周期的过程控制机制与多维度层次化的评价指标体系,从而为精确量化评价与可控方式达成能力培养目标奠定了坚实基础。
三、多回路多周期过程控制机制
能力培养过程控制的关键在于将能力形成效果作为反馈,对课程教学活动进行控制优化。本文基于控制理论提出了一种多回路、多周期的能力培养过程控制模型,包括课程输入、教学活动过程、行为观测与能力形成分析、控制与决策、多回路反馈5部分,如图2所示。
图2 能力培养的过程控制模型
教学大纲与训练计划等内容是模型的基础输入。教师必须在课程开始前确定训练体系的内容、次序、要求、期望等具体信息。该部分内容不仅制导后续一系列教学活动的展开,同时也作为期望值与课程反馈相比较。
教学活动过程是本控制模型的受控对象,其由授课活动、发布作业训练、开展训练、作业评测和作业结果分析这5个前后衔接的周期性教学活动组成。
行为观测与能力形成分析包括学习行为状态观测和能力形成分析两部分。前者基于教学活动提供的观测点来收集学习行为数据,后者应用量化分析方法计算能力形成效果。
控制与决策是教学改进优化的中枢,其综合利用能力训练的期望值、学习过程行为数据、能力形成效果等决定对何种教学活动进行何种调整优化,从而实现对各教学活动进行及时的调节与控制。同时,结合数据挖掘、预测分析等技术,对教学大纲、课程间衔接等给出调整和修订建议,实现对整个教学过程的多层次全过程控制。
该过程控制模型包含3个反馈回路。其中,课程内反馈回路为该课程训练体系各任务间提供反馈通道,使得教师能够在本轮教学周期内及时调整任务。课程轮次反馈回路为同一门课程的不同教学轮次之间提供反馈通道,使得教师能够以学期为颗粒度优化后续授课轮次。课程间反馈回路为不同课程间提供反馈通道,使得相关课程教师能够从课程群角度优化衔接与支撑。
四、多维度层次化评价指标体系
为从微观角度量化评价能力训练效果,本文结合在线训练的不同阶段特点与需求制订了一个较为通用的评价指标体系,如图3所示。该指标体系包含训练参与度、训练完成度和完成质量3个一级指标,且各一级指标又包含若干二级指标。
(1)训练参与度。该指标主要用于度量学生参与训练的程度,包括系统访问次数、指导材料学习情况、预习情况、小测验完成情况、讨论参与等二级指标。
(2)训练完成度。该指标主要用于度量学生完成训练内容的程度,包括提交物的有效性、技术要求完成度和报告完成度等二级指标。
(3)完成质量。该指标主要用于考查学生在训练体系各层次的完成质量,其二级指标一般因课程而异。一般来说,学生必须完成基础性任务后才被认为达到合格线。
由于不同课程训练内容、方式及要求有所差别,因此不同课程的二级指标的数量及含义也会有所不同。以训练参与度指标下的系统访问次数指标为例,该二级指标在计算机网络在线实验中体现为预约设备次数,而在操作系统在线实验中则体现为对模板文件的访问次数。
五、课程案例
本文工作成果已应用于多门专业必修课的教学实践,取得较好效果。下面以“面向对象设计与构造”课程为例,概要介绍本文方法应用成效。该课程面向大二学生,开课时间为春季学期,共64个学时,每年上课人数达300余人。
1.训练体系
该课程教学设计与国内多数大学相关课程具有显著区别,强调通过系统性的训练来达成复杂软件能力培养的教学目标[6]。训练体系包括4个单元,相应主题分别为层次化设计、线程安全设计、规格化设计和模型化设计。每个单元由3次迭代式的项目作业、2次小型作业、2次研讨和1次单元总结作业构成。表1为2019年的具体训练体系。
每单元的3次项目作业围绕实际工程问题或应用主题,形成增量式迭代训练,强化正确性、安全性、鲁棒性、平衡性、可维护性等设计思想。学生在每次项目作业中均要完成需求理解、架构设计、代码設计、代码测试、bug修复任务。小型作业是项目作业的技术台阶,一方面帮助学生理解知识点和方法,另一方面通过补全代码、在给定代码中找bug等小型训练巩固项目作业所需用到的重要技术。这种设计使得项目作业的训练目标与效果更为聚焦,也使得学生们能清晰理解项目作业的技术路径。
本课程非常重视测试技术的学习与实践,构建了4种进阶式评测模式。弱测定位于最基本的程序功能测试;中测增加了一些边界和异常相关测试;强测进一步考虑复杂功能场景和性能要求,其结果决定能否进入互测。互测以匿名方式将多名学生构成一个互测组,每位同学分别测试组内所有其他人的代码。上述工作均在自主开发的分布式可调度自动化评测系统支撑下开展。
从表1可以看出,训练体系的代码规模从300行开始在迭代中稳步增长,直至课程结束时具备一周内完成2000行左右的高质量代码的能力。在每次项目作业迭代中,同学们需要对上一次项目迭代中发现的bug进行修复,从而尽可能确保本次迭代的质量。
2.作业级过程控制
为确保训练任务完成度和完成质量,本课程对图2中的训练过程控制机制进行了针对性的细化,建立了如图4所示的作业级过程控制模型。
在线平台自动实施的控制主要包括:截止时间控制,即超过规定时限关闭提交通道;抄袭控制,即对所有学生的代码进行全组合相似性检查,并由人工进行复查;有效性检测要求在可编译、可运行和基本功能正确三方面确认作业的有效性,无效作业不能进入下一环节;平衡性控制根据强测分数按三个级别自动将能力相仿的同学放在同一级别,并进行随机分组;测试控制通过双盲机制以及必要的公共测试以防止恶意测试并确保互测的有序性和公平性,引导学生关注代码质量本身;在提交修复bug的代码后,系统会自动对代码进行差异分析并选择相应的测试用例来重新进行测试,确保修复的有效性。
上述流程化、规范化的过程控制机制把传统黑箱式的训练过程改造为若干可控制且可观测的细分阶段,教师从而可以及时了解作业各阶段的完成情况(如耗时和问题等)。
3.评价指标体系与量化分析
过程控制的反馈与控制均需要及时而有效的学生学习行为数据为基础。在线教学平台收集了丰富的、多维度的包括学生学习行为在内的学习过程数据,如表2所示。不难发现,这些数据之间具有紧密的关联关系,同时这些数据可以直接追溯到作业的训练任务的具体要求(如需要实现的功能数、设计要求、性能要求、覆盖的知识点数量等)。
教学团队通过量化分析上述细粒度学生学习过程数据,重点研究了:持续追踪学生的能力形成过程[7],从而获得能力形成的规律性认识;对不同类别学生的能力形成效果和学习行为进行差异分析,基于二者之间的关联关系来预测能力形成效果[8]。
4.可追溯的复杂软件能力评价
学生的总成绩评定由以下4类细分成绩综合而来。① 项目作业成绩:按照强测、互测、bug修复三种任务的得分进行综合得到成绩。② 小
型作业成绩:按照完成度和完成质量综合评分得到成绩。③ 博客成绩:每个单元结束后对所学所练的心得体会的博客作业,人工考核内容总结完成情况、总结细致程度、总结深度和博客排版质量等。④ 研讨成绩:每个单元中包含2次学生总结与经验分享的研讨课,考核点包括分享报告的次数、质量、所提问题等。
将学生在相应类别的累次成绩进行累计后就得到了该类别的成绩,再进行各类别的综合就得到了该学生的课程总成绩。不难看出,课程成绩评定的本质就是能力形成效果的评价。
以系统性的训练体系为基础,利用在线平台构建了细粒度的训练过程控制机制和量化评价体系,教师能够即时获得学生训练完成情况和质量数据并据此及时采取控制措施,学生能够即时获得反馈并据此实施自主性的质量控制。这就是一种可追溯的综合评价方法,即以可量化、可追溯、可优化的方式来观察和评价能力培养目标完成状况。
參考文献:
[1]教育部. 教育部办公厅关于实施一流本科专业建设“双万计划”的通知[Z]. 2019.
[2]中国工程教育认证协会. 工程教育认证标准[Z]. 2017.
[3]蒋宗礼. 本科工程教育:聚焦学生解决复杂工程问题能力的培养[J]. 中国大学教学,2016(11):27-30,84.
[4]王昕红. 美国工程教育专业认证研究[M]. 西安:西安交通大学出版社,2011.
[5]高小鹏. 计算机专业系统能力培养的技术途径[J]. 中国大学教学,2014(8):53-57,34.
[6]吴际,孙青,荣文戈,等. 能力培养目标驱动的软件开发类课程实践教学方法研究[J].中国大学教学,2018(10):37-43.
[7] SUN QING, WU JI, LIU KAIQI. How Are Students Programming Skills Developed: An Empirical Study in an Object-Oriented Course[J]. Proceedings of 2019 ACM Turing Celebration Conference – China, 2019.
[8] SUN QING, WU JI, RONG WENGE, et al. Formative Assessment of Programming Language Learning Based on Peer Code Review: Implementation and Experience Report[J]. Tsinghua Science and Technology, Vol.24, No.4, 2019.
[责任编辑:余大品]