ABSTRACT VIEW
INTEGRATING DELIBERATE PRACTICE IN SOFTWARE ENGINEERING EDUCATION
F. Hauser1, L. Grabinger1, T. Ezer1, J. Mottok1, H. Gruber2
1 OTH Regensburg (GERMANY)
2 University of Regensburg (GERMANY)
This abstract builds on a previous study surveying deliberate practice in software engineering [1]. It discusses ideas and activities how deliberate practice can be partly integrated into software engineering education.

Deliberate practice is essential for gaining expertise across various domains. It involves structured, effortful activities with sustained concentration and feedback for error correction and skill refinement, typically requiring at least 10,000 hours. Domains like sports, arts, and music have well-defined training activities, where learners practice under the guidance of a teacher and receive immediate feedback. These activities are repeated until executed flawlessly and significant improvement can be observed [1-3].
In contrast, the creative problem-solving nature of software engineering makes defining deliberate practice challenging. Most work in this field is mental and complex, hindering immediate feedback and structured practice [1]. This raises the question of how to integrate deliberate practice into software engineering education?

A previous study revealed that software engineering experts engage in both formal and training activities to build their skills [1]. Based on this study, the following ideas should be addressed to create deliberate practice-like learning and training activities for software engineering education:
- Practical application and feedback: The teacher-student dynamic of deliberate practice can be mirrored in code reviews and pair programming. Software can provide direct feedback to correct errors early. Students should also participate in coding challenges, team projects, hackathons, and open-source projects regularly. These activities, incorporated into the curriculum, offer skill refinement opportunities and feedback from experienced programmers. In addition, students can also benefit by developing their soft skills.
- Continuous learning: Software engineers can enhance their skills by focusing on less understood areas and improving them. Deliberate learning techniques, such as studying advanced algorithms, reverse engineering software, and staying updated with technological developments, are crucial in this context.
- Instructional Design: Effective integration of deliberate practice in software engineering education requires balancing difficulty and intensity. Overly challenging tasks can lead to frustration, while too easy tasks fail to stimulate growth. Educational programs should design curricula with a mix of appropriately challenging activities, providing feedback and support to foster continuous improvement.

In conclusion, applying deliberate practice to software engineering education requires a nuanced approach. By incorporating real-time feedback, structured learning activities, and practical application opportunities, software engineering students can engage in deliberate practice. Despite challenges, thoughtful application of deliberate practice principles can help students to develop into highly skilled software engineering experts. [1-3].

References:
[1] Anonynoums.
[2] K. A. Ericsson, R. T. Krampe, and C. Tesch-Römer, “The role of deliberate practice in the acquisition of expert performance,” Psychological Review, vol. 100, no. 3, pp. 363–406, 1993.
[3] K. A. Ericsson, “Deliberate Practice and Acquisition of Expert Performance: A General Overview,” Academic Emergency Medicine, vol. 15, no. 11, pp. 988–994, Nov. 2008.

Keywords: Expertise, deliberate practice, software engineering education, instructional design, higher education.