``Working with Large Code Bases:'' A Cognitive Apprenticeship Approach to Teaching Software Engineering
Prior work has highlighted the gap between industry expectations for recent university graduates and the abilities those recent graduates possess. These works have specifically recommended that students should have the opportunity to work on a large, pre-existing code base in their undergraduate career. This paper summarizes our experience teaching a newly-created, experimental course called textit{Working with Large Code Bases}. Guided by a Cognitive Apprenticeship approach to provide an authentic classroom experience that emphasizes the implicit processes and techniques involved in software engineering, the course serves as a practical introduction to the skills and workflow involved in navigating and understanding a large code base. The goal of this experience report is to provide the motivation for key course decisions, the key learning objectives, an overview of the course content, and a description of key course components such that instructors have sufficient information to administer this course in their own institution. We present student feedback indicating improved confidence in navigating a large code base and course outcomes related to specific tools and techniques students used in the course. Finally, we reflect on key takeaways and provide actionable recommendations for future offerings of this course.
Thu 21 MarDisplayed time zone: Pacific Time (US & Canada) change
13:45 - 15:00 | Software EngineeringPapers at Meeting Rooms B117-119 Chair(s): Hanieh Shabanian Western New England University | ||
13:45 25mTalk | Taxonomy-Based Human Error Assessment for Senior Software Engineering Students Papers Benjamin S. Meyers Rochester Institute of Technology, Andrew Meneely Rochester Institute of Technology DOI | ||
14:10 25mTalk | ``Working with Large Code Bases:'' A Cognitive Apprenticeship Approach to Teaching Software Engineering Papers Anshul Shah University of California, San Diego, Jerry Yu University of California, San Diego, Adalbert Gerald Soosai Raj University of California, San Diego DOI | ||
14:35 25mTalk | Automating Source Code Refactoring in the ClassroomGlobal Papers Eman Abdullah AlOmar Stevens Institute of Technology, Mohamed Wiem Mkaouer University of Michigan - Flint, Ali Ouni ETS Montreal, University of Quebec DOI |