Software engineering – the “engineering” of software – is part process, part technology, part resource management, and, debatable, until recently, part luck – which make interesting challenges for educators at the undergraduate or graduate level. Learning to be a software engineer – learning about software learning about engineering (the former, a nebulous topic, the latter an equally nebulous attitude of professionalism) form the target that educators are aiming to hit. Unfortunately, with constant “innovations” in methodologies, technologies, and programming languages, this is a moving target.
“The great aim of education is not knowledge but action.” Herbert Spencer (1820-1903) Simply put, the aim of this book is to better prepare educators to better prepare students to be better software engineers. The material in the 18 chapters of this book hits the mark by providing proven ammunition for student learning and assessment, curriculum development, innovative teaching methods, and project approaches that solidify classroom concepts, as well as instill an engineering mindset with respect to responsibility, ethics, certification and licensing. It provides a synergistic experience base that can serve the ongoing and future needs of software engineering educators. “Nothing can add more power to your life than concentrating all your energies on a limited set of targets.”