《软件工程化开发》课程是从2015年开始由计算机科学技术学院开设的课程,课程面向大四学生,在系统学习了软件工程相关知识体系后,进一步加强学生对软件开发的理解、以及培养学生的软件开发工程化能力。课程采用“专题授课”和“分组实践”的授课方式。课程授课内容主要涵盖以下三个主题:敏捷开发、软件测试技术、以及软件设计与设计模式。课程实践要求学生能够基于基本的软件开发技术,能够成功实施一个项目的基于Scrum的软件开发过程(包括软件需求分析、软件设计、软件实现、以及软件测试)。同时要求学生能够以团队为单位进行软件项目的实践,通过软件开发过程实践,使学生掌握基本的软件开发技术和方法、软件开发的团队协作精神、以及项目计划和管理能力。
成果导向教育(Outcomes-Based Education,OBE)关注学生的学习成效,关注真正拥有知识和应用知识实践的能力,教学内容可能碎片化,但是学生能力的提升是整体性的,知识传授以学生的实践能力提升为主线。
课程将平时课堂单向讲授的课程内容划分知识点,以微课程形式提供给学生,建设在线课程。在融合线上线下教学的过程中,采用多元教学方法和理念,切实体现高阶性、创新性和挑战度。通过设计围绕学习目标的学习活动和学习评测,增加学生学习的兴趣和参与程度,并获得高阶的学习体验。
以OBE模式统领整体学习:线下采用项目驱动的实践方法,并将原先实践的过程细化,加强形成性评测在课程评测中的比例,突出以评促学的特点,让学生能运用所学进行创造。
以问题导向的研讨型学习进行知识单元的学习:课堂上就重点和难点进行讨论,培养学生的问题意识和问题求解的能力。
以“学习共同体”理念鼓励各种方式的同伴学习:团队合作完成项目的设计、开发与总结,并进行课堂分享;引导学生制作和分享视频、文章等,作为经验传承。
课程以敏捷开发和计算思维为核心,引导学生关注大数据、人工智能等前沿概念与技术;强调运用Scrum方法开发复杂软件工程项目能力。融入科技强国的责任感和自信心、人工智能时代的专业伦理、计算和信息视角下的学习观和科学精神,很好地体现课程思政。
伊恩·萨默维尔著, 彭鑫等译. 软件工程(原书第10版). 机械工业出版社, 2018年2月.
Kenneth Rubin 编著,姜信宝,米全喜等译,《Scrum精髓:敏捷转型指南》,清华大学出版社,2014年6月