Giriş

Özellikle programlama ve formal yöntemler alanlarında Bilgisayar Bilimi eğitiminin ihmal edildiğini gözlemliyoruz. İlk öğrenilen programlama dili olarak Java'nın benimsenmesinin bu düşüşün sorumlusu olduğunu düşünüyoruz. Bu belgede her yazılımcının repartuarında olması gereken programlama yeteneklerini kısaca inceliyoruz.

Konu tamamen programlama hakkında! Bilgisayar Bilimi eğitiminde geçtiğimiz birkaç yılda kaygılandırıcı eğilimler olduğunu gözlemledik. Aşağıdakiler bu eğilimleri temsil ediyor:

  1. Bilgisayar Bilimi programlarında matematiksel bilgi gereksinimleri azalıyor.

  2. Bir çok programlama dilinde programlama yeteneklerinin geliştirilmesi, yerini geniş ve özel-amaçlı kütüphanelerin kullanıldığı cookbook tarzı bilgilerin kullanılmasına bırakıyor.

  3. Sonuçta geliştirilen yetenekler bugünün yazılım endüstrisi için yetersiz (özellikle güvenlik alanında) ve, malesef bu, dış kaynak kullanım ( outsourcing ) endüstrisinin ileri sürdüğü şeyle benzeşiyor.

Bu eğilimler, Association for Computing Machinery (ACM)'nin son müfredat tavsiyelerinde görülebilir. 2005 müfredatı matematiksel önkoşullarından tam olarak bahsetmiyordu ve programlama dilleri teorisinde sadece bir derste bahsedilmişti.

Bu gelişmelere her iki açıdan da bakıyoruz: Onlarca yıldır New York University fakülte üyesi olarak, bir çok bilgisayar bilimi bölümünde Java'nın başlangıç dili olmasından pişmanlık duyuyoruz. Bu seçimin öğrencilerimizin formasyonunu nasıl zayıflattığını gördük. Bunu aldıkları sistem ve mimari kurslarında gözlemledik. Görev-kritik sistemler için Ada programlama araçları üzerine uzmanlaşmış bir şirket kurucuları olarak, doğru temel yeteneklere sahip kalifiye elemanlar bulmanın zor olduğunu gördük. Daha önceki formal yöntemlerin sonucu olan ve programlama dillerinin bilgisayar bilimlerinin merkezinde yer aldığı daha titiz bir formasyonu savunmak istiyoruz.