Bilgisayar mühendisliği (Computer Science) eğitimi – 1
Derslerin başlamasına sadece 2 ay kaldı. Kaliforniya’dan İstanbul’a, dünyanın dört bir köşesinde Computer Science (CS) öğretim üyeleri Eylül ortası veya sonu başlayacak derslerin içerikleri, metotları, laboratuvarları üzerinde düşünmeye ve çalışmaya başladılar. CS sürekli kendini yenileyen bir evrim içinde; klasik mühendislik konularında (makina, inşaat, elektrik), üç aşağı beş yukarı bir konsensüs oluşmuş durumda. Yıldan yıla, müfredat değişmez. Ancak CS konusunda, eğer bir şeyler değişmemişse, yanlış şeyler oluyor demektir. Hocaların kapılarına kuvvetle vurun, uyuyor olabilirler!!
Bundan X yıl önce (X’i şimdilik kendime saklasam!) CS başlangıç (ilk iki yıl) eğitimi algoritmalar ve veri yapıları dersleri üzerinde kurgulanmış ve C programlama dili yeterli görülmüştü. Tabii, benim burada University of California ekolundan bahsettiğimi unutmayalım. Üçüncü yılda, işletim sistemleri (operating systems) dersine geldiğinizde, UNIX’i anlamak ve yorumlamak için yeterli altyapı oluşuyordu. Prensip olarak derslerin kuruluş düzeni, bir hafta içinde, “Lecture, Lecture, Lecture, Lab” şeklindeydi. Ancak, kendi standart şikayet ve yorumları “1) anlatıyorum anlamıyorlar, 2) ofis saatlerine gelmiyorlar, 3) çok basit şeylere takılıyorlar, 4) Lab’in işlevi, dersi anlamayı sağlamaktır, 5) proje çalışmasına son günde başlıyorlar”, ile bu hafta düzeni arasında bir ilişki kurmayı akıl edememiş öğretim üyeleri bu mücadeleyi çoktan kaybettiler. İşletim sistemleri ve internet-bağlantılı uygulamalar, karmaşıklaşıp dikey ve yatay olarak genişledikçe, bu model de sorgulanmaya başladı.
Laboratuvarı dersin “yardımcısı”, dersi anlamanın “bir yolu” diye görmenin sakıncaları ortaya çıkmaya, göze batmaya başladı. Unutmayalım ki, CS bir uygulamalı bilim/mühendislik dalıdır. CS, CS yapanların işidir, konuşanların değil! Yeni model artık, “Lecture, Lab, Lab, Lab” haftalık düzenine dönüşmelidir. Bundan sonra, Lecture, Lab’ın yardımcısıdır, Lab, Lecture’in değil! Söylediklerimi çok mu iddialı buldunuz? Düşündüğünü aksiyona (Code!) hızla dönüştüren CS mezunları mı istiyorsunuz, yoksa, BT “uzmanları” mı? Eğer, ikincisi diyorsanız, bundan sonraki yazılarımı zahmet edip okumayın.