Thursday, August 9, 2007

YENİ KURULMUŞ ÜNİVERSİTELERDE BİLGİSAYAR BİLİMLERİ ve MÜHENDİSLİĞİ ALAN DERSLERİNİN ÖĞRETİMİ ÜZERİNE GÖRÜŞ ve ÖNERİLER

Dr. Tansu KÜÇÜKÖNCÜ

------------------------------


YENİ KURULMUŞ ÜNİVERSİTELERDE BİLGİSAYAR BİLİMLERİ ve MÜHENDİSLİĞİ ALAN DERSLERİNİN ÖĞRETİMİ ÜZERİNE

GÖRÜŞ ve ÖNERİLER

Tansu KÜÇÜKÖNCÜ , Ocak.2001

Özellikle son 20 yıl içerisindeki, bugüne dek başka hiçbir bilim ve teknoloji alanında görülmemiş bir biçimdeki ivmeli gelişimiyle elektronik ve paralelinde bilgisayar, çağımıza damgasını vurmayı başarmıştır. Yığın bilgi işlenmesine getirdiği kolaylıklar ve hız ile, 20. yüzyılın "Bilgi Çağı" olarak adlandırılmasına neden olmuştur. Elektronik ve bilgisayardaki gelişmeler, kısa süre içerisinde, başta tıp ve diğer mühendislikler olmak üzere, sosyal alanlar dahil, neredeyse tüm bilim ve teknoloji dalları için ivmelendirici bir unsur haline gelmiştir. Bu denli hızlı gelişim, maliyetlerdeki ucuzlamayı da beraberinde getirmiş, bu sayede, her geçen gün çok daha yüksek hızlı ve kapasiteli bilgisayarların yanısıra, piyasaya ilk çıktığında oldukça pahalı olan pek çok bilgisayar ek-donanımının da, kısa bir süre sonrasında, evlere kadar yaygınlaşabilmesi mümkün olmuştur. CD, modem, ses kartı, hoparlör, mikrofon, tarayıcı, sayısal kamera, televizyon kartı, buna örnek olarak gösterilebilir.

Hastalara ait tomografi, ultrason, vb gibi çeşitli tıbbi görüntülerin bilgisayar sayesinde işlenip, değerlendirilebilmesi, bilgisayar destekli ameliyatlar yapılabilmesi, sismik verilerin bilgisayarla değerlendirilmesi, bilgisayar destekli hava tahmini yapılması, mimarların tasarımlarını ve çizimlerini bilgisayarda yapması, örencilerin derslerine bilgisayar destekli hazırlanmaları, günlük yaşamda rahatlıkla sözü edilen olağan olaylar haline gelmeye başlamıştır. Doktorlar, hasta kayıtlarını, avukatlar, müvekkil ve dava kayıtlarını bilgisayarlarında tutabilmektedir. Emniyet güçleri, bir suçluya ait parmak izini, arşivindeki binlercesiyle karşılaştırarak, dakikalar içerisinde suçlunun kimliğini belirleyebilmektedir. Psikologlara, bilgisayarların ve internetin hızlı bir şekilde yayılmasına neden olduğu düşünülen "yabancılaşmanın" yeni bir boyutundan kaynaklanan sorunların aşılabilmesine yönelik yeni bir çalışma alt-alanı doğmuştur. Bilgisayara en uzak gözüken alanlardan birisinde çalışan felsefeciler arasında bile, bilgisayarın insanın düşünce yapısı üzerine etkileri üzerinde üzerinde kafa yormaya başlayanlar olmuştur. Pek çok yazar, besteci, eserlerini bilgisayar başında yapar hale gelmiştir. Çocukların yanısıra, pek çok büyük için bile bilgisayar vazgeçilmez bir oyun aracıdır. Bu hızlı gelişmenin beraberinde, bilgisayarlardaki satranç programları, insanlar için ciddi bir rakip olabilmenin ötesine geçmek üzeredir. Bilgisayarların yaşamın hemen her alanındaki işlevlerine yönelik örnekleri arttırmak mümkündür.

Bilgisayarlardaki gelişmeler, sosyal yaşantıyı da etkilemiştir. Bu konuda gelişmiş ülkelerden geri kalmamaya çalışan ülkemizde, en azından şehir merkezlerinde, kahve kültürü, yerini internet kahvesi kültürüne bırakmaya başlamıştır. Bilgisayar montajı, ve tamiriyle uğraşan yeni meslekler ortaya çıkmıştır. Benzer doğrultuda, 1990 sonrasında, üniversitelerimizin Eğitim Fakültelerinde, Bilgisayar Öğretimine yönelik bölümler açılmaya başlanmıştır.

Bu ipuçlarını, bilgisayar alanındaki gelişmelerin, dünya tarihi üzerindeki belirleyici sayılabilecek etkilerinin artarak sürmeye devam edeceğinin göstergeleri olarak kabul etmek, yanlış olmayacaktır.

Bilgisayar alanındaki gelişmelerden geri kalmamak için önemli unsurlardan birisi, bu alanda, çeşitli seviyelerde yetişmiş elemanlardır. Bu amaca yönelik öğretim veren Teknik Liselerin Bilgisayar Bölümleri, Üniversitelerdeki Bilgisayar Programcılığı Meslek Yüksek Okulları, Bilgisayar Öğretmenliğine yönelik bölümler, İstatistik ve Bilgisayar Bölümleri, ve Bilgisayar Mühendisliği gibi öğretim kurumları arasında, bilgisayar bilimleri ve teknolojilerinin birinci derecede uygulayıcılarının yetiştirilmesinin hedeflendiği Bilgisayar Mühendisliği Bölümlerinin ayrı bir yeri vardır.

Bilgisayar mühendisliği alanında yapılan çalışmaları, genel olarak, "donanım" ve "yazılım" olarak iki başlık altında toplayabilmek mümkün. Bilgisayar konusunda öncülük eden gelişmiş ülkelerin üniversitelerine bakıldığında, bu ayrımın, yaklaşık olarak, bölümlerin isimlerine de yansıdığı görülebilir. Bu ülkelerdeki üniversitelerde, bilgisayarların gelişmesine paralel olarak ortaya çıkan yazılım ağırlıklı konuların (program geliştirme, programlama dilleri, formel diller, otomata teorisi, işletim sistemleri, veri yapıları, veritabanları, dosya yapıları, bilgisayar ağları protokolleri, yapay zeka gibi) öğretimi "Bilgisayar Bilimleri" bölümleri başlığı altında, donanım ağırlıklı konuların (temel elektronik, mikroişlemciler, sayısal tasarım, bilgisayar mimarisi, bilgisayar ağları mimarileri) ve özellikle matematik kuramlarının uygulamada gerçeklenmesine yönelik konuların (bilgisayar grafikleri, yapay sinir ağları, sayısal görüntü işleme ve analizi, örüntü tanıma, veri sıkıştırma, kriptoloji (veri gizleme amaçlı kodlama), sayısal ses analizi gibi) öğretimi "Bilgisayar Mühendisliği" bölümleri başlığı altında yapılmaktadır. Mühendisliğin anlamının temel bilimlerdeki kuramsal bilginin uygulama yoluyla güncel yaşamda kullanılabilen ürünlere dönüştürülmesi olduğunu hatırlayacak olursak, bu yaklaşım daha iyi anlaşılabilecektir. Birbirini bütünleyici özellikleri nedeniyle, Bilgisayar Mühendisliği Bölümleri, genellikle, Elektronik ve Bilgisayar Mühendisliği Bölümü başlığı altında yer almaktadır. Ülkemizde, bilgisayarla ilgili lisans eğitimi veren bölümlerin ilk kuruluş aşamalarında Bilgisayar Bilimleri ismi kullanılmış olsa da, sonraki eğilim Bilgisayar Mühendisliği isminin kullanılması yönünde olmuştur. Bunun nedenlerinden birisi, muhtemelen, mühendislik ünvanının, özellikle kamu kuruluşlarında sağladığı yararlarla ilintilidir.

Hem, yukarıda anılan, geleceğe yönelik kestirimler, hem de diğer mühendisliklerle kıyaslandığında, çok daha düşük maliyetlerle kurulabilmesi mümkün gözükmesi nedeniyle, son on yıl içerisinde kurulan üniversitelerimizde, Bilgisayar Mühendisliği Bölümlerini bünyelerinde barındırma eğilimi gözlemlenmektedir.

Fakat, gerek ülkemizin imkanlarının kısıtlılığı, gerekse yeni kurulmuşluğun doğası gereği, yeni kurulan üniversitelerdeki Bilgisayar Mühendisliği bölümlerinin eksiksiz, dört dörtlük bir başlangıç yapabilmeleri mümkün gözükmemektedir.

Ders araç, gereçleri, lisanlı yazılım ve laboratuvar imkanlarındaki eksikliklerin yanısıra, alana yönelik piyasa koşullarının, özellikle devlet üniversitelerinin imkanlarına göre, oldukça cazip olması nedeniyle, öğretici, ve araştırmacı bulunması konusunda da güçlükler yaşanmaktadır.

Bu yazıda, laboratuvar ortamındaki eksikliklerin, eldeki imkanlar çerçevesinde giderilebilmesine yönelik önerilerde bulunulacaktır.

Bilgisayar bilimleri ya da mühendisliği lisans eğitimi söz konusu olduğunda, öncelikle akla gelen laboratuvarlar : kişisel bilgisayar (PC) laboratuvarı, işletim sistemleri laboratuvarı (Windows 95 / 98 / 98 2nd ed./ 98 ME / 2000 / NT , Linux, Unix gibi), bilgisayar ağları laboratuvarı, mikroişlemciler laboratuvarı, sayısal elektonik ya da sayısal tasarım laboratuvarı, ve temel elektronik laboratuvarıdır.

Bu laboratuvarların kurulması için gerekli olan maliyetin yüksekliği nedeniyle, kimi bilgisayar mühendisliği bölümlerinde, en azından, kuruluşlarından sonraki ilk yıllarında, sadece kişisel bilgisayar laboratuvarlarıyla yetinmek zorunda kalınabilmektedir. Bu laboratuvarların, üniversiteye ait diğer bölümlerce de kullanılması söz konusu olduğunda, laboratuvar imkanlarından elde edilebilecek verim daha da azalabilmektedir.

Laboratuvar imkanlarındaki eksikliklerin öğretimde yetersizliklere yol açabilmesi kaçınılmazdır. Laboratuvar imkanlarındaki eksiklikler, öğrencilerin, özellikle donanım alanındaki uygulamaya yönelik birikimlerinin yetersiz kalmasına yol açacaktır. Mühendislikten beklenen birikimin tasarıma yönelik olması gerekse de, bu durumda oluşabilecek birikim, teknisyenlik düzeyinden beklenenin altında kalabilecektir. Piyasadaki bilgisayarla ilgili işlerde, teknisyen, ya da programcı düzeyinde çalışan, farklı mesleklerden pek çok kimse vardır. Bilgi birikimi yetersiz mezunların, iş bulma konusunda rekabet şanslarını bu düzeyin ötesine taşıyabilmeleri pek kolay olmayacaktır.

Piyasa koşulları dikkate alındığında, teorik bilgilerin uygulamayla desteklenmeden verilmesinin yeterli olabileceğini beklemek pek mümkün değil. Donanımla ilgili eksikliklerin giderilmesi, maliyetlerinin yüksekliği nedeniyle zaman alabilir. Oysa, belirli bir çerçevede, yazılımla ilgili eksikliklerin çok daha az maliyetle giderilebilmesi mümkün olabilecektir. Yazılıma ağırlık verilmesi, belirli kolaylıları da beraberinde getirmektedir. Çeşitli amaçlara yönelik pek çok yazılımın ücretsiz olarak edinilebilmesi mümkündür. İnternetin yaygınlaşması, bunlara ulaşılabilmesini son derecede kolaylaştırmıştır. Dünyanın dört bir yanından gönüllülerin katkıda bulunarak geliştirdikleri, Linux işletim sistemi yazılımı, ücretsizdir. Gelişmesine paralel olarak, dünyada kullanımı gitgide yaygınlaşmaktadır. Üniversitelerin yanısıra, şirketler tarafından da kulanılmaktadır. GNU adındaki gönüllüler organizasyonun geliştirip ücretsiz olarak yaydığı yazılımlar aradında, C ve C++ gibi çeşitli derleyiciler de vardır. Pek çok öğrenci, bireysel olarak birer bilgisayar edinebilmektedir. Böylece, sürekli elinin altında bulunabilecek, özellikle yazılım ağırlıklı bir laboratuvar ortamını kendi imkanlarıyla yaratabilmektedir. Her ne kadar yasal gözükmese de, bedelinin yüksekliği nedeniyle pek çok kimse için kolayca edinilmesi mümkün olmayan pek çok yazılımın kopyaları kolayca edinilebilmektedir. Bu durumu önleyici, dünya genelinde, henüz kesin bir çözüm bulunabilmiş değildir. Aslında, dünyanın önde gelen bazı yazılım şirketlerinin yöneticileri arasında, bu tür kullanımları, firmalarının ve ürünlerinin tanıtımına yönelik bir tür reklam olarak değerlendirenler de vardır.

Bilgisayar Mühendisliği Bölümlerinde, öğrencilerde belirli bir düzeyde programlama birikiminin oluşmasının ardından, ders programlarında yer alan hemen her dersin, yazılım eşlikli olarak, öğrencilerin yazılım beceri ve birikimlerini geliştirmeye yönelik şekilde verilmesi mümkün gözükmektedir. Sayısal analiz, istatistik, işletim sistemleri, mikroişlemciler, sayısal tasarım, temel elektronik, bilgisayar mimarisi, ve bilgisayar ağları dersleri, doğrudan programlamaya yönelik dersler haricinde, bilgisayar programlama eşliğinde yürütülebilecek derslere örnek olarak gösterilebilir.

Bu görüş doğrultusunda verilen Mikroişlemciler ve Mikrobilgisayarlar, ve Sayısal Tasarım derslerinde, bu yaklaşımın öğrenciler üzerinde olumlu etkiler yarattığı gözlenmiştir. Her iki derste, öğrencilere, derslerle anlatılan konularla ilintili, haftalık ya da daha uzun süreli, programlama ödevleri verilmiş, ara sınav ve dönem sonu sınavları da, benzer şekilde, programlamayla yanıtlanabilecek şekilde yapılmıştır. Örneğin, mikroişlemcilerle ilgili programlama sorularından birisi, özellikleri verilmiş basit, gerçekte var olmayan bir mikroişlemci için bir benzetişim programının yazılmasıdır. Programdan, anılan mikroişlemcinin komut setiyle yazılmış programları çalıştırabilmesi, ve bunu yaparken, bir yandan, mikroişlemcinin içindeki işleyişi dışa yansıtması beklenmiştir. Sayısal tasarım dersindeyse, derste öğrenilen mantıksal devre elemanlarının (mantık kapıları, tahteravalli devreleri gibi) kullanılmasıyla oluşturulabilecek basit devreler için benzetişim programlarının yazılması istenmiştir. Programlardan, uygulanacak çeşitli sayısal girdilere göre, ara ve çıkış katmanlarındaki çıktıları göstermesi beklenmiştir. Bu programlar, görsel eşliklidir. Örneğin, program aracılığıyla bir mantıksal devre oluşturulduğunda, ekranda bu devrenin, devre elemanlarının sembolleri kuulnılarak oluşturulmuş bir şemasının görülmesi beklenmektedir. Böylece, mikroişlemci laboratuvarı, ve sayısal tasarım laboratuvarının bulunmayışından doğan açık bir ölçüde kapatılabilmiştir. Öğrencilere, derste öğretilen bazı algoritmaları programlamayla gerçeklemelerinin beklendiği sorular da yöneltilmiştir. Öğrencilerden, çalışır bir programın yanısıra, yazdıkları kodların ne işe yaradığının kolayca anlaşılabilmesi için yeterince açıklama içermesi istenmiştir. Programın kaynak kodlarını, programla ilgili açıklamalar (tasarım bilgileri, programdaki eksiklikler, programın kullanım kılavuzu, gibi) yaptıkları raporlarının bir parçası olarak sunmaları beklenmiştir. Çünkü, bunlar, iyi bir yazılımı bütünleyici unsurlardır.

Önümüzdeki dönemlerde, Temel Elektronik, Bilgisayar Mimarisi, ve İstatistik gibi derslerde de bu uygulamanın denenmesi düşünülmektedir.

Yaparak ve görerek öğrenmeye dayalı bu yaklaşım, öğrencilerin laboratuvar konusundaki eksiklikleri hissetmesinin azalmasının yanısıra, çeşitli alanlara yönelik programlama bilgi ve becerisinin artmasını sağlayacaktır. Dolayısıyla, öğrencilerin öz-güveninin artmasına neden olacaktır. Böylece, mezun olduklarında, meslekleriyle ilgili daha güzel ve cazip işlerde çalışabilme şansları artacaktır.