Computer science educators have taken different approaches to teaching software engineering
over the years, both as a result of changing methodologies as well as individual beliefs about
what teaching methods work best in a particular academic environment.