Computing Curricula 2005 recognizes the need for more extensive education to produce professional software engineers than what can be reasonably provided in a typical computer science program (ACM, 2005). As such, they propose software engineering be treated as a totally separate discipline within computer science education.