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.
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.
YanıtlaSilElektronik 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
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