A framework for teaching software engineering introductory courses. (1st January 2011)