23 Eylül 2015 Çarşamba

Elektronik Mühendisi ve Programlama

Elektronik mühendisi programlama ve yazılımla ilgilenmeli mi, yoksa bu işi bilgisayar ve yazılım mühendislerine mi bırakmalı? İsterseniz bu konuyu konuşmadan önce elektronik biliminin gelişimine bakalım.

Elektronik Biliminin Gelişimi

Bu alanda ilk gelişmeler ve elektrik biliminden ayrılmalar vakumlanmış cam tüp içinde metal levhaların bulunduğu elektron tüpünün icadıyla başladı. Daha sonra John Fleming bu tüpleri kullanarak diyot denilen lambaları bulmuş ve bunlar eski tip radyo alıcılarında kullanılmıştır. Ardından triyotlar geliştirilmiştir. Bu lambalar sayesinde elektrik sinyallerini güçlendirme ve iletme konusunda büyük adımlar atılmıştır.



Diyot ve Triyot lambaları savaş yıllarında radar ve haberleşme sahalarında sıkça kullanılmış ve savaşlardan sonra ilk bilgisayarların yapımında yine onlardan yararlanılmıştır. Ardından 1947 yılında Bell Laboratuvarlarında ilk transistör icat edilmiştir. Elektroniğin miladı sayılabilecek bu transistörler lambaların yaptığı her işi yapabiliyordu ve daha az akım tüketiyordu, daha küçük ve hafifti, daha ucuza mal ediliyordu.

Sonrasında tümleşik devrelerin icadıyla, birçok eleman içeren devreler bir çip üzerine sığdırılabiliyordu ve de seri üretimle birlikte maliyetler de düşmüştü. Artık elektronik aletler evlerde ve sanayilerde sıkça kullanılmaya başlamıştı. Bundan sonra gelişen mikroişlemci ve imalat teknolojisiyle on binlerce transistör ufacık hacme sahip çiplere yerleştirilerek hacim ve maliyette büyük düşüşler oldu. Mikroişlemcilerin piyasaya egemen olmasıyla birlikte bilgisayarlar bütün dünyada yaygınlaştı ve bilgisayar mühendisliği diye ayrı bir alan oluştu.

Mikroişlemciler sayesinde sadece belirli fonksiyonları yerine getiren sabit tasarımlı devreler yerine içindeki program ile fonksiyonları değiştirilebilen gömülü sistemler ortaya çıktı. Bunun en güzel örneklerini endüstride Programlanabilen Lojik Kontrolör’de (PLC) görebiliriz. Eskiden birçok anahtarlama elemanıyla gerçekleştirilen fonksiyonlar artık sadece içindeki yazılımın değiştirilmesi ile yapılıyordu.

Ve ardından çoğu kişinin bireysel projelerinde de kullanabildiği mikrodenetleyiciler ortaya çıktı. Mikrodenetleyicileri mikroişlemci, bellek, giriş ve çıkış birimlerini barındırmış bütünleşik sistemler olarak tanımlayabiliriz. Onları ufak birer bilgisayar olarak düşünebiliriz. PIC, ARM, Atmega ve Arduino, MSP programlama kartları mikrodenetleyicelere örnektir. Bugün arabamızda, buzdolabımızda, televizyon ve saatimizde mikrodenetleyiciler sürekli karşımıza çıkmaktadır.

Bunlarla birlikte de bugünlerde sık sık duyduğumuz ve ileride daha da fazla duyacağımız bir kavram ortaya çıktı: Internet of Things (Nesnelerin İnterneti). Bu kavramı en temel haliyle şu şekilde açıklayabiliriz: Nesnelerin çeşitli haberleşme protokolleri sayesinde birbirleriyle veya daha büyük sistemlerle haberleşip, veri alışverişi yapabildiği ağ. Akıllı ev otomasyon sistemleri bu konuda en iyi örneklerden biridir.


Ne işi var elektronik mühendisinin yazılımla?

Ne işi var elektronik mühendisinin programlamayla, yazılımla diye düşünenler oluyor. Bırakın o işi bilgisayar ve yazılım mühendisleri yapsın diyorlar. Avrupa ve Amerika örnek gösteriliyor bu konuda ve oralarda sadece alanında uzman mühendislerle çalışıldığını anlatıyorlar. Ülkemizde ise bir konuda uzmanlaşan mühendisler yerine her konuda yarım bilgisi olan mühendisler yetiştiğinden bahsediliyor. Aslında bu şekilde düşünenler bana göre kısmen haklı. Kendimizi her dalda geliştirmek yerine belli bir dalda uzman olmak daha doğru olandır. Ancak programlama elektronik mühendisliğinin bir parçasıdır. Elektronik mühendisi, bölümünün herhangi bir alt dalına yoğunlaşırken bu aşamada ihtiyaç duyduğu ve kendi işini görecek kadarıyla programlama bilgisine sahip olması gerekir. Yukarıda da görebildiğimiz gibi programlanabilen elektronik cihazlar hayatımızın her tarafını sarmış, kuşatmıştır. Bu aşamada programlamadan anlamayan elektronik mühendisinden de söz edilemez olmuştur. Burada şuna dikkat etmeliyiz. Yazılım değil programlamadan bahsediyorum.

Programlama vs Yazılım

Programlama ve yazılım çoğu yerde aynı anlama gelecek şekilde birbiri yerine kullanılmaktadır. Ancak programcı ve yazılımcı birbirinden farklı iki kişidir. Programcı kod yazmayı bilir ve bütün programı yazar. Anlamlı ürünler oluşturacak teknik beceriye sahiptir. Genellikle de yalnız çalışır. Ama yazılımcı gereksinimlerin anlaşılmasında ve ihtiyacı karşılayacak çözümler üretilmesinde sistematik bir süreç takip eder. Yazılımcı yazılımın bir bileşenini oluşturur. Bu bileşen, bir sistem oluşturabilmek için diğer yazılımcılarının yaptığı bileşenlerle birleşebilir veya bu bileşenin farklı versiyonları farklı kişiler tarafından değiştirilerek farklı projelerde kullanılabilir. Genellikle de yazılımcı bir ekibin parçası olarak çalışır.


Üniversite eğitimi sürecinde bir programlama dersine (Genellikle C) üstün körü değiniliyor. Ve de algoritma mantığı çok iyi öğretilmiyor; öğrenciler dersi geçmek için ezbere başvuruyor. Eğer gelecekte elektronik konusunda ciddi çalışmalar yapmak istiyorsanız ve özellikle bu çalışmalarınız gömülü sistemler üzerine olacaksa temel programlama mantığını, algoritma kurmayı ve programlama dili olarak en azından C’yi mümkün olduğunca iyi öğrenmeniz gerekir.



Burada programlamayla elektronik mühendisliğinin ilgisine dair kendi düşüncelerimi açıklamaya çalıştım. İnşallah sizler için faydalı bir yazı olur. Siz de bu konudaki düşüncelerinizi yorum yazarak belirtebilirsiniz.  

2 yorum:

  1. Avrupa’daki elektronik eğitiminde, öğrencilerin programlamayla çok fazla hemhal olmaması, bundan dolayı da Türkiye’deki eğitimde de herkesin kendi alanında kalması gerektiği yönündeki eleştirinin yanlışlığı bilgi eksikliğinden kaynaklanıyor. Dediğin gibi, programlama elektonikçiler için çok önemli. Artık her şey bu alana doğru kayıyor zaten, sadece mesele communication değil. Artık biomedicalde, energy technikte de programlama cok önemli. Bunları, yıllardır bu eğitimleri veren Avrupa üniversitelerinin göz ardı etmesi de mümkün değil. Örnek olarak, ETH Zürich’te, 3 senelik eğitimin ilk senesinde, Informatik 1 (C++) ve Informatik 2 (Java + Algorithmen) ögretiliyor. Bunun yanında elektronik devreler, logic gateler için ayrı bir ders de var (Digitaltechnik). 2. sene ise assembler programming ve hardware devreye giriyor ki bunlar da technische Informatik 1 ve 2 diye iki ayrı ders şeklinde veriliyor. Çok yoğun bir programlama eğitimi var, hem pratik hem de teorik manada. Bunun yanında lineer cebirle beraber Matlab, çeşitli projeler yoluyla da Labview le tanışılıyor.

    Elektronik mühendisliğine (hiç değilse mezun olmaya) aday olanların bir çoğu bu bahsettiklerinden haberdar değil, benim gibi. Bu belki de elektronik eğitimini, CEO olmak yolunda bir araç olarak görmekten de kaynaklanıyor olabilir. Gelişim aşaması olsun, bazı tanımsal bilgiler olsun (yazılım vs. programlama) hoş konular ve bilinmesi gerekenler, bu açıdan yazacaklarından istifade edeceğimi düşünüyorum.

    Onur Fişek
    IEL 14

    YanıtlaSil
    Yanıtlar
    1. Düşündüğüm ve yazdıklarıma somut örnekler vermen, bu konu hakkındaki yanlış bilgilerin kafalardan uzaklaşması ve doğru-güncel bilgilerin yer edinmesi açısından çok faydalı oldu. Mühendislik ve teknoloji alanında dünyanın en iyi üniversitelerinden biri olan ETH Zürich'teki müfredat, programlamanın elektronik mühendisliği açısından ne denli önemli olduğunu gözler önüne seriyor. Türkiye'deki elektronik mühendisliği müfredatında da pratiğe yönelik programlama konusu önemsenerek düzenlemeler yapılması gerektiğini düşünüyorum. Bunlarla birlikte yazdıklarımın faydalı olduğunu görmek beni mutlu etti. Teşekkürler

      Sil