白凤凤,王三虎,刘继华
(吕梁学院 计算机科学与技术系,山西 离石 033001)
工程教育专业认证是针对高校工科专业实施的资格认证,是国际通用的工程教育质量保障制度[1].工程教育认证标准是以学生为中心,以工程实践能力为导向,以工程专业职业为目的,重视理论和实践相结合,使毕业生达到行业认可的既定质量标准要求.
《软件工程》是计算机科学与技术专业的一门专业基础课,综合性和实践性很强.由于教学方法和手段不能适应行业需求,这门课程一直处于教师教起来不易、学生学起来更难的境况中.课程教学是以教师课堂授课为主,辅助以学生的实验环节.课程知识体系中包含的综合性和复杂性在教学过程中体现不充分.实践教学部分以固定课时、教师给定任务和要求的方式进行训练,这种方式对学生工程实践能力和素养等方面的训练和培养效果较差,学生不能够真正理解和掌握软件工程的内涵.课程考核由平时成绩(30%)和期末考试成绩(70%)来综合评定.平时成绩主要包括课堂考勤和课堂表现、平时作业和上机实训情况.期末考试主要采用闭卷笔试的方式,试题内容仅仅是对基础理论知识的考核.学生只要考试前突击学习、死记硬背就可以取得一个理想的成绩,这种考核体现不出学生分析、解决实际问题的能力,达不到培养目标的要求.
针对该课程在教学过程中所存在的问题,我系做了多方面的改革探索。先后与思软等十多家企业采取了“3+1”模式、“校企合作实训”等多种培养模式,实现校企人才培养互动互补。但在教学质量方面依然存在培养层次模糊、学生实践能力欠缺、教学质量评价监控机制有待进一步完善等问题。2018年我系在日常教学中引入工程教育认证标准,选择软件工程1601、1602两班为实验班,从教学内容、教学方法、教学组织、课程考核等角度对《软件工程》课程的教学进行改革探索,取得了较好的成效。
工程教育专业认证的标准明确提出毕业生的必备基本能力和素质,包括专业基本理论知识、创新态度和意识、人文社会科学素养、社会责任感和工程职业道德等[2].根据工程教育认证标准,结合软件工程课程在专业认证方面需要具备的认证指标点,在教学过程中,课程组对“软件工程”课程的内容进一步整合和优化,使授课内容更符合市场需求.
工程教育认证的核心是“以学生为中心,以成果为导向,以持续改进为推动力”的教育理念,侧重学生对学习知识的理解、掌握和运用能力[3].教学目标(学生预期成果,Outcome)先于教学内容而存在,因而在对课程内容优化过程中以成果为导向,每部分内容对应有项目阶段目标,如表1.
表1 《软件工程》课程内容与项目阶段目标
图1 成果导向的教学设计过程及主要环节
成果导向的教学设计遵循反向设计原则,主要围绕四个因素:需求、培养目标、毕业要求和课程体系,从需求开始,由需求决定培养目标,由培养目标决定毕业要求,再由毕业要求决定课程体系.设计过程及主要环节如图1.
具体做法是:根据IT行业应用型人才需求,结合当地经济发展需求,及时调整人才培养方案,达到提高学生综合素质、工程实践能力和创新精神的毕业要求.结合专业特点和办学特点,依据工程认证标准将毕业要求解析为指标点.在课程体系建设中,毕业要求指标点为课程评价做支撑,根据课程体系逐步完善适合专业特点的教学计划和要求,教学要求指导课程教学,在《软件工程》课程的教学设计过程中,重点突出知识应用和成果导向,教师和学生在教学过程中模拟真实的案例场景,教学内容围绕“学生信息管理系统”,以软件生存周期各阶段的工作内容展开.例如:在问题定义模块中,从实际生活出发,引导学生发现“学生信息管理系统”这一项目,完成该部分教学内容的设计;需求分析时,教师和学生分别模拟系统分析员和客户,在充分沟通和调研的基础上,系统分析员刻画出软件的功能、性能以及建立软件必须满足的一些约束等,最终确定该项目“必须做什么”这一核心问题.
基于工程教育认证的软件工程课程改革的核心是教育产出实施.与传统教学的区别在于工程教育认证制定了明确的专业培养目标和详细的毕业要求,因此,课程内容应该支持培养目标和毕业要求的达成[4].故而,课程组教师在备课时,首先明确教学内容、培养目标以及毕业要求,其次充分考虑现今软件与技术使用的实际情况,整合教学内容,去除陈旧和不实用的内容,精选一部分新知识点有针对性地进行补充,切实有效地支撑专业认证所要求的指标点.如图2所示.
图2 《软件工程》课程教学模块
力求设计以能力培养为目标的教学活动,培养学生分析、解决问题的能力以及创新意识.
“软件工程”课程必须加强培养学生的软件项目实施能力,因此在教学活动中采用案例式教学方法.课前精心挑选案例,在课堂上通过对该案例的分析,展示工程问题的解决过程,实践课指导学生对各小组自选软件项目进行模拟实践,让学生掌握对应章节的知识和技能,掌握软件项目开发过程.
“软件工程”理论知识晦涩难懂.在课堂教学过程中,采用了“学为主体、全员参与、师生互动、少讲多练、前后衔接”等措施[5].
课堂研讨采用学生分组讨论和登台陈述模式,目的是调动学生的学习积极性和主动性,提高学生的思辨能力和表达能力.每5位同学课前自由组合成项目小组.课堂讨论课题由各小组自己选定,要求学生利用课余时间通过查阅资料或看视频等形式自学、自主探究等完成课前基础知识的储备.
在授课过程中,教师通过问题启发和课堂互动,引导学生主动分析问题和解决问题.为了使课堂讨论收到良好的效果,教师在问题定义部分让学生通过研讨各小组选择的课题,从而理解课题来源及意义;在可行性分析部分,按小组研讨课题,并最终确定小组课题;在需求分析、总体设计部分充分应用课堂讨论,小组成员分别模拟用户和开发人员角色讨论需求,理解用户需求的来源,掌握与用户沟通以及在沟通过程中应具备倾听、说服和协商的能力.在软件测试部分,除了让学生掌握教材上的内容,还要引导学生探讨教材之外的基于Android移动平台的软件测试以及云计算、大数据的软件测试[6]方面的问题,让学生更好地了解行业需求.
讨论结束后,由小组选取一名代表上台陈述本组的项目,项目小组成员接受其余同学的提问,授课教师在讨论中负责主持、引导和点评,记录小组成员的研讨成绩.
科技文化活动对于培养学生创新创业就业能力有着十分重要的意义,积极引导和鼓励学生参加课外科技实践活动,选拔有创新能力的学生参加“互联网+大学生创新创业大赛”“挑战杯”创业大赛、“发现杯”全国大学生互联网软件设计大赛、微信小程序等与计算机专业密切的科技竞赛,培养学生的动手能力和创新性思维.通过一年的实验班教学,软件工程实践课程中选拔出来的项目取得了令人满意的成绩,获得省级以上荣誉的学生达到25人次,国家级奖1项、省级奖4项.
建立“2345”教学质量监控与保障体系,从制度上切实保障教学质量,在教学前、教学中和教学后分别对课程安排、培养目标达成进行分析与改进.在评价方式上,系党政一把手作为教学质量的第一责任人亲自抓教学质量,定期召开教学工作会议,及时研究、解决教学工作中的新情况、新问题,不断推进教学质量的提高.成立了教学指导委员会,在系主任领导下,负责对全系的教学工作、教学质量进行定期或不定期的检查,做好教学质量监控工作.另外,每学期组织期初、期中、期末教学检查工作,同时根据教学督导的反馈信息,定期或不定期对授课情况、课程体系设置和教学质量进行评价.聘请省内外IT行业专家及同类本科院校专家对专业人才培养方案进行论证,对人才培养方案和教学大纲进行修定,从而构建和改进教学体系并提升教学效益.建立学生网上评教、同行专家评教、学生信息反馈制度.坚持系领导、教研室主任、教师等听课制度.教师课堂教学质量按学校要求坚持学生、系、学校三级测评办法,以三级测评的综合结果,评价教师课堂教学质量,督促教师不断改进教学方法.我系在质量监控中不断找不足,持续改进,以便提高教育教学质量.如图3.
图3 教学质量监控体系
课程的考核是实施工程教育认证的最终落脚点,《软件工程》课程考核在以下几个方面作了一些改进:
期末笔试试卷考核内容覆盖毕业要求能力指标点.试卷题型从多层面、宽领域做到灵活考核,以学生能力培养为目标,不仅做到让学生掌握基本的概念和理论,而且还要掌握工程问题的基本方法,认识和理解基本的软件工程学的思想,活学活用,努力做到理论联系实际,学以致用.
过程性考核主要在平时成绩中体现,考核以课堂签到、课堂研讨、软件开发各阶段文档和小组项目完成情况等多方面组成,考核学生的软件开发能力、团队合作能力、项目实施和管理能力和创新能力.其中,任课教师对各小组项目的实施过程和文档定期检查,并随时给出评价意见.课程结束时组织小组答辩,最后根据学生考勤、课堂研讨参与情况、项目答辩和项目文档的完成情况,由小组互评和教师评分综合决定学生平时成绩.
基于工程教育认证的“软件工程”课程教学改革实验一年以来,学生对该课程的学习兴趣和学习效果有了很大的提高,课程指标点达成度较高.对提升教学质量,完善教学过程起到了一定的效果.同时也促进教师的专业技术能力和教学能力,对培养软件工程应用型人才具有一定的指导作用.