面向卓越工程师教育的软件工程专业实训教改研究
2024-01-02付春雷金世锋
雷 晏,付春雷,金世锋,张 毅
(重庆大学 大数据与软件学院,重庆 400044)
0 引言
2018 年,教育部、工业和信息化部、中国工程院联合发布《关于加快建设发展新工科实施卓越工程师教育培养计划2.0 的意见》,重庆大学积极响应号召,其大数据与软件学院软件工程专业入选国家“卓越工程师教育培养计划”。实训是高校软件工程专业教学重点[1],高校软件工程专业实训教学,在具体实施过程中存在理论过重、实践内容脱节等问题,可能影响学生在高校软件工程专业实训中的效果。因此,为了推动卓越工程师教育培养计划的实施,重庆大学大数据与软件学院对软件工程本科专业实训进行了教改实践。
1 “卓越工程师教育培养计划”与软件工程实训面临的问题
随着我国高校招生数量的增加,互联网企业对软件人才的需求不断增加,将有力地支持国家工业体系的发展[2]。因此,高校有义务培养互联网企业所需人才,学校和软件企业有必要在产学研方面进一步加强合作。对此,教育部于2018 年启动“卓越工程师教育培养计划2.0”[3]。该计划旨在推动高校在软件卓越工程师人才培养方面的创新,培养一大批以推动产业发展和技术创新为使命的国际一流新一代软件专业人才后备军。
在此背景下,重庆大学大数据与软件学院对软件工程专业进行了一系列教学实践改革,其中包括软件工程专业实训。原有软件工程实训还存在一些不足,培养的人才与社会需求存在一定差距,难以真正达到“卓越工程师教育培养计划”要求的人才标准[4]。其主要问题体现在:
(1)实训仍以理论为主,忽略了实践的重要性。软件工程专业自身特点决定了学生无法完全靠“听”“讲”学习软件工程的专业技能,而需要在实际的“做”和“实践”中去体验和掌握软件工程思想[5]。虽然理论教育是建立基础知识的重要部分[6],但过度关注理论教育可能会导致学生在实际应用中的技能和经验不足,严重违背了“卓越工程师教育培养计划”的宗旨。这些都反映出高校软件工程专业对实训的实践教学重视不够。
(2)学生对实训兴趣不高。由于实训内容单调,缺乏趣味性,学生对实训的兴趣并不高。许多实训内容缺乏挑战性、创新性和实际应用,往往难以激发学生的学习热情,导致学生缺乏对实际工作的预见性和主动性。
(3)实训内容无法与前沿企业建立联系。目前,许多高校和前沿企业之间缺乏有效的合作机制,许多学生无法接触到最新的软件工程技术和实践,导致实训内容与实际工作脱节[7],从而会影响他们的就业竞争力和职业发展。此外,缺乏与前沿企业的联系也会影响高校软件工程实训的质量和水平,使其无法满足行业的快速发展需求。
2 教改方案与实施
为推动前沿信息技术的普及与认知,实现院校教学与产业实践的有机结合,提升软件工程领域学生的深度学习能力和技术创新能力,重庆大学大数据与软件学院和中国高科集团组织实训以“应用+创新”为主题,依据学校人才培养目标,融合JavaWeb+大数据及人工智能专业学科背景和训练要求,以实践技能训练为主线,与专业能力培养需求相匹配,以现场授课的形式开展教学,强化工程实践能力及创新意识培养。
2.1 实训实践框架
重庆大学大数据与软件学院和中国高科集团的实训实践体系,首先构建在已知的技术课程体系之上,然后按照行业寻找合适的企业项目,将企业项目设计成适合不同阶段与目标的实训实践内容,形成包含体验实践、工程实践、综合业务实践、综合技术实践、知识点实践等多层次的实训实践体系,最后研发成教学资源以支持实训实践教学,并用工程方法论解决实训实践教学过程中可能出现的风险,以提升学生在企业真实环境中的实践能力和职业素养。
2.1.1 实训阶段与目标设计
如图1 所示,重庆大学大数据与软件学院和中国高科集团的实训实践项目根据业务角度可分为两类,即经典实训实践和企业实训实践。这两类实践项目在本科教学过程中持续为期4 年,服务于课程的分散实践与集中实践体系。
Fig.1 Design of practical training resource product图1 实训资源产品阶段设计
经典实训实践是一种脱离企业业务的实践,其主要目的是帮助学生理解、巩固和应用所学知识点。通过实践,学生可以通过实际操作和练习加深对知识的理解,并将其用于解决实际问题。这种经典实训实践有助于学生在学术层面上建立扎实的基础,并培养他们的问题解决能力。
与此相反,企业实训实践则是依托真实企业项目进行的实践。其主要目的是增加学生对知识的综合应用和工程实践能力。学生将在真实的企业项目中获得实践经验,学习如何将所学理论知识应用于实际项目,解决实际业务问题。通过与企业合作,学生将更好地了解行业实践、工作流程和职业要求,提高与企业的沟通与合作能力。
上述两类实践项目在教学过程中相辅相成。经典实训实践有助于学生基础理论知识的巩固和运用,帮助他们夯实学术基础;企业实训实践则将学生置于真实的企业环境中,使他们能够将所学知识应用于实际项目,并勇于面对真实的业务挑战。这样的综合实践有助于学生全面发展,培养他们的问题解决能力、团队合作意识和职业素养。
软件工程专业实训教改的目标是提高学生在软件开发实践中的能力和素质,使他们能够适应快速变化的技术和市场需求。针对综合实训与工程实训的实训目标如表1所示。
Table 1 Goals of practical training表1 实训目标
在综合实训中,学生将学习如何阅读和理解设计文档,包括需求文档、技术规范和架构设计等。他们将了解如何解析文档中的要求和说明,并将其应用于实际的软件开发过程。
在工程实训中,将着重提高学生的企业业务逻辑设计与实现能力。他们将学习如何分析业务需求、建立数据模型、设计系统架构等。通过实际项目实践,掌握将业务逻辑转化为代码的能力,选择合适的编程语言和开发工具,并将业务需求转化为高质量的软件实现。
2.1.2 实训结构设计
中国高科集团在合作过程中构建了相对成熟的实训服务结构体系(见图2),主要关注3 个要素即训什么、怎么训、训怎样,并在高校的实训实践过程中持续迭代优化,持久地、更好地服务于高校实践教学。
Fig.2 Overall structure of practical training service图2 整体实训服务结构体系
(1)训什么?不仅是内容的选择,还有实训资源准备和计划制定。具体包括建立实训相关技术文档、设置合理的实训目的、编制科学的实训大纲、设计恰当的实训内容与实训周期、制定可行的实训实施计划。一个好的实训实践项目,必须有充足的资源与计划准备。
(2)怎么训?它是实训实践的实施过程,从企业的实施角度而言,实训实践本身就是工程过程,实训实践的结果决定于实训实践过程管理与实训实践方法论的应用。运用企业软件工程的管理思想,实训方法论使用符合软件统一过程的面向对象的框架思想,确保实训实践无失败风险。从目前这种思想的使用效果看,只要保障一定的师资水平,基本可以保证实训实践的失败风险为0。
(3)训怎样?一方面是检验与评估实训实践成果的科学标准建设,另一方面是实训实践的成果对下一届学生的示范效果。
更为关键的是,通过长期的实训实践过程结构优化,可以使得校企之间建立一个与院校培养计划与方案同样严谨且科学的实践体系,让学生从入学就知道未来需要达成的实践应用目标与方向,以及企业应用型人才需要达到的应用项目对人才要求的标准。
2.1.3 企业视野设计
考虑在实训中学生将累积更多的行业知识与经验,从团队组建与管理、文档规范、编码规范、工具使用,到绩效考核,都采用企业仿真与模拟的形式。更主要的是引入主流的企业技术和行业前沿技术,接触到更多企业需求与技术的商业价值与应用场景。
2.1.4 质量管理
为了确保软件工程实训教改质量,需要采取一些有效的质量管理措施,建立明确的质量目标和标准,明确要求学生在实践中开发出符合行业标准和最佳实践的软件产品。这些标准可以基于行业认可的软件工程方法和规范,如软件生命周期管理、敏捷开发方法等。
2.2 实训过程与实施
实训实施除了以最基本的实训成果为导向外,还精心设计了实训流程,制定实训大纲与实训计划,提供严格的实训教学管理,提供人性化的教学服务保障,最后以相对科学的评价体系验收实训成果,并给予得分评估。
如图3 所示,实训的过程是按照统一过程组织,实训流程主要考虑4 个方面的因素:教学管理与服务、教学组织、基于软件开发过程的实训过程(教学内容交付)、实训评估与质量管理。此外,还包含多次的阶段验收,实训流程的顺利实施需要教学管理措施与制度加以保障。实训过程中会根据不同和差异进行实时调整,遵循更加合理的流程设计与验收过程。
Fig.3 Organization of practical training process图3 实训过程组织
如图4 所示,将实训过程中的任务分成局部(每个组员的实训任务)与全局(完整项目)两个部分,每个人都作为组员完成各自的实训任务,又都以项目经理身份管理项目模块与集成,并提交完整的项目成果,最后项目组内进行评估,选择一个最优秀的项目成果作为项目组的提交成果物参与最后评审。项目任务分配中,任务模块按照业务划分,不按照技术分配,实现实训过程技术应用的均衡性。
Fig.4 Design of practical training structure图4 实训结构设计
这次实训教改的成果,是校企合作、团队协作的结果,也是中国高科集团与重庆大学大数据与软件学院对实训理念、实训设计的结晶。该过程既具备企业开发特点,也考虑院校教学特点,同时也是企业工程师团队、企业资源、企业教学管理、企业实训方法论与实训设计的综合体现。
(1)集中备课。从考量实训均衡问题出发,对实训进行了整体分析与设计,抽取了实训的共性,区分每个项目之间的差异部分,将工程过程作为共性,提出了基于工程内容整体教学与工程实训实施的方式,团队整体备课,明确工程任务、目标、要求、提交物以及过程注意细节[8]。同时,每个班级与项目组引导各实训指导工程师根据情况差异化备课。
(2)任务备课。备课分统一备课与差异化备课,故在实训授课方面分成两个部分,集中备课的工程内容作为公共实训任务发布,差异化部分作为实训指导由各项目组的指导工程师实施。任务发布的授课时间一般在30~120 min,根据任务的复杂度与涉及的新技能,初期的工程分析与设计时间控制在60~120 min,后期编码的任务发布时间控制在30 min 左右,将更多的时间交给学生自主实践探索。任务发布包含明确的任务与提交物要求,同时包含工程部分的指导与注意事项。其主要包含4 个部分:课堂任务、实训主要工作内容、实训工作要求、实训所需要的提交物。
(3)实训指导。实训指导分成两3 个部分:①集中指导,通过线下及直播结合实施;②分散指导,根据实训中存在的问题及时实施,采用线下实时解答;③对简单且容易接受的问题通过提供文档、代码的方式进行指导(主要用于演示性实训指导)。实训指导主要以线下实时指导为主,使用腾讯会议辅助,每天集中实训指导时间平均为在8 h 左右。分散指导时间根据问题不同,有时一个分体可能需要多次临时直播。此外,每天19:00-21:00,有一名主讲教师和一名辅助教师留在机房为学生现场答疑。
(4)进度监控与问题答疑。项目实训的成功除学生的努力外,还需要实训指导工程师对进度加以监控,并根据监控结果作必要答疑。进度监控不仅仅是检测监督,还包括每个环节的完成情况、合理性以及可创新之处[9]。这种监控会根据小组进度,开展适合小组实际情况的前瞻性实训指导。
(5)技术攻关。技术攻关根据项目中学生的具体情况确定,有的是本身就需要的技术,但是学生没有掌握,有的是学生想做创新尝试,需要学习新的技术。这些技术通常在技术学习阶段并没有涉及,需要教师准备好,为学生讲解的同时将其录制成视频。
2.3 教学服务
实训中监控、沟通、解决问题的效率都是教学管理中最重要的问题。考虑到实训部分学生基础较为薄弱,实训前便以高要求、高难度、高标准对他们提出具体要求,在实训前、实训中均充分调动他们的积极性,在帮助学生巩固内容的同时引导他们多完成创新的目标,并以此为任务发布基准,发挥他们团队协作及自主学习能力。同时,以现阶段企业协作相关要求为着眼点,在学习中、项目中、教学管理中均作出严格要求。整个实训期间的教学管理落实在以下细节处:
(1)实训教务管理机制。企业入驻高校实施实训教学,线下教学更容易形成浓厚的学习氛围,小组相互帮助更有有助于学习。教师可以对学生的学习进行有效监督,并针对学生学习过程中出现的问题及时给予反馈,提高学生的学习效率[10]。但线下教学也存在一些弊端,由于参训人数较多、教室较大,限于教学屏幕、声音效果等条件,学习效果会受到影响。实训文档的交付、修改及交流使用云文档的形式效率更高,也更便于监督管理。同时,小组之间通过线上沟通、协同以及以小组为单位进行项目管理效率较高。线下实训项目实施的同时采用腾讯会议线上同步进行,以弥补线下屏幕、声音等条件问题,让不能参加线下实训的学生也可参加线上同步实训,达到线上线下等质实效。
(2)实训前引导科学分组。中国高科集团共发布25个企业级项目,需要学生自主选择感兴趣的项目并自行组队。针对已报名未组队成功的情况,以随机原则匹配项目组成员。在该过程中,有部分学生希望能调整分组,公司要求学生以企业员工的心态去看待分组和实训,企业员工不可挑选同项目的同事,要趁此机会学习如何更好地解决团队配合问题。
(3)建立项目组长机制,明确组长权限与职责。实训即模拟企业项目开发形式,设立项目组长。组长责任重大,不单单需要进行出勤及作业等日常工作的配合,还需要统筹安排组内开发计划,合理分配组员工作任务,完成情况、困难解决、技术攻关等,在整个项目实训中承担着很重要的角色。
(4)教学过程监控与问题答疑。实训过程中,针对迟到、出勤、作业提交及态度不积极的学生及时进行原因追踪,确定问题所在,及时疏导并在后续几天重点关注。期间重点关注学生对课程的掌握和吸收程度,以及对技术教师的评价、各小组内部发生的问题等[11]。
(5)重点学生关注。教务老师结合每日考勤情况,针对学生长期请假情况,对相关学生进行回访并给予帮助,让学生及时跟上实训进度。
(6)反馈服务。为了解学生的真实学习情况和对技术知识的掌握程度,以及学生对实训教学的建议,以更好地满足学生的学习需求,实训期间每两天由助教负责对各小组进行调查,便于了解学生的真实情况,及时作出调整方案。
(7)实训教学日报。项目实训期间,启动教学日报制度,向学校相关教师和领导汇报当天情况,做到有问题及时发现并解决。
(8)考勤服务。整个实训期间对考勤作严格要求,学生不能迟到、早退,早晚各签到一次,保留纸质文档并由教务老师在电子文档中记录,对迟到、早退及缺勤的学生扣取相应分数。
2.4 考核评价方式
学生实训成绩由4 部分构成,计算公式即总成绩=(作业成绩×10%)+(考勤成绩×20%)+(实训过程成绩×40%)+(项目验收成绩×30%)。在项目最后,由企业教师给予每位学生适当的评语。
该成绩计算方式的设计是基于如下目的:①督促学生自我跟踪与学习新技术,因为实训最终检测的还是技术学习效果,以及学生对技术体系化梳理的能力;②以实训过程为重点,同时重视实训结果[12]。
3 教改实施效果及总结
在最近三届软件工程专业本科生的实训课程中实施该教改方案。通过问卷调查和成绩分析发现,与以往教学效果相比,新教学模式获得了较高的满意度,主要体现在:
(1)自信心增强。很多学生在初期都对后期能否完成实训持有怀疑态度,但是通过3 周日以继夜的工作与学习,不仅没有难倒他们,还激发了他们的潜能,自学意识非常高,得以完美地完成项目,极大增强了他们的自信心。
(2)专业能力提升。通过实训对整个软件开发流程有了全面认识,真正做到从书本中来到实践中去,对整个软件架构有了更清晰而深刻的认识。同时,很多学生还感悟到通过实训能接触到前沿的企业技术,比如人工智能、嵌入式等。
(3)线上云协作能力提升。通过运用云文档协作与云代码管理,提前实践了企业线上工作的方法与流程。
(4)团队协调能力提升。加强了学生的团队意识,提升了项目组内配合度,不管是组员还是组长,都对整个项目中的人员配合有了深刻认识和理解。
(5)问题解决能力提升。学生遇到问题及时想办法去解决的能力有了显著提升,首先是遇到问题不再害怕,而是通过沟通探讨加以解决,每一次的碰撞对于他们都是一次提升。
(6)管理总控能力提升。学生的管理总控能力得到提升,尤其是组长,从最开始不知道如何分配任务,到最后可以整体规划任务,整体管理能力得到很大提升。
4 结语
作为高校重点专业,软件工程专业教学质量与学生专业素质涵养和综合学习能力之间存在紧密联系。本文根据国家教育部与重庆市教育委员会关于实施“卓越工程师教育培养计划”的若干意见,在重庆大学大数据与软件学院软件工程专业本科生的实训过程中实施新教改方案。通过调查发现,新教学模式提高了学生们的专业能力和团队合作能力,能够更好地达到培养卓越工程师的最终目标。