Bilgisayar Aptal Bir Cihazdır

“Bilgisayar aptal bir cihazdır.” Evet aynen öyledir. Ktü Bilgisayar Mühendisliği Bölümü 1. sınıfa başladığım zaman bölümümüzün kurucusu Prof. Dr. Rıfat Yazıcı hocamız Bilgisayarın Temelleri dersinde aynen bu cümleyi kurmuştu. Sınıf arkadaşlarımı bilemem ama ben bayağı şaşırmıştım bu sözü duyunca. Hocamızın bu sözünde ne anlatmak istediğini daha sonraları anlayabilmiştim. Rıfat hocamız bizlere bilgisayarların çok kompleks yapıda olduğunu fakat bu cihazların lojik olarak bit bit insanlar tarafından tasarlandığını, programlandığını ve gerçeklendiğini anlatmak istiyordu ve bu kompleks yapıdan korkmamalıyız mesajını veriyordu. Özetle “Bilgisayarları tasarlayıp, gerçekleyip ve programlayan biz bilgisayar mühendisleridir.” Şu anda Rıfat hocamız İstanbul Ticaret Üniversitesinde Bilgisayar Mühendisliği Bölüm Başkanlığı görevini sürdürmektedir.

Bölümümüze dönecek olursak, bu yazıyı bölümü bırakmayı düşünen öğrenci arkadaşlarım olduğu için yazmaktayım. Bölümümüz Türkiye’ninn sayılı bölümlerinden birisidir ve sadece birkaç üniversitenin verdiği gerçek bilgisayar mühendisliği öğretim programını içermektedir. Bilgisayar Mühendisleri sadece yazılım üzerine çalışmazlar, Bilgisayar Mühendisleri Bilgisayarı oluşturan 2 temel birime (yazılım ve donanım) hükmedebilmelidir. Bölümümüzde uygulanan program incelendiğinde yazılım ve donanım dersleri %50 – %50 dağıtılmış durumdadır ve Laboratuar dersleriyle desteklenmektedir. Derslerin ve Laboratuarların ne kadar öğretici olduğu her zaman tartışmaya açık bir konudur, ancak şu anda bu yazıyı okuyabiliyorsanız bir internet bağlantısına sahipsiniz demektir. Yani İnternet bizler için bir eğlence-vakit öldürme aracı olarak değil “Bilgiye ulaşma aracı” olarak kullanılırsa amacına hizmet edecektir. Ama ben demiyorum ki internet üzerinden hiç sohbet etmeyin, oyun oynamayın vs. Herşeyi yeri ve zamanı geldiğinde ve ölçülü bir şekilde yaparsanız interneti etkin bir biçimde kullanmış olursunuz.

Bölüm derslerine biraz göz atacak olursak;
1. sınıf 1. dönem: Bilgisayarın Temelleri ve Elektrik Devreleri derslerimiz var. Bilgisayarın Temelleri dersinde gördüğümüz şeyler aslında bize pek yabancı şeyler değil aslında. Sadece algılamakta güçlük çekebiliyoruz. Şöyleki Biz Üniversiteye gelene kadar 12 yıllık eğitim hayatımız oldu ve bu süreçte biz %99 10 tabanında işlem yaptık ve bu şekilde kafamıza kazıdık. Bilgisayar ise (Rıfat hocamızın dediği gibi aptal cihaz) sadece 2 tabanındaki 1 ve 0’lardan anlıyor. Aslında 1 ve 0’lardan da anlamıyor, 5 voltluk gerilimin lojik 1, 0 voltun ise lojik 0 olduğunu biz kabul ediyoruz ve bu kabuller üzerine lojik kapılarımızı oluşturuyoruz. Bu lojk kapıları ise Elektrik devrelerinde gördüğümüz elektronik elemanlarla tasarlıyoruz. En temel eleman ise sürekli duyacağımız Transistör olacak. Transistörün anahtarlama davranışı ile lojik 1 ve 0’lara biz karar veriyoruz. (Bu konuları Tuğrul hocamız anlatmıştır ya da anlatacaktır).
Bu lojik kapıları bir araya getirerek lojik devreler (karar verme mekanizmaları) oluşturuyoruz. Tasarlamak istediğimiz devreleri lojik 1 ve 0’larla tasarlıyoruz.
1. sınıf 2. döneme geçiyoruz: Mantık devreleri ve C programlama derslerimiz var. Mantık devreleri dersinde Bilgisayarın Temelleri dersinde gördüğümüz lojik kapılar, bellekler, PLA’lar,PAL’ler, Flip-Flop’lar yardımıyla tasarladığımız devreleri geliştiriyoruz. Bu derste öğrenecek olduğunuz SSI,MSI,LSI,VLSI’lar işin içine girecek. İşte birşeyler üretmeye başlıyoruz diyebiliriz. Şu ana kadar öğrendiğiklerimiz soyut olarak kafamızın bir kenarında dursun. C programlama dersine gelelim. İlk defa programlama dersi görüyoruz bu dersle beraber. C programlama günümüz bilgisayarlarının temelini oluşturuyor. Programlama dillerini araştırırsak bu dilin günümüzdeki bir çok dilin atası olduğunu görebiliriz. Bu sayede programlama dillerine de temelinden girmiş oluyoruz. (C’den daha eski ve C’nin atası sayılan programlama dilleri mevcuttur ancak günümüzde hala kullanılmaya devam edilen dil olduğu için C dilini öğrenmekteyiz). C dili ile birlikte konsol ekranına birşeyler yazdırabiliyoruz ve aritmetik işlemler yapabiliyoruz artık bu dil sayesinde. İstersek de if ile birlikte programa biraz düşünme yeteneği katabiliyoruz. for ve while döngüleriyle de bu yeteneği sürekli hale getirebiliyoruz. C diliyle neler yapabileceğiniz sizin hayal gücünüze kalmış. Hayal gücü diyorum çünkü insanlar günümüz bilgisayarlarını birşeyleri hayal ederek ve hayal ettiklerini gerçeğe dönüştürerek bu tarz kompleks yapılar ortaya çıkartabildiler.
Gelelim 2. sınıf 1. döneme. Sayısal Elektronik Laboratuarı görüyoruz. İlk defa donanımsal birşeylerle karşılaşıyoruz ve bu da bize Elektrik Devreleri ve Elektronik Devreler derslerinde gördüğümüz konuları somutlaştırmamıza yardımcı oluyor. İlk defa Transistör görüyoruz belki de hayatımızda. 3-4 cm büyüklüğündeki o 3 bacaklı elektronik elemandan nasıl olur da milyonlar hatta milyarlarcası kullandığımız bilgisayarlarda bir araya gelebilir? İşte bu sorunun cevabını yavaş yavaş öğreniyoruz. Transistörden daha küçük o yapıların içerisinde onlarca, yüzlerce, binlerce transistör olması Teknolojinin gelişmesinin bir ürünüdür. İlk yapılan bilgisayarları düşünün bir oda büyüklüğündeki o bilgisayarlarda Transistör yapısı bulunmuyordu bile ve yetenekleri oldukça kısıtlıydı. Ama bizden önceki kişiler bir şekilde o kocaman oda büyüklüğündeki bilgisayardan kat kat üstün bilgisayarlar üretip sırt çantamıza sığdırabildiler.
Gel gelelim 2. sınıf 2. döneme. İlk defa bir laboratuar dersi alıyoruz: “Sayısal Tasarım Laboratuarı”. Bir kenara koyduğumuz o lojik 1 ve lojik 0 yapılarını ilk defa somut olarak görüyoruz. İlk defa bir ROM görüyoruz belki de ve bu ROM’u programlayıp istediğimiz bir iş için çalıştırıyoruz. Kimimiz trafik ışıklarını kontrol ediyor kimimiz ise asansör devreleri tasarlıyoruz. Teoride bildiğimiz lojik devreleri artık gerçekleyebiliyoruz ve bu da bize özgüven sağlıyor. Bu dönemde çok önemli bir ders daha görüyoruz: “Mikroişlemciler”. Mikroişlemciler dersinde teorik olarak birşey başarıyoruz aslında. Bir bilgisayar yapıyoruz! Evet çok ciddiyim teorik olarak bir bilgisayar yapıyoruz. Şöyle ki: 1. sınıf 1. dönem Bilgisayarın Temelleri dersinde Rıfat hocamız bize “CPU + Bellek çalışan en basit bilgisayardır.” demişti. (Şu an o dersi veren hocalarımız bundan bahsediyor mu bilmiyorum). CPU (şu an elimizde az gelişmiş bir mikroişlemci var 6802 diyoruz biz ona) ve bir Bellek elemanını birbiriyle haberleştirdiğimiz anda çalışan en basit bilgisayarı tasarlamış oluyoruz. Bir bilgisayar mühendisi adayı olarak “Çalışan Bir Bilgisayar Tasarlamak” bize daha fazla özgüven aşılamış olmalı. Bir sonraki dönem bu dersin de laboratuarını görüyoruz. Ancak bu kadar basit değil elbette. Önümüzde 16 tabanındaki sayıları ve birkaç fonksiyonu gösteren bir mikroişlemci kiti var. Hocalarımızın danışmanlığı ile bu kit üzerinde mikroemirler vasıtasıyla mikroişlemcimizi bellek ile haberleşteştirip; mikroişlemcinin hesapladığı değerleri ise ekranda görebiliyoruz. Bu tuş takımı ve Ekran sayesinde biz doğrudan bilgisayara veri girip onu programlayabiliyor ve ekranda sonuçları göstererek bilgisayarımızı dış dünyayla haberleştirebiliyoruz. (Her ne kadar ilkel de olsa artık çalışan bir bir bilgisayara hükmeder hale geliyoruz.)
3. sınıf 1. dönemde ayrıca Bilgisayar Mimarisi dersi görüyoruz. Bu derste daha önce öğrendiğimiz bilgileri biraz daha ilerletip günümüz bilgisayarlarına doğru geliyoruz. Bilgisayarlara yeni kapılar açıp onları farklı yöntemlerle dış cihazlarla haberleştiriyoruz. Seri Portlar, Paralel Portlar aracılığıyla bilgisayarın temel parçası olmayan ancak işimize yarayan yardımcı elemanlara (yazıcı, tarayıcı, klavye, fare, ekran vs) hükmediyoruz. 4. sınıfa geldiğimizde ise artık aşmış durumdayız, artık sadece bir bilgisayara değil birden çok bilgisayara hükmedebilir duruma geliyoruz. Çünkü Bilgisayar Ağları ve Ağ Programlama derslerimiz var. Bilgisayar Ağları dersinde genel olarak bilgisayar ağlarını, nasıl haberleştiklerini, ağ teknolojilerini öğreniyoruz ve ardından Ağ Programlama dersiyle bu kurduğumuz ağları programlayarak gerçekliyoruz.

Sadece donanımsal olarak değil kendimizi yazılım anlamında da geliştirmemiz gerekiyor. 2. sınıf 1. dönemde gördüğümüz Nesne Yönelimli Programlama dersi sayesinde daha üst seviye bir programlama diliyle karşılaşıyoruz ve işin içine Nesne’ler (object’ler) giriyor. Ve biraz da Form yapısına giriyoruz bu dersin uygulamasında (Form yapısı, görsel programlama ya da windows pencereleri diyebiliriz). Kısaca konsol ekranından biraz sıyrılıp göze hitap eden programlar geliştirebilecek bir düzeye geliyoruz. 2. sınıf 2. dönemde programlama dilleri dersinde haskell diye bir dil çıkıyor karşımıza. Fonksiyonel bir dil olan Haskell bize bir çok alanda hız kazandırıyor. (Detaylarını ben de pek bilmiyorum ancak işe yaradığı alanlar azımsanmayacak derecede fazla, Örneğin Integral tipi bir değişken sonsuz büyüklüğünde sayıları tutabiliyor ve milyonuncu fibonacci sayısını diğer dillere göre çok hızlı bir biçimde hesaplayabiliyor). 3. sınıfta seçmeli olarak Java dersi alabiliyoruz. 1. Öğretim arkadaşlar ise mesleki ingilizce derslerinde C# (C sharp) öğrenme imkanı buluyorlar, bu yüzden 2. öğretim arkadaşların da bu derslere katılmaları önemli bir konu.

“Bilgisayar Geçmişini Reddetmeyen Tek Cihazdır” Prof. Dr. Rıfat Yazıcı
Rıfat hocamızın bu sözü çok yerinde bir sözdür. Örneğin benzinli bir araba satın alırsınız, ancak teknoloji ilerleyip hybrid dönemine geçildiğinde arabanızın motorunu bir hybrid motorla değiştiremeyebilirsiniz. Ancak bilgisayarlar böyle değildir. Hem yazılım hem de donanım anlamında bilgisayarlar eskiyi de içinde barındırarak yenilikleri beraberinde getirirler. Örneğin birçoğumuzun kullandığı Windows 7 işletim sisteminin içinde MSDOS’dan kalma konsol vardır. MSDOS’da mkdir komutu ile klasör oluşturabiliyorken, aynı komutla Windows 7 işletim sisteminde klasör oluşturabiliriz. Donanımsal bir örneğe bakacak olursak, Intel mimarisinin temelini oluşturan Z80 CPU’sunda mov emri ile akümülatörden bir veriyi belleğe aktarabilirken, En gelişmiş Intel CPU’larında (örneğin Intel Core I7’de) mov emri ile aynı işlemi yapabilirsiniz. Tabiki de yeni işlemciler beraberinde binlerce yeni özellik getirdiğini unutmamak gerekir. Aynı durum Programlamada da geçerlidir. Şöyle ki C++ ile bir program yazarken “inline assembly” özelliği sayesinde C++ kodları arasında assembly kodları yazıp doğrudan makina dilinde kodlar ekleyebilirsiniz, derleyebilirsiniz ve çalıştırabilirsiniz. Burada bahsettiğim bilgilerin bir kısmı derslerimizde içerik olarak verilmiyor olabilir, bunları internetten araştırarak daha detaylı bir biçimde öğrenip uygulayabilirsiniz.

Kısacası bölümde gördüğümüz/göreceğimiz dersler bizlere “Bilgisaya Hükmetme” konusunda öğretici bilgiler içermektedir. Bu dersler arasındaki bağlantıların temelini sağlam atarsak ortada korkulacak bir durum olmadığını görebiliriz. Ders içerikleri, Hocalarımızdan aldığımız verim her zaman yeterli olmayabilir. Ancak daha önce de belirttiğim gibi elimizin altında sonsuz bir kaynak olan İnternet var. İnterneti etkin bir biçimde kullanarak bilgi eksikliğimizi giderip günümüz bilgisayar mühendisleriyle eş hatta onlardan daha üst seviyelere çıkabiliriz. Bazı derslerden kalabiliriz, Bazı hocalarımızın tutumları bize karşı olabilir, Bazı ders içeriklerini anlamakta zorluk çekiyor olabiliriz ancak bu bölümde öğreneceğimiz herşeyin bir mantık üzerine kurulu olduğunu unutmayıp, öncelikli olarak o mantığı kavramaya çalışmalıyız.

Saygılarımla
KTÜ Bilgisayar Mühendisliği Bölümü
4. Sınıf Öğrencisi
Hasan Hüseyin ÇAKIR

7 comments on “Bilgisayar Aptal Bir Cihazdır

  1. 4. sınıfım ama halen doğru meslekte miyim,okulu bırakmak doğru mudur aceba soruları ara ara beynimde döner benim.Belli bir sene sonra bazı kararlardan geriye dönüş ol(a)mıyor.Eğer bırakmayı düşünen arkadaşlar 1-2 gibi sınıflardalarsa ve hisleri ile akılları bölümü yürütemeyecekleri yönünde birleşiyorsa kendilerine işkence çektirmemeliler..Herkes hata yapabilir..Tabii bence..

  2. Tebrikler gerçekten güzel bir yazı olmuş.

    Eklemek, daha doğrusu desteklemek, istediğim bir konu var: İnternet.

    Öncelikle ben de Rıfat Hocamızın bir sözünü hatırlatayım: “Bizim zamanımızda avantajımız öğrenilecek şeyin az olmasıydı. Ama bilgiye ulaşmak çok zordu. Sizde ise durum tam tersi. Bilgi çok fazla, ama bilgiye ulaşmak çok zor”

    Bir bilgisayar mühendisinin -aslında her meslek için geçerli ama özellikle bizim için- en önemli desteğidir internet. Hasan’ın da anlattığı gibi bölümümüzde bilgisayar mühendisliğinin temelini oluşturacak bir çok şey öğretilmekte. Bu temelin üzerine binayı dikmek ise bize kalıyor. Araştırmak, okumak gerçekten çok önemli.

    Tabii ki yüzlerce binlerce konu var araştıracak. İlgi alanınıza göre neleri öğreneceğinize kendiniz karar vermelisiniz. Yönlendirme konusunda ise bölüm hocalarımız, biz üst sınıf öğrenciler ve öğrenci kulübü sizlere yardımcı olacaktır.

  3. Çok güzel bir yazı olmuş… Bende 1. sınıfta ki halime dönüp baktığımda aynı duyguları yaşamıştım.

    Rıfat Hocamız o dersleri anlatırken; en çok lojik 0, lojik 1 kısmı beni zorluyordu. Nasıl olur da o mükemmel cihaz sadece 0 ve 1 den anlıyordu. Onunda dediği gibi zamanla oturdu konular, zamanla anladım bazı şeyleri.

    Evet güzel bir bölümdeyiz ve eğitim açısından güzel bir üniversitedeyiz. Ama diğer bölümlere göre okurken zorlanmamız bence soyut şeylerle uğraşmamız dan.

    Bilgisayar mühendisliği sadece sevildiği ve popüler olduğu için seçilmemelidir. Bu bölümü seçecek kişinin hayal gücünün de güçlü olması gerekir. Çünkü soyut olarak gördüğümüz dersler somut bir yapı kazanmazsa boşa gidebilir.

    Şuan da bende Hasan gibi 4. sınıftayım. Gördüğümüz en küçük bir ayrıntının bile güncel hayatta karşımıza çıktığını defalarca yaşadım. Şu anda, bize anlatılan kendi adıma “nerede kullanacağız bunları” dediğim konuların boşa olmadığı fark ediyorum.

    Son olarak bilgisayar mühendisliği sürekli güncel olmayı gerektirir diyorum ve teşekkür ediyorum.

  4. Ktü Bilgisayar Müh. Hazırlık öğrencisiyim.Çok istekli bir şekilde geldim bu bölüme.Yazdığınız yazıyı okuduktan sonra dahada şevkim arttı.Hep hayal ettiğim yerdeyim.Artık sadece bekleyip göreceğim.Yazı için çok teşekkürler

  5. Halit blogunu inceledim, bölümümüz hakkında bayağı ilgin var gördüğüm kadarıyla. Umarım bu ilgin bölüme geçtikten sonra dinmez. Bölümümüzde bazı anormaliler mevcut. Bunlarla zamanla karşılaşacaksın, bir süre sonra alışacaksın ama 🙂

    Backtrack konusunda hemfikiriz bu arada, Windows’u pek sevmesem de mecburiyetten kullanmak zorundayız 🙂

  6. çok etkileyici güzel bir yazı olmuş tebrik ederim 🙂 Peki nu bölümden mezun olan bir öğrencinin iş bulabilme imkanı nedir ?

    • eğer öğrenci yeterince sosyalse ve bölümle ilgili ise işe girmekte sıkıntı yaşamaz. aksine iş teklifleri alıp durur 🙂 yeter ki ismini duyurabilsin.

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir