Process Management for Learning from Professional Source Code: Cultivating Experts in the Age of AI
Abstract
Background and Context : Today’s software industry increasingly values intricate conceptual knowledge (e.g., sufficient expertise to fix AI-generated code). Though program comprehension and scaffolding have mature literature, the intermediate-to-expert transition for programmers is under-researched relative to its socioeconomic impact. Learner-focused inspection tools exist (e.g., Ply, Isopleth, Python Tutor), but these often address specific problems (e.g., implicit CSS dependencies, async JS, call stacks), without systematic guidance for developing deep conceptual models of architectures and techniques across large real-world codebases or interactions. Objectives : We aim to support non-experts in learning holistically from professional code and to understand how they explore and learn in this context. Given that learners outnumber expert instructors who can teach these concepts, we propose Process Management (PM), a framework for designing tools that scaffold sensemaking on underused yet plentiful real-world code. PM addresses core obstacles learners face (code complexity, surface-level focus, and transfer challenges) through core design principles (intuitive sensemaking processes, comparison, reflection). After prototyping and piloting over 5 years, we developed 3 PM tools that surface JavaScript, CSS, and Python techniques. In this work, we seek to understand the effectiveness of PM tools, and the processes learners follow with and without PM support. Study Methods : We report on think-aloud studies conducted over 1.5 years to evaluate our 3 PM tools. Data include \(\sim\) 300 hours of remote observation of intermediate-level developers using these tools or controls (Chrome DevTools, VS Code). There were five participants in each condition for each tool. Studies consisted of tool training and pre-test, tool-use, and post-test phases, followed by a post-study interview. We qualitatively coded pre/post- and tool-use data, and present learning gains and in-task behavioral metrics. Findings : Our mixed-methods evaluations show PM tool users explored effectively (e.g., comparing, mapping) and achieved \(\sim\) 3× more learning outcomes (e.g., conceptual clarity, transferable patterns). Such outcomes were observed consistently across the three programming domains under study. Our qualitative data shows how PM tools can shape learners’ exploration order and process, enhance their understanding of nuanced techniques through interactive comparison, and help them uncover the domain-specific rationales behind design pattern usage through analogical mapping and reflection activities. Implications : Finally, we discuss PM’s potential impact on cognitive load, the role of experts today, and a sketch for how LLMs may scale PM. In particular, we envision a world in which educators and builders can develop PM systems that provide intermediate-level engineers a process for learning holistically from open source professional code to gain conceptual expertise, which they can then use to refine AI-generated code. We also provide examples of LLM prompts that can be used to potentially automate aspects of our PM tool-use sessions, laying some groundwork for AI-driven professional development. In summary, our work contributes to computing education by introducing a scalable and forward-looking tool-building framework and design paradigm for helping intermediate-level learners extract expert-level concepts from complex, real-world code.
Fields of Study & Subjects
Teaching and Learning Programming
Software Engineering Research
Software Engineering Techniques and Practices
Publication details
- Journal / source
- ACM Transactions on Computing Education
- Volume
- 26
- Issue
- 3
- Pages
- 1–83
- Publication date
- 11 February 2026
- Language
- EN