The term software engineering can be traced to the late 1960s in response to large-scale, software development problems. Since then it has evolved as a discipline, both within industry and the academy. There have been distinct educational successes: “Standard practice” has matured (and found its way into more textbooks),the ACM and IEEE Computer Society have published curriculum guidelines, computer science programs commonly offer at least one software engineering course, and software engineering degrees (undergraduate or graduate) are more common. However, software engineering still presents a challenge. The term itself has become contorted by companies (and society in general); software has become far more diverse (along with the environments in which software engineers work); industrial software processes are not easily replicated in the classroom; what students are expected to know (once they are employed) has expanded significantly; software tools change rapidly (affecting student expectations); and the discipline involves far more than “good program-ming” (or a large programming project). This talk describes these challenges – and suggestions for dealing with them – in light of my 30 years teaching software engineering in a university.
Grabow, Paul C., "Software Engineering I: Teaching Challenges" (2015). ACMS Conference Proceedings 2015. 8.
Applied Mathematics Commons, Computer Sciences Commons, Higher Education Commons, History of Science, Technology, and Medicine Commons, Mathematics Commons, Science and Mathematics Education Commons, Teacher Education and Professional Development Commons