一句话:介绍加州大学欧文分校硕士课程“逆向工程与建模”,教授阅读大型代码库以有效贡献的方法。
软件工程师大量时间用于阅读代码,但如何在大型既有项目中阅读代码并融入其中,在软件工程教育中常被忽视。加州大学欧文分校新设专业软件工程硕士中,作者从零设计并开设了“阅读以编写代码”课程,名为“逆向工程与建模”,教授熟悉大型代码库并做出有意义贡献的技术。论文介绍硕士项目及其理念、课程学习成果与设计,并详细反思教学经验:哪些做得好、哪些不好、尚不清楚之处,以及为2022年春季下一轮课程准备的下一步,为其他院校开设类似课程提供基线与经验教训。
A substantial portion of any software engineer’s job is reading code. Despite the criticality of this skill in a budding software engineer, reading code—and more specifically, techniques on how to read code when integrating oneself into a large existing software project—is often neglected in the typical software engineering education. As part of a new professional Master of Software Engineering at the University of California, Irvine, we designed and delivered a "reading to write code" course from the ground up. Titled Reverse Engineering and Modeling, the course introduces students to techniques they can use to become familiar with a large code base, so they are able to make meaningful contributions. In this paper, we briefly introduce the Master program and its underlying philosophy, articulate the course’s learning outcomes, present the design of the course, and provide a detailed reflection on our experiences in terms of what went well, what did not go well, what we do not know yet, and what our next steps are in preparing for the forthcoming incarnation of the course in Spring 2022. In so doing, we hope to provide a baseline together with lessons learned for others who may be interested in instituting a similar course at their institution.