V
Considering the most effective methods for teaching students the fundamental principles of software engineering.
Last year, edMond Schonberg and I published an article in Cross Talk (a U.S. Department of Defense software engineering journal) titled “Computer Science Education: Where Are the Software Engineers of Tomorrow?” in which we criticized the state of computer science education in U.S. universities. 4 The article caused quite a mini-storm of discussion and was picked up by Slashdot and also by Datamation in an article titled “Who Killed the Software Engineer? (Hint: It Happened in College).” 7
ILLUS TRATION B Y JOhN h ERSE Y
In our CrossTalk article, we expressed the general concern that the computer science curriculum was being “dumbed down” at many universities, partly in an effort to bolster declining enrollments. The enrollment decline at many universities has been dramatic, and still has not shown much sign of recovery. The twin effects of the dot-com crash and the concern of outsourcing of IT jobs seem to have convinced many parents and students that IT is not a field with a future, despite studies that project a shortage of software engineers in the near future. 6 Perhaps the global economic meltdown will slow this cycle a bit, but I tend to agree that we will be facing a real shortage of well-trained software engineers in the future.
So obviously the question is what
do I mean by a well-trained software engineer? To me, the critical need is the knowledge required to build large complex reliable systems. It is undeniable that our society depends in a critical manner on complex software. This is not only in the familiar areas of safety-critical software like avionics systems, but also in everyday financial systems. For example, consider the report from Moody stating a bug in the Moody computer system caused an incorrect AAA rating to be assigned to $1
billion worth of “constant proportion debt obligations.” 5 Now I do not know exactly what this means but it is surely one of the variety of peculiar economic instruments that have been factors in the current financial crisis: the credit ratings provided by agencies such as Moody are a critical element.
I frequently give talks on safety-and security-critical software, and whenever I give such a talk, I peruse the news the week before for stories on computer security failures. Prior
References:
Archives