Abstract
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.
Author supplied keywords
Cite
CITATION STYLE
Ryan, B., Soria, A. M., Dreef, K., & Van Der Hoek, A. (2022). Reading to Write Code: An Experience Report of a Reverse Engineering and Modeling Course. In Proceedings - International Conference on Software Engineering (pp. 223–234). IEEE Computer Society. https://doi.org/10.1109/ICSE-SEET55299.2022.9794257
Register to see more suggestions
Mendeley helps you to discover research relevant for your work.