コンピュータ科学教育:明日のソフトウェアエンジニアはどこにいるのか?(2008年)
2008年の論考で、ソフトウェアエンジニアリング教育と実務のギャップを探る。従来のコンピュータサイエンス教育が理論偏重で、大規模システム開発に必要な実践的スキル(要求分析、設計、テスト、チーム開発など)を軽視していると指摘。次世代のソフトウェアエンジニア育成にはカリキュラム改革と産学連携の強化が不可欠と論じている。
背景メモ
著名なプログラミング言語設計者であるRobert Dewar(Ada言語の共同設計者)とEdmond Schonberg(GNAT Adaコンパイラの主任開発者)が2008年に米空軍のソフトウェア工学誌に寄稿した論文。当時すでに進行していた「コンピュータ科学教育が実践的なソフトウェア開発能力を軽視している」という批判を、言語設計とコンパイラ構築の第一人者たちが具体的に論じている。
- 背景として、2000年代にJavaが大学教育の主流言語になり、ガベージコレクションや抽象化に依存する教育が増えた結果、メモリ管理、ポインタ、低レベルのデータ構造といった「現実のシステムで必須の知識」が軽視される傾向が強まっていた
- 著者らは特に、学生がポインタ演算やC言語での手動メモリ管理を経験しないまま卒業し、安全重視の言語環境に慣れすぎている現状を問題視
- この論文で述べられている「実践的プログラミング教育の衰退」という論点は、その後も長年にわたりソフトウェア工学教育の議論で参照され続けている
- 本論文を掲載したCrossTalk誌は米空軍の公式ソフトウェア工学専門誌で、国防システムの信頼性・安全性に関わる教育問題として重みのある議論