1. 引言
为了实现制造强国、在国际综合竞争中取得优势,突破核心关键技术、在未来全球创新生态系统中占据战略制高点,我国迫切需要培养大批具有较强行业背景知识、工程实践能力、胜任行业发展需求的应用型和技术技能型人才 [1]。同时,在新冠疫情对经济产生巨大影响的背景下,就业压力进一步加大。另一方面多数高校本科生的实践能力不能充分满足企业需求,导致学生就业竞争力不强。
因此,在以填鸭式应试教育为主的大背景下,如何提升软件工程专业学生的创新实践能力是一个极富挑战性、又极具实际价值的问题。
2. 实践能力要素
实践能力是工程人才培养的核心,美国工程院发布的《2020的工程师:新世纪工程的愿景》中提出:优秀的分析能力、实践能力、创造力、沟通能力、商业和管理知识、领导力、道德水准和专业素养、终身学习等是未来工程师应该具备的素质。在这些能力和素质中,实践能力是核心 [2]。
随着技术高速革新、产业转型升级,工程师将面对新技术、新业态、新产业、新模式带来的新工程问题,这些新工科的问题相对于传统的问题有以下特点:系统规模更大、复杂度更高,跨学科的技术融合,信息系统与物理系统融合,智能化程度更好 [3]。例如,工程建筑近年在技术上已有重要的革新:以BIM为核心的虚拟建模技术、以物联网为基础的智能建筑技术、以机器视觉为基础的智慧施工管理技术等等,这就要求建筑工程师掌握传统的建筑设计、施工知识外,还需要掌握这些新兴技术,并能融合创新。在新工科背景下,“融合创新”的工程教育范式被提出 [4],该范式是指工程教育要将各种教育要素创造性地进行融合,使他们之间互补匹配、互相支撑,进而促使整个系统的功能从量的叠加到质的飞跃。在新工科背景下,实践能力是“融合创新”工程教育范式的基础,是培养面向新工科工程人才的关键。
实践能力是保证个体顺利运用已有知识、技能去解决实际问题所必需具备的那些生理和心理特征 [5],体现为生活、工作中解决实际问题时呈现的综合性能力实践能力不能直接由书本传授而得到的、而是由生活经验和实践活动磨练习得的 [6]。当前对实践能力内涵和外延的研究非常有限。美国心理学家斯腾伯格认为实践能力是一种智力(即实践智力),他认为“实践智力一种将理论转化为实践,将抽象思想转化为实际成果的能力” [7]。我国学者傅维利认为“人的解决问题过程是心理和生理要素共同参与的过程” [8] [9],实践能力包含心理和生理两个部分。孙智昌把实践能力定义为“实践主体在实践活动过程中所表现出来的体力、智力、社会结合力和物力等的状态或结果” [10],强调了社会协作能力在实践能力的重要性。
由此可知,作为一种由心理和生理因素构成的综合能力,实践能力可以划分为实践动机、一般实践能力因素、专项实践能力因素和情境实践能力因素四个基本构成要素。何万国等认为实践能力由知识和技能两大基本要素构成,知识包括显性知识和缄默知识 [11],技能包括动作技能和智力技能。缄默知识是不能系统用一定符码系统(最典型的是语言,也包括数学公式、各类图表、盲文、手势语、旗语等符号形式)加以完整表述的知识,例如经验习惯、态度、偏好等。
在软件工程实践中,缄默知识虽然不能显性表示,但在个体解决问题的过程中颇为重要。也就是说,缄默知识对于实践能力的养成与提升起着非常关键的作用,应该在软件工程学生实践能力培养模式中得到充分的体现。
3. 面向实践能力的逆向CDIO培养模式
CDIO工程教育模式是近年来国际工程教育改革的成果,代表构思(Conceive)、设计(Design)、实现(Implement)和运作(Operate),它以产品研发到产品运行的生命周期为载体,让学生以主动的、实践的方式学习软件工程,将课程之间有机地联系起来。
但是在软件项目的实际开发中,由于具体项目的千差万别,真正用到的知识碎片化,并且可能存在没有覆盖到的冷门领域知识,还会出现刚刚学的知识在实操中遇到马上就不会使用的问题。而且从构思、设计、再到实现、运作,整体周期久,学习效率低,使得学生在初期对软件开发过程及其产品的“真面目”难以得到直观的认识,提高了学习软件开发的“入门门槛”,导致其在学习后期由于难以理清复杂的逻辑关联而产生较强的挫败感。
针对上述问题,基于二十余年的教学经验和工程实践,笔者提出一种面向实践能力的逆向CDIO培养模式(即IDCO,代表实现(Implement)、设计(Design)、构思(Conceive)和运作(Operate)),它践行CDIO理念,但按软件项目研发过程相反的顺序(即实现(Implement)能力、设计(Design)能力、构思(Conceive)能力和运作(Operate)能力的顺序)培养学生的工程实践能力,其核心理念如下:
1) 以校企合作校内实践基地为核心依托,以研发真实软件产品为目标。由于企业以发展和盈利作为核心目标、而学校以育人为核心目标,产学融合面临先天不足。因此,逆向CDIO培养模式充分研究企业与高校的协作机制、管理机制、成本与风险分摊机制、利益分配机制、持续发展机制、产业目标与育人目标的协同机制等,形成有学院特色的、基于校企合作实践基地、可持续发展的产教协同育人机制,解决产学协同育人难以落地的问题。
2) 以研发真实软件项目为载体,建立按能力分层、责权明确的学生梯队。实践经验表明,产学协同育人双赢的关键在于保证项目研发的进度和质量,即保证软件项目能按既定计划、保质保量地完成。但是多数学生软件开发能力有限,开发进度和开发质量难以保证,使得实践能力培养陷入先有鸡、先有蛋的矛盾。因此,逆向CDIO培养模式把拥有不同层次的能力的学生组织在同一个团队中,根据能力承担不同的角色,例如:测试员(面向实现)、程序员(面向实现)、设计师(面向设计)、需求分析师(面向构思)、架构师(面向构思和设计)等。
4. 基于逆向CDIO的实践能力培养模式
当前软件工程教育理论仍然继承于苏联的凯洛夫“学科中心”教育理论,教学方式以课程为主线、以课堂教学为主要形式,提倡以书本知识结构为中心、以教师为中心、以课堂为中心,忽略了学生的主体地位,忽略了学生能力的培养,导致学生有知识、没能力,学了很多课程知识,但没有参与软件项目开发的能力。如前文所述,来自于产业的真实软件项目对培养学生的开发能力有着不可替代的作用,学生在真实项目中学习软件开发的理论、方法、技术、工具。更重要是,由于软件工程的显性知识不系统,缄默知识在软件工程中的作用要远远大于其他领域,而缄默知识只有通过不断的实践才能获得。
逆向CDIO培养模式把拥有不同层次的能力的学生组织在同一个团队中,根据能力承担不同的角色,使得学生既有能力完成项目中所承担的角色,又能在项目中向高一层次的能力发展。就其本质而言,逆向CDIO培养模式是一种团队学习模式,如图1所示。
由图1可知,在逆向CDIO培养模式中,不同能力层次的学生组成开发团队是关键。在团队中,低一能力层次的学生在高一层次的学生的指导、带领下完成项目分配的任务,高一能力层次的学生如何主动、有效的把项目所需技能、知识传授给低一层次的学生,如何在团队中共享方法、经验是逆向CDIO培养模式能否被成功应用的关键所在。
因此,笔者所在的教学团队为了深度落实逆向CDIO培养模式、充分保证培养质量,凝练出逆向CDIO培养模式在具体教学实践中的8个实施要点:
1) 明确培养目标,梳理学生能力、知识点的衔接,构建专业能力、知识逻辑结构图,确保培养体系能支撑培养目标的实现,明确培养路径,确保所学专业知识能够支撑学生实践。
2) 构建实践课程体系,确保每学期都有实践课程,适当倒置课程体系,实践性强的课程适当前置,强化大二学年重点培养实践能力。
3) 促进学生学习团队建设,布置面向团队的实践任务,建立本科生作品库。
4) 设置实践竞赛必修学分,学生可以通过参加实践性的竞赛,或者通过学院组织的实践项目答辩获得,没获得实践竞赛必修学分的同学不能进入毕业设计环节。
5) 建立本科生导师制,鼓励教师组织本科生实验室。本科生实验室以参加竞赛、科研项目实践作为培养手段,以本科生为主、高低年级融合、本硕融合。本科生导师是本科生培养的第一责任人,导师为学生的培养质量负责。导师有权决定本实验室的学生是否能进入毕业流程。
6) 重视寒暑假在学生实践能力提升中的重要作用,确保每个假期都有编程作业,寒暑假向学生开放学习空间,鼓励学生利用假期完整的时间学习技术。
7) 在大一暑假开展实践能力培优夏令营,利用夏令营培养实践能力优秀的学生,为专业树立标杆,营造实践能力提升的学习氛围。
8) 在大四学年上学期设置综合设计课程,有效利用大四学期提高综合实践能力。
笔者所在教学团队在重庆师范大学、重庆理工大学对逆向CDIO模式进行教学实践,即在两所高校软件工程专业大二大三两个年级各随机选取12名学生(共48人),3人一组(共16组),分为CDIO和逆向CDIO两大类(各8组)。具体环节为:1) 教师团队给出3个难度系数个项目规模相当、考核指标明确完整的项目选题,由所有小组自由选择;2) 教师团队分别采用正向CDIO“构思–设计–实现–运作”和逆向CDIO“实现–设计–构思–运作”两种模式对两类小组进行指导,要求学生团队在规定时间内完成软件开发。教学实践结果数据表明,逆向CDIO类小组在整体完成度、运行出错率、功能实现效果、学生个人主观体会4项指标上优于CDIO类小组。基于此,笔者得出结论:面对软件工程专业学生的实践能力培养,针对适合普通本科生学习和开发的、中小规模的软件系统或软件模块,逆向CDIO模式的表现在一定程度上优于CDIO模式。
5. 总结与展望
针对软件项目必须按既定计划、保质保量地完成,而多数学生软件开发能力有限、开发进度和开发质量难以保证的问题和企业以发展和盈利作为核心目标、学校以育人为核心目标而导致的工程实践能力培养先天不足问题,本文提出一种面向实践能力的逆向CDIO培养模式,践行CDIO理念,按软件项目研发过程相反的顺序(即实现能力、设计能力、构思能力和运作能力)培养学生的工程实践能力,以校企合作校内实践基地为核心依托,以研发真实软件产品为目标,以研发真实软件项目为载体,建立按能力分层、责权明确的学生梯队,并相应给出了在具体教学实践中的实施要点。
基金项目
校企合作实践基地驱动的计算机类专业型硕士工程能力培养模式系统研究(yjg213065),重庆市研究生教育教学改革研究项目;人工智能方向专业硕士联合培养基地建设长效机制探索与研究(clgyjg2020211),重庆理工大学研究生教育教学改革研究项目;专业学位研究生产教融合育才基地可持续发展机制探索与实践——以人工智能领域人才培养为例(yjg213116),重庆市研究生教育教学改革研究项目。