Ana Sayfa
  Windows
  Windows 7
  Windows xp
  Pardus 2009
  Bilgisayar Donanımları
  Teknoloji
  Messenger
  Online Destek
  Dowload
  Audio
  Forum
  Bilgisayar Mühendisi
  En yeni filimler
  Radyolar
  Chat
  Ziyaretçi defteri
  Siteni Ekle
  Ermenek
  Fotoğraflar
  Yaz Konuştur
  İletişim
  Oturum Açın
  İslam
  Haberler
  Oyun oynaaa!
  Galeri
  Canlı Tv İzle
Bilgisayar Mühendisi

Bilgisayar Mühendisliği


Bilgisayar Mühendisliği başlığı altında toplanmış etkinliğin ve bunun eğitiminin iki boyutu var.

  • Bilgisayar Bilimi,
  • bu bilimin alt alanlarının herbirisinin mühendislikleri ve bu bilimin teknolojik ürününü geliştirme süreci ile ilgilenen Yazılım Mühendisliği.
Her nekadar yurtdışında bu ayırımın gözetildiği lisans eğitimleri söz konusu ise de, bu, ülkemizde böyle değildir. Her iki boyut ağırlıklı olarak aynı eğitim programına katkı vermektedir. Ancak, bu birlikteliğin varlığı anılan iki boyutun varlığını ortadan kaldırmaz. Aşağıda bu iki boyutu ayrı ayrı irdeleyeceğiz:

Bilgisayar Bilimi

İngilizcesi 'Computer Science' olan bu bilim dalı, veri barındırıp bunun üzerinde işlem yapmayı sağlayacak yapılarda, belirli amaçlara ulaşmak için verilerin nasıl işlemleneceği ile ilgilenir. Genel kanının aksine:

Bilgisayar Biliminin ilgi alanına girebilmesi için, işlem yapacak yapının fiziksel gerçekliğinin olması gerekmez. Bu gerçekten ötürü, disiplinin adında yer alan 'Bilgisayar' sözcüğünü dar anlamı ile algılamak yanlıştır. Her ne kadar bu isim gündelik kullanım bakımından eskiden odalar büyüklüğünde, şimdilerde ise masalarımızın üzerinde yer alan, elektrikle çalışır, bir ekran, bir klavye ve bir işlem ünitesini barındıran cihazın adı ise de, bilim dalı olarak algılandığında 'Bilgisayar' sözcüğü fiziksel bir yapıdan çok 'veri işleme yeteneği olan herhangi bir yapı' anlamındadır. Bu yapı, elektrikle çalışmak zorunda da değildir. Örneğin, Dünyamız canlılığındaki veri işlemleme organının temel ögesi olan 'nöron hücresi' ve bundan oluşan canlı beyni elektrik akımı ile çalışmamaktadır, ancak bu tür veri işlemleme Bilgisayar Biliminin ilgi alanına fazlasıyle girmektedir. Veri işleyen yapının işlemleme kurallarının sağlıklı tanımlanmış olması koşulu ile, bu yapının varlığı yalnızca kağıt üzerinde bile olabilir.

Bilgisayar Biliminin, belirli amaçlara ulaşmak amacıyle verinin nasıl bir yordamla işlenmesi gerektiği ile ilgileniyor olması, bu kavramların sağlıklı betimlenmesine bir gereksinim doğurmaktadır. Tanımlarda yer alan:

  • Veri,
  • Belirli amaç,
  • İşlemleme kuralları,
  • İşlemleme yordamı
kavramları tanımlanmak durumundadır. Bu bakımdan tek sağlıklı tanım ortamı Mantık ve Matematiktir. Bu iki disiplin engin ve köklü yapıları ile Bilgisayar Biliminin tanım ortamını oluşturular. Mantık ve Matematik, Bilgisayar Biliminin üzerine kurulduğu temel bilimlerdir. Size Bilgisayar Biliminin ilgi alanına girecek, kolay anlayabileceğiniz, BMB birinci sınıf öğrencilerinin öğretinin ABC'si olarak öğrendikleri bir problemi örnek olarak vermek isteriz:
 

Verinin tanımı:

Elinizde ikili olarak aralarında bir sıra ilişkisi (<) tarif edilmiş olan, N adet elemandan oluşan [xi | 1 < i < N] bir sıralamalı küme olsun. Ancak bu kümedeki elemanlar rastgele bir sırada bulunuyor olsunlar.

(Örneğin bir defter dolusu karışık sözcük var elinizde, ikili sözcüklerin arasında bir sıra ilişkisi nasıl tanımlanabilir derseniz... diyelim ki 'sıra' deyince alfabetik sıralamadan söz ediyoruz)
 

Kurallar:

'değiştokuş(i,j)' olarak adlandırılan küme üzerindeki bir işlemle, yalnızca iki elemanın yerlerini değiş tokuş etmenize izin verilmekte. Yani değiştokuş(i,j) işlemi öncesinde belirli biri konumunda bulunana ve belirli bir j konumunda bulunan b ise bu işlemden sonra i konumunda bulunan b ve j konumunda bulunan a olacaktır.

(Yani bu işlemle defterdeki herhangi iki sözcüğün yerlerini değiştokuş edebilirsiniz)

Her hangi bir anda çok az sayıda (en fazlasıyle birkaç) eleman konumunu bir yere kaydetmeniz olanaklıdır.
Bu yolla kaydedilmiş eski bir kayıdın üzerine (eskisini kaybetmek koşulu ile) yeni kayıt yapmak olanaklıdır.

(Diyelim ki elinizde birkaç sözcük konumunu not alabileceğiniz kadarlık bir kağıt parçası ve bir silgi de var)
 

Amaçlarımız:

  • Yalnızca değiştokuş(i,j) ve elemanların sıra ilişkisini (<) kullandığımız öyle bir yöntem bulmak ki sonunda verilen kümedeki elemanlar tümüyle artan sıraya girmiş olsun. Matematiksel deyişle: Bütün i,j ler için xi < xise  i < j  dir.
    (Yani, amaç defterdeki bütün sözcükleri, ikili değiştokuşlarla, artan sıraya sokmak)
  • Yöntemde kullanılan değiştokuş(i,j) işlemlerinin 'en az' olmasını sağlamak. Bu 'en az' değiştokuş(i,j) sayısını N cinsinden tarif etmek.

  •  
Büyük olasılıkla bazı çözümleri kafanızda oluşturdunuz bile. Çözümünüzü irdelediğinizde, verilerin en kötü sıralanışlarında bile yönteminizin en fazlası ile K adet değiştokuş(i,j)  işlemi yaparak amacı sağladığını saptadınız. İlk akla gelen çözümler çoğunlukla K=N×(N+1)/2 adet değiştokuş(i,j)  gerektirirler. Bu bağımlılığın derecesine 'mertebe' diyoruz. Yani ilk akla gelen (büyük olasılıkla sizin de bulduğunuz) çözümler N2mertebesindedir. Peki en iyi yöntem için bu 'mertebe' nedir diye merak edenler için yanıtı verelim: N×log(N). Verilmiş kurallar çerçevesinde, herhangi bir yöntemin bundan daha iyi bir başarıda olamayacağının tanıtı (ispatı) da Bilgisayar Biliminde mevcut.

Bu arada yeri gelmişken şunu da belirtelim: Bilgisayar Biliminde bu tür yöntemlere 'Algoritma' diyoruz. Merak edenler için: Algoritma sözcüğü, matematiksel olarak bazı cebir işlemlerini bir yöntem olarak betimleyen, 9 Asırın başında yaşamış Acem asıllı matematik bilgini Abu Cafer Muhammed İbn-Musa-Al-Khovarizmi'in adından gelmektedir. Al-Khovarizmi Farsça 'Harzemli' demektir.

Bilgisayar Biliminin hangi alt alanları var?


Bilgisayar Bilimin alt Alanlarının Mühendisliği ve Yazılım Mühendisliği

Bilgisayar Bilimindeki konular Teori-Pratik ekseninde çeşitli konumlara konuşlanmışlardır, bu konuşlanma bulutumsu bir özellik taşır, çok keskin bir ifade ile herhangi br konunun belirli bir Teori/Pratik konumunda olduğunu savlamak yanılgıdır. Ayrıca Bilgisayar Biliminin salt teorik uğraşlardan oluştuğu, uygulama dünyasından kendisini soyutladığı önermesi gerçeği yansıtmaz. Hep böyle olmak zorunluluğu olmamakla birlikte, gerçel dünyanın getirdiği kısıtlar ve olanaklar, Bilgisayar Bilimlerinin uğraştığı problemlere doğrudan yansır. Bu yansıma, problemleri tanımlayan kurallardaki kısıtlar/olanaklar olarak ortaya çıkar. Örneğin, sizlere örnek olarak verdiğimiz 'Sıraya koyma algoritması probleminde' belirtilmiş koşullar, piyasada sıkça bulunan bilgisayarların mimarisi gözetilerek belirlenmiştir. Başka bir mimaride (örneğin tüm verileri zaten bir biçimde sıralı tutan bir mimaride) bu problem ilginçten uzak olabilirdi.

Bilgisayar Biliminin alt alanlarının herbirisinin pratik uygulamalara yönelik bir bakış açısının egemen olduğu, bunun günün donanım teknolojisi ile el ele gittiği (ve birbirlerini etkiledikleri) kullanılabilir ürünü geliştirmeye yönelik alan bilgisinin sağlayan bir 'Mühendisliği' vardır. Örneğin 'Grafik' alt alanında bilgisayarda 3 boyutlu varlıkların nasıl modellenebileceği ve bu modeller aracılığı ile, örneğin 'gölgelemenin' veya 'hareketlendirmenin' nasıl yapılabileceğinin yöntemleri geliştirilir. Donanım teknolojisi de, bu yöntemlerin daha hızlı ve verimli çalışmasına imkan sağlayacak yeni donanımlar geliştirir.
 

Bu, günün donanım teknolojisi içinde çözüm aranması ve geliştirilmiş bir yönteme uygun donanımın imal edilmesi döngüsü anılan bilim<->teknoloji ara etkileşimine güzel bir örnektir. Öte yandan 'bilgisayar grafiğinin mühendisliği' de o anda var olan donanım teknolojisi ve grafik işlemleme yöntemleri çerçevesinde somut bir grafik yazılım ürününün nasıl kotarılabileceği ile ilgilenir. Yani, 'Mühendislik boyutunun' hedefi 'tarif edilmiş bir işi gerçekleştiren' yazılım ürünün tasarımı ve gerçekleştirilmesidir.


Bu bağlamda donanım ürünlerinin geliştirilmesine de değinmemizde yarar var. Sanılanın aksine Bilgisayar Mühendisliği bilgisayar donanımını geliştirme mühendisliği değildir. Hele hele günümüz popüler teknolojisinde söz konusu olan devre elemanlarının (Tranziztör, Birleşik devre (Yonga) teknolojisi); görüntü birimlerinin (CRT, Plazma Ekran, LCD Ekran); bellek ortamlarının (RAM, ROM, Sabit Disk, CD, vb) geliştirilmesi ilgi alanına girmez. Yukarıda belirtilmiş dolaylı bir ara etkileşim dışında, salt güncel teknoloji ortamının bilinmesi amacıyla bu konuların iyi bir izleyicisidir, Bilgisayar Mühendisi. Bu teknolojinin üretim sürecinde yer almaz. Donanım Elektronik Mühendisliğinin ilgi alanıdır. Bu iki disiplin, Bilgisayar ve Elektronik Mühendislikleri, birbirlerinin ihtiyaç ve kısıtlarını bilmek dışında bir ilişki içerisinde değildirler, buna gerek de yoktur. Pek yaygın, yanlış bir sanıyı düzeltemek amacı ile bir örnek verelim:

Boya kimyası başlı başına bir mühendisliktir. Kimya Mühendisliğinin bir alt dalıdır ve uzmanlık gerektirir. Bu disiplinin mühendisi bir boyadan beklentileri saptamak için boyanın kullanıldığı ilgi alanları konusunda sınırlı bir bilgiye sahip olacaktır. Örneğin inşaat mühendislerinin ve mimarların binaların dış yüzeylerini boyamak taleplerinin olduğunu, bu boyanın hava koşullarından doğrudan etkilenmesinden ötürü bu dış koşullara dayanıklı olarak tasarlanması gerektiğini; öte yandan bir ressamın talebinin ne olduğunu, guaj veya yağlı boyanın zamana karşı dayanıklı olarak tasarlanması gerektiğini bilecektir. Öte yandan mimar da, ressam da, o günün imkanlarında hangi boyaları kullanabileceğini, özelliklerini ve bunların arasındaki farkı bilecektir. Ancak hiç bir durumda bir Kimya Mühendisi, boya konusunda uzmanlaşmış olduğu savı ile 'resim sanatından' anladığını veya 'mimariden' anladığını iddia etmeyecektir. Bir ressam da, hayatının boya kullanımı ile geçtiğini söyleyip, boyanın kimyasına ilişkin fikir yürütmeyecektir.

Benzer biçimde bilgisayar tasarımında uzmanlaşmış Elektronik Mühendisi de, ilgi alanı bu yazıda ayrıntılı olarak açıklanmış Bilgisayar Mühendisinin konuları ile ilgilenmeyecek, hele hele 'yetkinlik' iddiasında hiç bulunmayacaktır.

Bilgisayar Mühendisliğinin ilgi alanına geri dönersek:

Bilgisayar Biliminin alt alanlarının uzmanlaşmış mühendisliği bir yazılım ürününün sağlıklı üretilmesi için yeterli olmamaktadır. Alt alan mühendisliğine ek olarak bir yazılım üretiyor olmanın sorunları ile uğraşan, üretime ve ürüne ilişkin kalite ölçütleri belirleyen, bu doğrultuda üretim yöntemleri saptayan bir 'üst' mühendisliğe gereksinim vardır. Bu gerçeği yazılım sektörü ve onun müşterileri geçen 30-40 yıl içinde (bazen çok acı olan) deneyimlerle öğrenmişlerdir. Yazılım üretmeye yönelik bu 'şemsiye' mühendisliğe 'Yazılım Mühendisliği' denmektedir. Dolayısı ile Yazılım Mühendisliğini 'Bilgisayar Bilimi teorik öğretilerinin pratik uygulamalarının mühendisliği' olarak algılamak yanlıştır. Yazılım Mühendisliği bu değildir.

Yazılım Mühendisliği, eldeki kaynak kısıtlarını gözeterek, yüksek kalitede yazılım üretmenin gerekleri olan sağlıklı mühendislik usullerinin ve iyi yönetim pratiğinin oluşturulması ve bunların uygulanmasıdır. Yazılım kalitesinin ne olduğunun somut biçimde betimlenmesi de bu disiplinin doğrudan ilgi alanındadır. Bilgisayar Mühendisliği bir yazılım üretim sürecinde gözetilmesi gereken usulleri belirler. Bu dört süreç şunlardır:
  • Sipariş sahibi ile yapılacak görüşmeler sonucunda ihtiyacın belirlenmesi.
  • Tasarımın yapılması.
  • Yazılımın yazılması.
  • Yazılım ürününün test ve bakım.
Bu dört evreyi genel hatları ile Bilgisayar Mühendisinin işlevi bakımından şöyle özetleyebiliriz:
  • Sipariş sahibi ile yapılacak görüşmeler sonucunda ihtiyacın belirlenmesi:

  • Bir olurluk-fiyat analizi ile başlayan bu süreçte müşterinin ihtiyacının ne olduğu ve bütçesinin çerçevesinde nasıl yazılım çözümleri üretilebileceği irdelenir. Bu süreç çok yoğun müşteri ile ilişki gerektirmektedir. Pek çok müşteri, bilgisayarlar konusunda en temel bilgiden bile yoksundur. Bundan ötürü Yazılım Mühendisini çok kolaylıkla yanlış noktalara yöneltir. Örneğin bir mal sevkiyatının otomasyonunda şöyle bir diyalog, çok olasıdır:
Y.M.:    Peki, bu depodan günde ortalama kaç sipariş sevk edilir?
Müşteri:    Hiç belli olmaz ki, hep değişir!
Y.M.:    En fazla kaç olur?
Müşteri:    5 de olduğu olur, bazen 500 de olur.
Y.M.:    Peki burada kaç eleman yükleme yapıyor?
Müşteri:    2.
Y.M.:    500 siparişi 2 adam nasıl yüklüyor peki?
Müşteri:    Beyim, o zaten kırk yılda bir olur, o zaman da siparişler bir iki gün gecikir haliylen!
Yazılım Mühendisi için belli ki çok kritik olan ortalama sipariş adedi bilgisini, gördüğünüz üzere, doğrudan öğrenmek olanaklı olmadı. Yazılım Mühendisi bunu yeteği ile buldu, çıkardı. Her zaman da şans böyle yaver gitmeyecektir.
Dolayısıyle bir Yazılım Mühendisinin:
    1. zeki olması,
    2. sosyal iletişim yeteneğinin çok yüksek olması,
    3. titiz olması
gerekir. Bunlardan birisindeki bir eksiklik sonradan gecikmeler, milyarlık zararlar, davalar, kötü ün olarak geri döner. Yeri gelmişken şunu da belirtelim:
Genel kanının aksine Yazılım Mühendisi gününü (gecesini) bilgisayar karşısında geçiren, çoğunlukla karikatürize edildiği üzere sosyal iletişim özürlüsü, garip bir dille konuştuğu için ne dediği bir türlü anlaşılamayan bir kişi hiç değildir.
Bu durumdaki kişi yukarıda anılan nedenlerden ötürü kaybetmeye mahkumdur, genel profil de hiç böyle değildir zaten. Bu bakımlardan Yazılım Mühendisliğinin pek benzeri Endüstri Mühendisliğidir. Hatta denebilir ki Yazılım Mühendisinin iletişimde olması gerekebileceği kesim bir Endüstri Mühendisininkinden daha yaygındır ve muhatap olacağı müşterinin kendi terimlerine (Yazılım Mühendisinin) vakıf olması ise daha az olasılıktadır.

Bu aşamanın sonunda üretilen karşılıklı bağıtlanan (üzerinde anlaşmaya varılıp imzalan) ihtiyaca cevap verecek ürünün (yapacakları ve yapmayacakları ile) tarif edildiği bir dökümandır.

  • Tasarımın yapılması:

  • Bu aşama mühendisliğin teknik (ve anlaşılmaz) boyutunun devreye girdiği aşamadır. Gerekli bilgileri müşteriden almış olan Yazılım Mühendisi (olasılık ekibi ile) kapanıp talep edilen ve üzerinde anlaşılmış sistemin tasarımını yapacaktır. Nasıl İnşaat Mühendisliğinin proje çizim yöntemi, Elektronik Mühendisliğinin elektronik devre çizim yöntemi, Makina Mühendisliğinin teknik resim çizim yöntemi varsa Bilgisayar Mühendisliğinin de kendine özgü bir tasarımı belgeleme (denotation) yöntemi vardır. Ve nasıl Bir Makina Mühendisi elektronik devre şemasından birşey anlamaz ise diğer tüm mühendislikler de Bilgisayar Mühendisliğinin bu belge ve çizimlerinden birşey anlamaz. Bu belgelerde işin hangi işlevsel modüllere, nasıl bölüneceği, modüllerin birbirleri ile ilişkileri, veri depoları, veri akışları, veri dönüşümleri, veri türleri gösterilir. Nasıl üç odalı, bir mutfaklı ve iki tuvaletli bir daireyi iki İnşaat Mühendisinin (veya Mimarın) farklı farklı tasarlaması olanaklı ise yazılımın tasarımı da farklı farklı ve buna bağlı olarak da başarılı/başarısız olabilir. Teknik deneyim ve ustalığın kendisini göstereceği en önemli aşamalardan birisidir tasarım. Bu tasarım evresinde de kimse sipariş edilen yazılımı 'yazmak' (biz buna kodlamak diyoruz) amacı ile bilgisayar başına oturmayacaktır. Bu, daha planı yapmadan inşaata girişmeye benzerdi ve aynen böyle bir inşaat nasıl çökmeye mahkum ise, tasarım evresi profesyonel usullere uygun yapılmamış bir yazılım da feci biçimde çökmeye mahkumdur.
    Bu evrede, günümüzde artan biçimde, Yazılım Mühendisleri bu tasarımları belgelemek için özel bilgisayar prgramlarından yararlanmaktadırlar. Piyasada bulunan Yazılım Mühendisliği paketleri Yazılım Mühendisinin tasarımını yapması ve belgelemesinde yardımcı araç görevi yapmaktadır. Aynen bir Elektronik Mühendisinin yarattığı devreyi çizmesine yardımcı olan devre çizim programları veya bir İnşaat Mühendisinin bina planının çizdiği halk arasında Autocad programı olarak bilinen programlardır bunlar. Gerçekte Bilgisayar Mühendisi (diğer mühendisliklerde de olduğu üzere) bu programlar olmaksızın da tasarımını yapabilir.
    Tasarım evresinin sonunda üretilen bir 'Tasarım Dökümanı' dır. Ve belirtildiği üzere ancak ancak konunun profesyonellerince anlaşılabilecek özelliktedir.
     
  • Yazılımın yazılması:

  • Sıkı durun, beklentinizin aksine olduğunu tahmin ettiğimiz, çarpıcı bir gerçek geliyor:
     
      Gerçek profesyonellikte yazılımın fiilen yazılması Yazılım Mühendislerince yapılmaz.


    Bu aynen planı çizilmiş bir inşaatın İnşaat Mühendislerince harç karılarak, kalıp çakılarak, kazma kürekle inşaa edilmesine, veya tasarımı yapılıp şeması çizilmiş yeni televizyonun üretim hattında bir Elektronik Mühendisinin lehim yapmasına benzer. Bu aşama aslında 'programcı' olarak adlandırılan, kendi başına tasarım yapacak bilgisi olmayan ancak yapılmış bir tasarım dökümanına bakarak yazılımı yazabilecek elemanlarca gerçekleştirilir. Bu 'programcıların' 'kodlamaları' da aynen bir inşaat sahasındaki şantiye mühendisinin inşaatın yapılmasını her aşamada denetim altında tutması gibi bir Yazılım Mühendisi tarafında sıkı biçimde denetlenir. Hatasızlığı kontrol edilir. Yeri gelmişken bir gerçeğin altını çizip, genel bir yanlış kanıyı düzeltelim:
     

      Yazılım Mühendisliği yoğun bilgisayar kullanımı gerektiren, kişinin hayatını program yazarak geçirdiği bir meslek değildir.


    Ülkemizdeki durum:
    Ülkemiz yazılım üretimi konusunda ne yazık ki daha tam profesyonelleşememiştir. Eksiklik, gerekli kadroların ve iş gücünün oluşmasıdadır. Yazılım Mühendisi sayımızda azlık olduğu gibi, bu disiplinin ara elemanı durumunda olan 'programcı' sayısı ihtiyacın çok çok altındadır. Pek az üniversitede 2 yıllık 'programcılık' eğitimi verilmektedir. Kaldı ki 'programcılık' üniversite çatısı altında olmaktan çok 'meslek yüksek okulu' çatısı altında yer alması gereken bir meslek eğitimidir. (Profesyonel) 'programcı' boşluğu ne yazık ki ülkemizin bir gerçeği olarak iki kaynaktan doldurulmaktadır:

    1. Kendini hasbel kader programcılık alanında (kısmen) yetiştirmiş, halk deyimi ile 'alaylı' farklı disiplerin insanları. Bu kişiler genellikle ufak programlar yazmışlar, hatta bir denetim mekanizması da olmadığından bunları satabilmişlerdir de. Bununla edindikleri öz güven kendilerine 'kendinden menkul' programcı sıfatı yakıştırmalarına neden olmuştur. Bu kategorideki kişiler evvelki bölümde anlatılan 'tasarım dökümanlarını' çözümlemek konusunda eğitim almamışlardır. Ayrıca, yılların deneyimi ile elde edilmiş, yazılım 'kodlama' nın kurallarından da pek haberli değildirler. Her boyutta 'alaylı' iş görürler.

    2.  
    3. Diğer grup, ne yazık ki Yazılım Mühendislerinin kendileridir. (1) gruptan kişilerle acı deneyimler yaşamış ihtiyaç sahiplerinden imkanı olanları (büyük yazılım şirketleri, parasal kısıtı az olan bankalar, holdingler,&hellip;) Yazılım Mühendislerine dönüp, 'kodlama' evresinin de onların tarafından gerçekleştirilmesini istemektedirler. Bu durum belki Yazılım Mühendisinin piyasa ederini ülkemizde artırmakta ancak öte yandan onların (yüksek ücretler karşılığında) yeteneklerine göre düşük kalitede bir iş yapmalarına ve sıkıntı duymalarına neden olmaktadır. Bu, ülkemiz Yazılım Mühendisleri arasında yaygın bir yakınma konusudur. Patlayan bilgisayarlaşma talebinin bir sonucu olarak önümüzdeki on yıl içerisinde ülkemizde bu sorunun çözülmesi ve dengelerin daha sağlıklı olarak oluşması beklenmektedir.
  • Yazılım ürününün test ve bakım:

  • Bir yazılım üretim süreci çeşitli aşamalarda test evreleri içerir. Bu gerek 'kodlanan' modüllerin işlevlerini yerine getirip getirmedikleri, gerekse de tasarım parametrelerinin uç değerlerindeki tavırları ve dayanıklılıklarına ilişkindir. Ayrıca birleşince tüm yazılım sistemini oluşturacak olan bu modüllerin birleştirilme işlemi de hatalar içerebilmektedir. Dolayısıyle tüm sistem bütensellik bakımından da testlere tabi tutulur. Bütün bu test işlemleri deneyim,ciddiyet ve tititzlik gerektirir. Bu evrede Yazılım Mühendisleri ve deneyimli 'programcılardan' oluşmuş olan bir ekip yer alır. Bu ekibin 'yazılımı kodlayan' ekipten tümüyle farklı olması ve yalnızca 'ihtiyacın tarif edildiği' dökümanı ve 'tasarım dökümanını' kriter olarak alması esastır. Bu aşama üretilen yazılımın test edilmesi amacı ile bilgisayar başında geçen bir evredir.
    Bakım, ürünün tesliminden ve kabulünün yapılmasında sonraki zaman dilimlerinde keşfedilecek yazılım bozukluklarının (hep hiç olmaması dilenir, ancak hiç bir zaman hata sıfır olmaz) onarılması ve/veya gereksinimlerdeki değişim veya ek gereksinimlerin doğması dolayısıyle yazılımda yapılacak değişiklikleri içerir. Bu aşama da Yazılım Mühendisinin denetimindedir.

Bilgisayar Mühendisi için iş imkanları nedir, kaç para kazanır?

Yurtiçinde:

  • Şirketlerin bilgi-işlem birimleri:

  • Çeşitli bankalar, holdingler, büyük ölçekli sanayii kuruluşları kendi faaliyetleri ile ilgili bilgisayar(laşma) etkinliklerini kendi çatıları altında gerçekleştirmekteler. Buralardaki etkinlikler çoğunlukla çeşitli tecimsel (ticari) işlerin ve işlevlerin otomasyonu olmaktadır. Veritabanı uygulamaları (stok, süreç denetimi, muhasebe, vb.), ağ eksenli uygulama geliştirilmesi, ofis otomasyonu, WEB esaslı e-tecim, etkinliklerin büyük kısmını oluşturmaktadır.

    Bilgisayar Mühendislerine en yüksek ücret bu şirketlerin bünyesinde ödenmektedir. Bulunulan şehre göre değişmekle birlikte yaklaşık 1000-1200 USD ile başlayan başlangıç ücreti bir yıllık başarılı bir çalışma sonucunda 2000 USD'a tırmanmaktadır. Piyasa 4-5 yıllık bir deneyimin alacağı ücret 2500 USD üzeri olmaktadır.
     

  • Yazılımevleri:

  • Ülkemizde artan sayıda, çeşitli ölçekte, yazılım üreten şirket açılmaktadır. Bunlara yazılımevi diyoruz. Bu yazılımevleri kendi stratejilerine uygun olarak yatay veya dikey pazara yönelik ürün üretmektedirler. Yatay pazarda bir yazılımın değişikliğe uğratılmadan birden fazla farklı müşteriye satılabilmesi amaçlanmaktadır, yani bir tür 'konfeksiyon' üretim söz konusudur. Düşey pazarda ise amaç belirli bir müşteriye (veya dar bir kesime) yönelik yazılım üretmektir. Ufak yazılımevleri genellikle düşey pazardan pay almak istemektedirler. Son yıllarda bu tür yazılımevlerinin sayısı yazılım gereksinimlerine koşut olarak artmaktadır. Bu yönde devlet teşvikleri ve banka kredi destekleri de vardır. Çoğunlukla mezuniyetinin ertesinde bir yazılım kuruluşunda çalışan Bilgisayar Mühendisinin, belirli bir alanda 'alan bilgisi' ve ilişkilerini oluşturup, bulunduğu kurumdan ayrılıp, bir iki ortaklı yazılımevi şirketi kurması ve söz konusu dikey pazara yazılım üretmesi en yaygın gerçekleşme türüdür. Bu tür yazılımevleri ilk bir iki yıl finansal yönden zorlanmakta, ancak ilk birkaç ürünlerinin satılamasını izleyen zaman diliminde (bu ürünün başarısı oranında) piyasada tutunabilmektedirler.

    Yazılımevlerindeki Bilgisayar Mühendisi çalışanların aylıkları bir önceki başlıkta anılandan daha azdır. Bazı yazılımevleri ürün satışı üzerinden ortaklık önermekte ve rakamı daha da düşük bir düzeye çekmektedir. Buralarda geliştirilen yazılımın 'çekiciliği' ne yazık ki, Bilgisayar Mühendisinin ücretine (-) bir faktör olarak etkimektedir.

  • Savunma sanayii:

  • ASELSAN, HAVELSAN, STM gibi bir grup, sayıları çok kısıtlı olan, devlet ortaklı şirket, iyi bir alıcı olan savunma sektörüne yazılım üretmektedirler. Ülkemizde çok az bulunan AR-GE içeren yazılım etkinliklerinin önemli bir kısımı da bu çatılar altında gerçekleşmektedir. Daha çok Ankarada konuşlanmış bu şirketlerdeki üçret politikası, ilk maddede belirtilmiş boyutta olmamakla birlikte yine de tatmin edicidir. Genellikle işe koşut Yüksek Lisans eğitimine izin verirler (uzun süreli ortandan kaybolmamanız koşulu ile). Zaman kaynağınızda bir sıkışma doğması durumunda, sizden beklenilen, iş yerine öncelik tanımanızdır. Yani bu eğitiminizin işi aksatmasına izin verilmez.

    Ücretler genellikle 1000USD civarında başlar ancak zaman içinde çok fazla da tırmanmaz.

  • Akademik yaşam:

  • Öğrenimin lisans sonrası eğitim (master, doktora dercelerine yönelik) sürdürmek kararında olan lisans mezunları için bir alternatif de 'üniversitede asistan olarak kalmaktır'. Bu eski deyim 80 li yıllarda Araştırma Görevliliği olarak yeniden adlandırılmıştır. ODTÜ Bilgisayar Mühendisliği Bölümünde her yıl 8-10 araştırma görevlisi göreve başlamaktadır. İyi bir not ortalaması ve bilgi düzeyi, akademik çalışma yönünde motivasyon bu yolu seçmenin ön koşuludur. Araştırma görevlileri, görevlerinin bir parçası olarak bir yandan sınıf karşısında bilgi aktarma imkanı bulmakta ve eğitmenliğin tadına varmakta diğer yandan ise bilimsel araştırmanın nasıl yapıldığını öğrenmekte, bilime katkıda bulunabilmektedirler. Yayınlanan bir bilimsel çalışmanın kapağında kişinin kendi adını görme olanağı yalnızca bu yaşamı seçmekle gerçek olabilir.
Ne yazık ki devlet üniversitelerinde verilen ücretler memur ücreti olup, her disiplin için aynıdır. Bazen dalgalanma göstermekle birlikte araştırma görevlisinin alacağı maaş 400 USD dolaylarındadır. Buna karşın kendisinden beklenen iş yükü özel sektördekinin yarısı gibidir. Bazı projeler çerçevesinde yapılabilecek eş işler aracılığı ile bu rakamın yükseltilmesi de olanaklıdır. Ayrıca, akademik ortamda kişiye tanınan özgürlük verilen görevlerin aksamaması sınırlarına kadar genişlemektedir. Özel sektörde durum bunun tam aksidir. İş saatleri, giyim-kuşam, iş ortamındaki kişisel özgürlükler çok daha kısıtlanmıştır.

Yurtdışında:

Türkiyedeki olgular büyük ölçekli olarak yurtdışı için de geçerlidir. Ancak herşey daha büyük boyutlarda gerçekleşmektedir. Ar-Ge etkinlikleri Türkiyeden daha yoğundur. Ancak, unutmamak gerekir ki, yurtdışındaki üniversitelerde araştırma, ülkemize göre çok daha fazla ticarileşmiştir. Üniversiteler özel sektöre ciddi paralar karşılığında araştırma ve geliştirmeler yapmaktadırlar. Yani şirket içinde 'bilimsel' etkinlik, yurtdışı normlarına göre, yine azdır. Kendi içlerinde Ar-Ge birimi oluşturup burada ciddi araştırma yapmak ancak 'dev' diye adlandırılacak bazı kuruluşlar için sözkonusudur (Kodak, AT&T, IBM, Microsoft gibi). Yine de buralarda iş bulmak olanaklıdır. Yazılım geliştirme sektöründe ise, bölümümüz mezunu her zaman iş bulabilmektedir.

ABD standartlarında, ODTÜ BMB mezunu bir bilgisayar mühendisinin (iş ayırımı gözetmemesi koşulu ile) kazanacağı yıllık (brüt) 60000-75000 USD dır. Bunun net getirisi %70 dolaylarındadır. Yaşam için harcanacak kısmı ise en az 25000-30000 USD mertebesindedir. Bu değer bazı büyük kentlerde alınan ücretin tümü düzeyine de erişebilmektedir.

 


Türk bilgisayar mühendisleri ne zaman yerli bilgisayar yapacak?

Bu soru bir eksikliğin ifadesi ile sorulmakta ise bu tümüyle yanlış bir yaklaşım. Türkiye Kuzey Denizinde petrol de aramıyor, Palmiye yağı üreticisi de değil, Çikita muz ve kahve de yetiştirmemekte, ancak bunları yoğun biçimde tüketmekte. Günümüz açık pazar ekonomisine dayalı Dünya düzeninde her ülkenin her ihtiyacını kendisinin gidermesi olanaklı değildir. Ülkemiz ileri bir sanayi ülkesi olacaksa bunu hangi doğrultuda gerçekleştireceğini belirlemiş durumda. Ülkemiz, beyaz eşyada, belirli türden elektronik kontrol cihazlarında (örneğin telefon santralları), ileri teknolojiye dayalı inşaat sektöründe, tekstil alanında, uluslararası konaklama organizasyonlarında (ki bir alt kümesi turizmdir), Motorlu taşıt üretiminde Dünya çapında gelişmeyi seçmiş durumda. Tercihini bilgisayar üretimi doğrultusunda yapmamış olmasının yatırım sermayesi, zamanlama, karlılık gibi karmaşık nedenleri vardır. Büyük olasılıkla ileride de bu yönde bir tercih olmayacaktır. Anlaşılması gereken bu tercihin nedeninin 'teknik bilgi eksikliğinden' kaynaklanmadığı, tamamen ticaret dünyasının kendine özgü kurallarından kaynaklandığıdır. Ülkemiz, bu teknolojileri gerekirse üretebilecek bilgi düzeyini çeşitli kurumları aracılığı ile sağlamakta ve bu bilgiyi de güncel tutmaktadır. Bir örnek vermek gerekirse ASELSAN'ın ve üniversitelerimizin bilgi birikimi bu sektörde üretim yapmaya yeterdir. Yapmayışının nedeni ticaridir. Yani yukarıdaki sorunun yanıtı şudur:
Türk ticaret dünyası tamamen ticari çıkarlarla bilgisayar ithalini değil, üretimini karlı gördüklerinde.


Bilgisayarlar birgün insanların yerini alacak mı?

Bilgisayarların şu andaki yapıları ile bu zor gözüküyor. Veri işlemleme yeteneğine sahip tek yapı masalarımızın üzerinde oturan teknoloji değildir. Başka fiziksel yapıların da bu yeteneğinin olduğunu biliyoruz. Bu yapılar günümüz teknolojisinde somutlaştırılan 'Von-Neuman' yapısında değillerdir. Ancak insanlığın ihtiyacı daha bu doğrultuda olmadığından ve günümüz bilgisayarlarının pek çok eksiği giderebiliyor olmasında ötürü 'Von-Neuman' dışı yeni teknolojilere yatırım yapılmamakta. İlerleyen zamanda bu doğrultuda yatırım yapılmasına koşut olarak sorunun cevabı olumluya dönebilecektir. Bölümüzdeki çeşitli dersler kapsamında bu alternatifler ele alınmakta, buna ek olarak Yapay Zeka kavramından da ne anlaşılması gerektiği irdelenmektedir.

 


Bilgisayarlara ilgim yok ama ÖSYM puanım çok yüksek, çevrem Bilgisayar Mühendisi olmam için baskı yapıyor, nasıl karar vermem gerektiğini bilmiyorum.


Başarılı öğrencilerin en güncel ilgi alanlarında meslek sahibi olmaya teşvik edilmeleri (hatta bir anlamda zorlanmaları) oldukça eski bir sorun. Ülkemizde çeşitli zaman dilimlerinde çeşitli meslekler 'revaçta' oldu:

Elektrik Mühendisliği, İnşaat Mühendisliği, Tıp, Endüstri Mühendisliği şimdi de Bilgisayar Mühendisliği... Bu akımı biçimleyen, şüphesiz ki Dünyadaki ve onun özelinde Türkiyedeki 'gereksinim'. Geçmiş deneyim, sanırız şu biçimde özetlenebilir:

Yukarıda Bilgisayar Mühendisliğini gerçek boyutları ile tanıtan yazıyı okuyup özümsedikten sonra:

  • Eğer birden fazla mesleğe eşit mesafede iseniz ve Bilgisayar Mühendisliği bunlardan birisi ise bu disipline geldiğinizde hayal kırıklığına pek uğramayacaksınızdır. Sağladığınız yaşam kalitesi, sürekli gelişen bir teknolojinin içinde saygın bir meslek sahibi olmak sizi mutlu edecektir.
  • Eğer başka bir meslek (özellikle Sosyal Bilimlerde veya Fen bilimlerinde) sizi çok daha fazla cezbediyorsa, bu durumda ciddi bir probleminiz var demektir. Önce ilgilendiğiniz meslek alanı hakkında gerçek ve sağlıklı bilgi edinmeyi amaç edininiz. O disiplinin kişileri ile konuşunuz, yukarıdakine benzer ayrıntıda bilgiyi edinmeye çalışınız. Size 'gerçek bilgi' aktaran kişiler dışında herkese (evet gerekirse en yakın çevrenize bile) 'kulaklarınızı tıkamanızı' öneririz. Siz, yeteri kadar bilgilendikten sonra kendi kararınızı kendi başınıza ve herkesten sağlıklı verebilecek zekaya sahipsiniz, başarılarınızla bunu kanıtladınız. Önerimiz, tamamen bilgilendikten sonra, kendi kararınızı gönlünüzün olduğu doğrultuda vermenizdir. Bu yaşamı herkesin yalnız bir kere yaşadığını unutmayınız.

Bilgisayar Mühendisinin ne yaptığını çok iyi biliyorum. Hayatta edinmek istediğim yegane meslek. Ancak ÖSYM başarım düşük, ne yapmalıyım?


Cevabımız hiç duraksamadan şu olacaktır: Ne yapın edin bu öğrenimi yapın. Ülkemizde en yüksek puandan başlayan ve daha mazbut puanlara doğru uzanan bir dizi Bilgisayar Mühendisliği Bölümü var. Şüphesiz, sizin gibi çok istekli ve bilinçli bir bireyi aramızda görmek isteriz. Ancak puanınız bu bölüme yetmiyor ise bu dünyanın sonu değil. Eğer bu mesleği belirttiğiniz kadar çok edinmek istiyorsanız en kötü Bilgisayar Mühendisliği eğitimi başka bir dalı okumak durumunda kalmaktan yeğdir. Dört yıl boyunca (ve ondan sonra) kendinizi eğitmek elinizde. Nasıl olsa zamanınızı vermeniz gereken konularla, bilgi edinmek istediğiniz konular aynı, gerisi size kalmış durumda.

Yapmamanız gereken en önemli şey, başka bir disipline gidip bir yandan da kendinizi Bilgisayar Mühendisliği konusunda eğitebileceğinizi sanmanız. Ne kadar iradeli de olsanız buna zaman bulamayacaksınız. Ayrıca size temel teşkil edecek bir bilgi de almıyor olacaksınız. Bu hata, pek çok kişi tarafından yapılmaktadır. Deneyimimiz, bu usulle başarıya ulaşabilen insan sayısının ihmal edilebilecek kadar az olduğudur. Ayrıca bu durumda elinizde diploma olmayacak ve hep 'alaylı' muamelesi göreceksiniz.

 



 

Oyun programlarına hayranım, ben de öyle programlar yazmak istiyorum, Bilgisayar Mühendisliği okusam bu programların nasıl yazılacağını öğrenir miyim?


Bu soru

'Kilitlere' veya 'konserve açacaklarına' hayranım, makina mühendisliği okursam bunların nasıl yapıldığını öğrenir miyim?
ssorusuna benziyor. Yanıt hem evet hem hayır. Nasıl Makina Mühendisliğinde 'Konserve Açacakları' bir ders veya konu başlığı değilse, Bilgisayar Mühendisliğinde de 'Oyun Programları' diye bir konu başlığı yoktur. Ancak çok daha genel bilgileri ve yazılım yöntemlerini öğrenmiş olan Bilgisayar Mühendisi için bu özel konu, pek de zorlanmadan üretkenlikte bulunabileceği bir konudur. Yani yanıt 'Evet, oyun programı yazabilecek bir düzeye gelirsiniz' ancak geldiğiniz düzeyde 'oyun programı' yazmakla mutlu olur musunuz, bu bizim yanıtlayamayacağımız bir soru.

 


Program nedir? / Ben de program yazabilir miyim? / Bilgisayar Mühendisliğinde program yazılması mı öğretiliyor?


Öncelikle yukarıdaki I. grup sorulara yanıt amacı taşıyan yazıyı okuyunuz.

Program, bilgisayarda belirli bir amacı gerçekleştirmek için geliştirilmiş (geliştirdiğiniz) yöntemlerin ve verilerin, Bilgisayarın donanımının yerine getirebileceği, uygulayabileceği bir biçimdeki ifadesidir. Programlar, bir 'Bilgisayar Programlama Dili' kullanılarak yazılır. Günümüzde yüzlerce, böyle programlama dili vardır. Aynen insanların kullandığı dillerdeki gibi, bu dillerin bazılarında bir eylemi tarif etmek diğer bazı dillere kıyasla kolay veya zordur.

Evet, siz de program yazabilirsiniz. Önce bilgisayarlar için söz konusu olacak yöntemleri öğrenmeniz, sonra amacınıza en rahat gerçekleştirebileceğiniz bir bilgisayar dilinin yazım kurallarını ve nasıl çalıştığını öğrenmeniz gerekecektir. Bunun için piyasada pek çok kitap bulunmaktadır.

Yukarıdaki yazıda da belirtildiği üzere Bilgisayar Mühendisliği eğitiminde pek çok şey öğretiliyor. Bunu Bölümümüz Curriculum (Müfredat) listesinden de gözlemleyebilirsiniz. Bu öğretilenlerin arasında program yazmakla ilintili pek çok ders bölümü bulunmakta. Ancak Bilgisayar Mühendisliği Bölümünü, 'Program yazılmasının öğretildiği yer' olarak algılamak bir yanılgı olur. Eğitim boyutumuzda gerçekleştirdiklerimizden yalnızca bir tanesi budur.

 


Bilgisayar Mühendiliğinde bilgisayar donanımı öğretilmiyor mu?


Öğretiliyor. Bir dizi zorunlu derste (dört ders), en temel yapı öğeleri olan tranzistörler, dirençler ve kapasitelerden başlanarak, sırasıyle mantık devreleri, bunlarla inşa edilen hesap ve işlemleme devreleri, en sonunda da mikro-işlemci (Microprocessor, CPU) dediğimiz ve bilgisayarın çekirdek işlevlerini gerçekleştiren (günümüzde 100 Milyonlarca yapı öğesini barındıran) yapı, öğrencilerimize hem teorik hem uygulamalı ortamlarda öğretilmekte. Ancak genel çerçevede, bu eğitim, donanımı imal etmeye yönelik bir eğitim olmayıp, daha çok kullanılan alt yapının ne olduğunu detayları ile vermeye yönelik bir eğitimdir.

 


Bilgisayarımda XXX çalışmıyordu, tanışım bir bilgisayar mühendisinden yardım istedim, çalıştıramadı, başka birisi ise geldi, birşeyler yaptı, sorun çözüldü. Nasıl bilgisayar mühendisi bu?

Bilgisayar Mühendisliği öğretim üyesi/öğrencisi/mezunu olarak, bu, çok karşılaştığımız bir durum. Windows gibi işletim sistemleri 'müdahaleye kapalı' olarak tasarlanmışlardır. Bu, bir otomobilin çeşitli bölümlerinin erişilemez, açılamaz olarak imal edilmesine benzemektedir. Böyle bir işletim sisteminde, doğan sorunu gidermek yönünde sistematik metotlar çaresiz kalmaktadır. 'Resmin' hemen hiç görülemediği bu durumlarda çözüm bilgiden ziyade, böyle bir durumla daha önce karşılaşılıp karşılaşılmadığı ve bu durumda körlemesine yapılan, işe yaraması/yaramaması durumunda nedenin bilinemediği müdahalelerin ne olduğunu anımsamak yolu ile bulunmaktadır. Bu durumda ise bilgisayar mühendisliği mensubunun bir üstünlüğü yoktur. Hatta, bu bağlamda dezavantajlı olduğu bile söylenebilir. O, zamanını körlemesine denemeler yapıp sonuçlarını gözlemlemekten ziyade, sistematik, bilimsel bilgileri edinmek ve özümsemek ile geçirmektedir.

Böyle durumlarda, başvurduğunuz kişiye XXX sorunları konusunda deneyim sahibi olup olmadığını sormanızı öneririz

 


ODTÜ Elektrik ve Elektronik Mühendisliğinin Bilgisayar branşı var. Öğrenimimi orada yaparsam hem Elektronik Mühendisi hem Bilgisayar Mühendisi olmuş olacağımı söylüyorlar, doğru mu?

Bu kadar mesnetsiz ve gerçek dışı bir söyleme tepki duymamak elde değilse de, bilim adamı kişiliğimizden ötürü salt somut gerçekleri ortaya koyacağız ve yargıyı size bırakacağız.

ODTÜ Elektrik ve Elektronik Bölümü Bilgisayar branşından mezun olmak için öğrenci üç yıl boyunca Elektrik ve Elektronik Mühendisliği bölümünün açtığı aşağıdaki dersleri almak zorundadır:
 
 
  EE 100 Introduction to Electrical Engineering
  EE 201 Circuit Theory I
  EE 213 Electrical Circuit Laboratory
  EE 202 Circuit Theory II
  EE 212 Semiconductor Devices and Modeling
  EE 214 Electronics Circuit Laboratory
  EE 224 Electromagnetic Theory
  EE 230 Probability and Random Variables
  EE 301 Signals and System
  EE 303 Electromagnetic Waves
  EE 311 Analog Electronics
  EE 313 Analog Electronics Laboratory
  EE 361 Electromechanical Energy  Conversion I
  EE 302 Feedback System
* EE 312 Digital Electronics
* EE 314 Digital Electronics Laboratory
* EE348 Introduction to Logic Design
  EE348 Electromechanical Energy Conversion II
  EE 306 <veya> EE 374 Signal & Systems <veya> Electrical Equipipment and Applications

Bu üç yıl boyunca alınan bölüm derslerinin yalnızca (*) ile işaretli olan üç tanesi Bilgisayar Mühendisliği eğitimi bakımından anlamlıdır. Bu üç yıl içinde bu üç derse ek olarak olarak, öğrenci bir de Bilgisayar Mühendisliği Bölümünden bir ders alır:
 
* CENG 230 Introduction to Computers and 
C Programming

Bu ders, basitliğinden ötürü Bilgisayar Mühendisliği ögrencilerine kapalıdır.

4. Yılda (son yıl)  ODTÜ Elektrik ve Elektronik Bölümü Lisans programında branşlaşma başlar:

  • Communications Area
  • Computers Area
  • Control Area
  • Microwaves and Antennas Area
  • Energy Area
Her branş için öğrenci  branşına göre 3 ila 4 zorunlu ders ve  branşına göre 3  ila 4 seçmeli ders almak durumundadır.
Şimdi Bilgisayar Branşı için olan duruma bakalım:

Zorunlu dört ders:
* EE 441 Data Structures
* EE 445 Computer Architecture I
* EE 446 Computer Architecture II
* EE 447 Introduction to Microprocessors

Ve şu aşağıdakilerden öğrencinin keyfine göre seçeceği üç ders:
 
  EE 402 Discrete Time Systems
  EE 404 Nonlinear Control Systems
  EE 407 Process Control
  EE 408 Process Instrumentation and Contro
  EE 412 Nonlinear Electronics for Communications
  EE 415 Introduction to Medical Imaging
  EE 416 Fundamentals of Biomedical Engineering
× EE 430 Digital Signal Processing
  EE 435 Telecommunications I 
  EE 436 Telecommunications II
* EE 442 Operating Systems
* EE 443 Computational Methods in Electrical Engineering
* EE 444 Introduction to Computer Networks
  EE 463 Static Power Conversion I
  EE 464 Static Power Conversion II

Bunlardan  (*) ile işaretli olanlar Bilgisayar Mühendisliği ile ilintili  (×) ile işaretli olan ise zayıf ilintilidir. İşaretsiz olanların Bilgisayar Mühendisliği ile hiç bir alakaları yoktur.

Zorunlu derslere bakıldığında görünen Bilgisayar Mühendisliği eğitiminin 'Donanım' a ilişkin verdiği derslerin sağlıklı biçimde kapsandığı diğer derslerinin çok ufak bir kısmının [bir tanesinin] verildiğidir, bu dersi her iki bölümün resmi katalog tanımlarına göre kıyaslayalım:

Elektrik ve Elektronik Mühendisliğinin verdiği Data Structures dersinin tanımı:

  • EE 441: Arrays, stacks, queues, linked lists, trees, hash tables, graphs: Algorithms and efficiency of access. Searching and sorting algorithms.

  • Prerequisite: CENG 230 or consent of the department
Bilgisayar Mühendisliğinin verdiği Data Structures dersinin tanımı:
  • CENG 213: Classification of Data Structures, Space and Time considerations, Linked Lists, Stacks and Queues, Tree structures, Graphs, Array and Pointer based applications, Recursive applications.

  • Prerequisite: CENG 140
EE 441 in kapsamadığı alanların yanında Algoritmalarla ilgili ek olarak kapsıyor gibi gözüken konular Bilgisayar Mühendisliğinde başlı başına bir zorunlu derstir:
  • CENG 315 (Algorithms): Selected computer algorithms: Sorting, Searching, String Processing and Graph algorithms. Algorithm design and analysis techniques. Time and Computational complexities of algorithms. Introduction to NP-completeness, parallelization of algorithms, linear and dynamic programming.

  • Prerequisite: CENG 213
Görüldüğü gibi donanım dersleri dışında Bilgisayar Mühendisliği ile ortak tek zorunlu derste de, aslında iki ders olması gereken konular tek bir derste kapsanmış durumdadır.

Son olarak bir de Bilgisayar Mühendisliğinin derslerini listeleyelim.  (??) işareti Elektrik ve Elektronik Mühendisliğinin verdiği dersler arasında benzeri bulunmayan dersleri, (?) işareti ise dersin konularının bazılarının kapsandığı bir 'yakın' dersin varlığını göstermektedir. Hiç bir işaret olmaması ise dersin eşdeğeri bir dersin varlığını göstermektedir.

ODTÜ Bilgisayar Mühendisliği Lisans programı zorunlu bölüm dersleri:
 
?? CENG 100 Computer Engineering Orientation
?? CENG 111 Introduction to Computer Engineering
? CENG 140 C Programming
? CENG 213 Data Structures
?? CENG 223 Discrete Computational Structures
  CENG 232 Logical Design
? CENG 272 Numerical Computation
?? CENG 242 Programming LAnguage Concepts
? CENG 315 Algorithms
  CENG 331 Computer Organization
?? CENG 351 Data Management  & File Structures
?? CENG 378 Computer Graphics
? CENG 334 Introduction to Operating Systems
  CENG 335 Microprocessors and Microcomputers
?? CENG 350 Software Engineering
?? CENG 380 Formal Languages and Abstract Machines
?? CENG 444 Language Processors
  CENG 435 Data Communication and Computer Networking

Bunlara ek olarak öğrenci aşağıdaki altı dersten birini almakla yükümlüdür:
 
?? CENG 352 Data Base Management Systems
?? CENG 462 Artificial Intelligence
  EE 212 Semiconductor Devices and Modeling
  EE 282 Introduction to Digital Electronics
  EE 301 Signals and Systems I
  EE 312 Digital Electronics

Bunlara da ek olarak, Bilgisayar Mühendisliğı Lisans öğrencisi beş tane de seçmeli (teknik konuda) ders almak durumundadır ki bunlar da bölüm derslerinden olabilmektedir.

Böylece Bilgisayar Mühendisliği Lisans eğitiminin

  • zorunlu derslerinden 9/18 nin Elektrik ve Elektronik Mühendisliğinde benzeri bile yoktur.
  • zorunlu derslerinden 4/18 nin Elektrik ve Elektronik Mühendisliğinde zayıf benzeri vardır.
  • zorunlu derslerinden 5/18 nin Elektrik ve Elektronik Mühendisliğinde eşi vardır.
Bunun dışında öğrencinin almak durumunda olduğu altı teknik seçmeli dersin en az beşinin ve Elektrik ve Elektronik Mühendisliğinde benzerinin bile olmaması olasılığı çok yüksektir.

Görüldüğü üzere Elektrik ve Elektronik Mühendisliği öğrencisinin Bilgisayar Branşını seçmek sureti ile Bilgisayar Mühendisliğinin bilgisine yaklaşabilmesi olanaklı gözükmemektedir.

Yardımcı Siteler  
   
Takvim  
 
 
Son Dakika Haberler  
   
 
   
Rüya Tabiri  
 
manşetler

 
Bugün 4 ziyaretçi (9 klik) kişi burdaydı!
Bu web sitesi ücretsiz olarak Bedava-Sitem.com ile oluşturulmuştur. Siz de kendi web sitenizi kurmak ister misiniz?
Ücretsiz kaydol