一句话:报告了一门“为写代码而阅读”课程的设计与教学经验,帮助学生熟悉大型代码库并做出贡献。
软件工程师大量时间用于阅读代码,但软件工程教育常忽视如何阅读代码,尤其是如何融入大型既有项目。在加州大学欧文分校新设的专业软件工程硕士项目中,作者从零设计并讲授了一门名为“逆向工程与建模”的“为写代码而阅读”课程,帮助学生掌握熟悉大型代码库的技术,从而能够做出有意义的贡献。论文介绍硕士项目及其理念、课程学习成果与设计,并详细反思教学经验:哪些做得好、哪些不够好、仍未知的内容,以及为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.
@inproceedings{paperbot10955,
title = {Reading to Write Code: An Experience Report of a Reverse Engineering and Modeling Course},
author = {Brooke Ryan and Adriana Meza Soria and Kaj Dreef and Andre van der Hoek},
booktitle = {ICSE},
year = {2022},
doi = {10.1109/icse-seet55299.2022.9794257}
}