The development of discipline-specific cognitive and meta-cognitive skills is fundamental to the successful mastery of software development skills and processes. This development happens over time and is influenced by many factors, however its understanding by teachers is crucial in order to develop activities and materials to transform students from novice to expert software engineers. In this paper, we analyse the evolution of learning strategies of novice, first year students, to expert, final year students. We analyse reflections on software development processes from students in an introductory software development course, and compare them to those of final year students, in a distributed systems development course. Our study shows that computer science – specific strategies evolve as expected, with the majority of final year students including design before coding in their software development process, but that several areas still require scaffolding activities to assist in learning development.
This work builds on our previous analysis of first year student software development processes, both in terms of their identification and use of self-regulated learning strategies that are specific to Computer Science, and their attributions for successful and unsuccessful strategies in programming assignments.
K. Falkner, C. Szabo, R. Vivian and N. Falkner, Evolution of Software Development Strategies, 37th International Conference on Software Engineering, Education Track, May 2015 (to appear).