Mühendislikde iş bulma konusunda şanslı olan bölümler arasında yer alıyor. Son yıllarda teknolojinin gelişmesi ile birlikte özellikle bilgisayar mühendisliği bölümüne olan ilgi artıyor. Chevron, Gazprom, Exxon gibi şirketler bilgisayar mühendislerini yüksek maaşlardan işe alıyorlar. Bilgisayarmühendisliğinin eskisi kadar cazip olmaması, kolay iş bulunamaması, mezun olunduktan sonra işsiz kalınması, acaba mesleğin sonu mu geldi? Bukitabın amacı, “Bilgisayar Mühendisliği” kapsamına giren konulara giriş yapmak ve bireye öğretimi boyunca verilen dersler hakkında temel bilgileri/kavramları önceden kazandırmaktır. Böylece Bilgisayar Mühendisliği veya Bilimleri konusunda öğretim gören bireyler, hem meslekleri konusunda ön bilgiler ile donatilmış İŞ BULMA OLANAKLARI Günümüzde yazılım mühendisliği alanı altında binlerce açık bulunmaktadır. Dolayısıyla bu mesleğe olan ihtiyaç bir hayli fazla. Eğitimini tamamladıktan sonra gerek özel şirketlerde gerekse devlet kadrolarında kolayca iş bulunabilir. AGÜBilgisayar Mühendisliği Öğrencimiz Teknofest 2020’den 1’incilik Ödülü 30.09.2020 16:27. AGÜ Bilgisayar Mühendisliği Online Tanıtım Günleri 29.07.2020 16:30. AGÜ Bilgisayar Mühendisliği Bölüm Başkanına Tübitak Ödülü 29.12.2017 16:30. AGÜ Bilgisayar Müh. 7+1 Eğitim Modeli 29.07.2020 16:30. Fast Money. 08 Ekim 2012 1144 istanbul07 Yasaklı hayatının hatasını yapmış olursun 10 Ekim 2012 1440 sahkö teknikko Kapalı bende ygs-lys ile sakarya üni uzaktan endüstri mühendisliği eden yok mu hiç S 11 Ekim 2012 0028 mutlumesut1989 Şube Müdürü Uzaktan uzaktan mühendis olcak adam 11 Ekim 2012 0030 Şimdi onlar düşünsün Şube Müdürü uzaktan eğitimle mühendis mi olunur yav aklım almıyor bu işi 11 Ekim 2012 0149 forklift Memur örgünde okuduğumuz halde hala mühendislik eğitiminin yetersizliğinden yakınıyoduk ki uzaktan mühendislik de yapmışlar. tebrikler bravo 11 Ekim 2012 0151 sahkö teknikko Kapalı arkadaşım adamlar açmış olunuyo bok atıyosunuz hemen anlamak mümkün değil. 11 Ekim 2012 0956 m_akpinar Şef bizimselim , önce sana birkaç sorum olacak. Daha sonra endüstri mühendisliği hakkında bütün sorularına cevap verebilirim. Endüstri mühendisliğini araştırdın mı ? Niçin bu bölümü okumak istiyorsun ? 11 Ekim 2012 2217 waffenss Kapalı diferansiyel vs. matematik agırlıklı dersler var gerisi bildigin işletme ben makinacıyım arkadaşlar var imza yetkisi vs. sıkıntılı bi elektrik bi inşaat müh göre kamudaysan diyorsan maaşım artsın banko ama piyasa bitik 12 Ekim 2012 2221 deniz06_sınıf Memur ben öğretmenim,mahrumiyet bölgesinde olduğum için ben de uzaktan okumayı düşünüyorum ama iş imkanı beni düşündürüyor bu mühendisliği kimse ciddiye almıyor gibi, devlette çalışma şansım nedir sizce 13 Ekim 2012 0113 forklift Memur ben de endüstriciyim aynı zamanda işletme de okuyorum ama bildiğin işletme değil malesef ki.. maliyet analizi, genel iktisat ve bir kaç yönetim dersinden başka ortak dersimiz yok ki bu dersler de bölüm dersleri olarak geçmiyor bile 1 ve 2 de okutuluyor. matematik, olasılık, istatistik, kalite, üretim planlama, benzetim, iş etüdü vs vs ağır dersleri atanma şansını 90 puan üstü ile yakalayabilirsin. 88 le kapatan yerler de var tabi 4. atama için kontenjan açılırsa. kısacası devlette çalışmak isteyen için yazılması gereken en son bölümlerden biridir. 13 Ekim 2012 1213 bnmz Şube Müdürü kpds den 70 seviyelerinin uzerinde ingilizceniz varsa , iyi bir universitende mezunsanız buyuk ihtimal özelde guzel bir yerde yoksa bulasmayın bence, teklif edilen paralar komik oldugu gibi bi yerden sonra kabul etmem dediğiniz o paraları kabul edip işe baslıyorsunuz. O parada asgari ucretten az biraz fazla oluyo 13 Ekim 2012 1359 mutlumesut1989 Şube Müdürü İşletmeden hallice değildir kesinlikle. Kaldı ki o fakültelerden aldığınız ders sayısı 2-3 tür, zaten kendi fakültelerinden çok daha büyük başarı elde edilir o derslerde de. Bunun dışındaki dersler genelde ya bölümce ya da diğer mühendisliklerce verilir. Matematik, Fizik, Kimya, Teknik Resim, Lineer Cebir,Malzeme Bilgisi, Temel Üretim Yöntemleri, Diferansiyel Denklemler, Olasılık Teorisi, İstatistik,Mühendislik Mekaniği, Programlama vb... sayısal dersler ağırlıktadır. Simülasyon, İş ve Metot Etüdü, Yöneylem Araştırması, Üretim Planlama ve kontrolü, TZÜ, Tesis Yerleşimi, Mühendislik Ekonomisi, Karar Destek Sistemleri, Deneysel Tasarım, Veri Tabanı Yönetimi, Proje Yönetimi, Yatırım Değerlendirme, Yalın Üretim ve Uygulamaları mesleki dersleri arasındadır. Ülkemizde bilgisayar mühendisliği ile birlikte kıymeti bilinmeyen mühendisliklerdendir. KPSS için ise çok kasmak gerekir zaten yarıştığın adamlar üniversite sınavında yüksek puan almış adamlardır uzaktanı, açığı artık ne ise puanları nasıldır bilmem ki zaten çok büyük kontenjan artışı var bu yüzden kalite tüm mühendisliklerde düştü ama bu, şu aşamada etkilemez. 90 üstü almazsan kıvranırsın, 90 üstü alınca da sayılı kadrolardan seçmek zorunda kalırsın artık hangi il kurum çıkar belli olmaz çok da seçme şansın olmaz. Özelde ise durumu diğer mühendisliklere yakındır kötü de denmez iyi de. 16 Ekim 2012 1300 itülü38 Aday Memur iş bulma imkanları çok geniş bir bölüm. mağaza müdürü, bankalarda uzman yardımcısı, hastanelerde ik vb. bölümlerde uzman,her türlü fabrikada üretim planlama,satış,pazarlama gibi bölümlerde mühendis, programlamayla aranız iyiyse bilişim firmalarında mühendis programcı olarak devlet son 2 sene kpss b ile 200 civarı alım gibi yüksek lisansa başlarsanız pek iş vermiyorlar aklınızda olsun Toplam 13 mesaj AnasayfaÜniversite ve Bölüm Endeksi Daha kolay iş bulmak ve kariyerinize doğru bir başlangıç yapabilmek için hangi üniversite ve bölümü seçmelisiniz? “İşveren İlgi Endeksi” sayfasına göz atın, kariyerinizin ilk adımında doğru kararı verin. Üniversite ve Bölüm Endeksi Hangi üniversitenin hangi bölümünden mezun olan adaylar daha kolay iş buluyor? Birden fazla üniversite seçerek karşılaştırabilirsin Üniversite Seçin arrow_drop_down Bölüm Seçin arrow_drop_down Üniversiteler Bölümler Endeks Sıralama 1 İstanbul Teknik Üniversitesi İTÜ Bilgisayar Mühendisliği 0 2 Galatasaray Üniversitesi Bilgisayar Mühendisliği 0 3 Yıldız Teknik Üniversitesi YTÜ Bilgisayar Mühendisliği 0 4 İstanbul Üniversitesi - Cerrahpaşa Bilgisayar Mühendisliği +1 5 Galatasaray Üniversitesi Endüstri Mühendisliği +1 6 İstanbul Teknik Üniversitesi İTÜ Endüstri Mühendisliği -2 7 İstanbul Teknik Üniversitesi İTÜ Matematik Mühendisliği 0 8 Marmara Üniversitesi Bilgisayar Mühendisliği +5 9 Marmara Üniversitesi Endüstri Mühendisliği -1 10 Boğaziçi Üniversitesi Endüstri Mühendisliği 0 11 Yıldız Teknik Üniversitesi YTÜ Endüstri Mühendisliği 0 12 İstanbul Teknik Üniversitesi İTÜ İşletme Mühendisliği -3 13 Koç Üniversitesi Bilgisayar Mühendisliği +1 14 Boğaziçi Üniversitesi Bilgisayar Mühendisliği -2 15 Yıldız Teknik Üniversitesi YTÜ Matematik Mühendisliği 0 16 Galatasaray Üniversitesi İşletme +5 17 Boğaziçi Üniversitesi Yönetim Bilişim Sistemleri 0 18 Yeditepe Üniversitesi Bilgisayar Mühendisliği 0 19 Sabancı Üniversitesi Endüstri Mühendisliği +1 20 Sabancı Üniversitesi Bilgisayar Mühendisliği -4 … Anasayfa Memur Maaşları Bilgisayar Mühendisi Maaşları 2022 – Zam Oranları ve Güncel Rakamlar 2022 yılı itibariyle binlerce öğrenci ve mühendis adayı özel sektör, devlet, yurt dışı bilgisayar mühendisi maaşlarını merak etmekte ve araştırma yapmaktadırlar. Bizde olarak binlerce kişi tarafından merak dilen bilgisayar mühendisi maaşlarını araştırdık. Yaptığımız araştırmalar neticesinde siz değerli okurlarımız için Kamu, Özel Sektör, Amerika, İngiltere ve Almanya’da bilgisayar mühendisi maaşlarının ne kadar olduğunu tüm detayları ve güncel rakamları ile kaleme aldık. Değerli okurlarımız bilgisayar mühendisi maaşlarına geçmeden önce yaptığımız araştırmalar sonucunda elde ettiğimiz bazı bilgileri sizlerle paylaşmanın fayda saylayacağını düşündük. Kariyer planlaması yapan binlerce öğrenci için şunu rahatlıkla söyleyebiliriz ki bilgisayar mühendisi mezunu bir bireyin gerek ülkemizde gerekse yurt dışında iş bulma gibi bir sıkıntı çekmesi söz konusu bile değil. Son yıllarda hızla artan teknolojik gelişmeler doğrultusunda dünya çapında hizmet veren çok sayıda firma bilgisayar mühendisine ihtiyaç duymaktır. Özellikle ülkemizde son yıllarda hayata geçirilen yerli teknoloji hamlesi ile yüzlerce proje için çalışmalar başlatılmıştır. Bu projelerin tamamlanabilmesi için çok sayıda yazılım, elektrik, makine, bilgisayar mühendislerine ihtiyaç duymaktadır. Bilgisayar mühendislerine artan talep doğal olarak maaşlara da büyük etki etmiş durumda. 2022 yılı itibariyle kamu kurumlarında bilgisayar mühendisi maaşları TLden başlamaktadır. Bu maaşlara ek olarak ikramiye, aile yardımı, yol, yemek gibi ek ödemelerde yapılmaktadır. Bilgisayar mühendisi maaşları kıdem ve hizmet yılına göre değişiklik göstermektedir. Sayfamızda Şunlar VarKamu Bilgisayar Mühendisi Maaşları 2022Özel Sektör Bilgisayar Mühendisi Maaşları 20222022 Amerika'da Bilgisayar Mühendisi MaaşlarıAlmanya Bilgisayar Mühendisi Maaşları 2022 Kamu Bilgisayar Mühendisi Maaşları 2022 Bilgisayar mühendisi maaşlarını araştıran bir çok kişi tarafından kamu bünyesinde mi yoksa özel sektör demi çalışmak mantıklı sorusuna cevap aramaktadır. Değerli okurlarımız bu durum birazda sizlerin belirlemiş olduğu hedeflere, kariyer planlarınıza bağlıdır. Fakat şu kadarını söyleyebiliriz ki Devlet bünyesinde çalışan bilgisayar mühendisi maaşları 2022 yılı itibariyle hatırı sayılır rakamlara yükselmiştir. Bilgisayar Mühendisi Maaşları 2022 2022 yılı Ocak ayı itibariyle memur maaşlarına yapılan %36,08 zam sonrasında Devlet kurumlarında çalışan bilgisayar mühendisi maaşları TL den başlamaktadır. Fakat yazılım mühendisi maaşları derece, kıdem ve yabancı dil bilgilerine göre değişiklik göstermektedir. Ayrıca maaşlara ek olarak ikramiye, aile yardımı, yol ücreti, yemek ücreti gibi ödemelerde yapılmaktadır. 2022 yılı itibariyle kamu da görev yapan bilgisayar mühendisi maaşları – TL arasına değişiklik göstermektedir. Özel Sektör Bilgisayar Mühendisi Maaşları 2022 Özel sektör yazılım maaşları konusu binlerce bilgisayar mühendisi adayı tarafından araştırılan ve merak edilen konuların başında gelmektedir. Değerli okurlarımız yazımızın ilk bölümünde de belirttiğimiz gibi hızla gelişen teknoloji ile birlikte Dünya genelinde hizmet veren bir çok firma bilgisayar mühendisi sıkıntısı çekmeye başlamıştır. Bu durumda doğal olarak bilgisayar mühendisi maaşlarına doğrudan etki etmiştir. Bilgisayar Mühendisi Maaşları 2022 Ülkemizde hizmet veren Dünya çapında isim yapmış çok sayıda firma kendi bünyelerinde istihdam etmek üzere çok sayıda bilgisayar mühendisi alımı için iş ilanları yayınlamış durumda. Özel sektörde bilgisayar mühendisi maaşları sevilerine ve yabancı dil bilgilerine göre değişiklik göstermektedir. 2022 yılı itibariyle özel sektör bilgisayar mühendisi maaşları – TL arasında değişiklik göstermektedir. 2022 Amerika’da Bilgisayar Mühendisi Maaşları Yazımızın bu bölümde ise binlerce bilgisayar mühendisi ve mühendis adayları tarafında araştırılan Amerika’da bilgisayar mühendisi maaşlarının ne kadar olduğu konusuna yer vereceğiz. Değerli okurlarımız Yurtdışı bilgisayar mühendisi maaşlarını araştırırken edindiğimiz bilgiler neticesinde bilgisayar mühendisliği alanında en fazla maaş alabileceğiniz ülkenin Amerika olduğunu çok rahatlıkla söyleyebiliriz. Dünyanın en büyük teknoloji firmalarına sahip olan Amerika maaş konusunda da tüm ülkeleri geride bırakmıştır. Amerika’da bilgisayar mühendisi maaşlarının yüksek olmasının nedenleri arasında sosyal medya ve teknoloji devi şirketlerinin olduğunu tahmin etmekteyiz. Öyle ki Google, Facebbok, Twitter, İnstagram gibi dünyanın en büyük sosyal medya şirketlerinin merkezi ofislerinin bulunduğu ülke Amerika’dır. Adı geçen sosyal medya şirketleri bünyelerinde binlerce yazılım mühendisi istihdam etmektedir. Bu da yazılım mühendisi ihtiyacını fazlasıyla artırmaktadır. Bilgisayar mühendisi olarak çok rahatlıkla iş bulabileceğiniz ülkeler arasında Amerika’da yer almaktadır. Amerika’da mühendisi olarak çalışmak isteyen adaylar ise ne kadar maaş alabileceklerini araştırmaktadırlar. Değerli okurlarımız yazımızın ilk bölümde de belirttiğimiz gibi bilgisayar mühendisi olarak en fazla maaş alabileceğiniz ülke Amerika’dır. 2022 yılı itibariyle Amerika’da yazılım mühendisi maaşları – $ aralığında değişmektedir. Diğer İlgili Maaş Yazılarımız Yazılım Mühendisi Maaşları 2022Elektrik Elektronik Mühendisi Maaşları 2022 Almanya Bilgisayar Mühendisi Maaşları 2022 Yazımızın son bölümde ise binlerce bilgisayar mühendisi ve mühendis adayları tarafında araştırılan Almanya’da bilgisayar mühendisi maaşlarının ne kadar olduğu konusuna yer vereceğiz. Almanya’da bilgisayar mühendisi maaşları ülkemizde olduğu gibi tecrübe ve yabancı dil bilgilerine göre değişiklik göstermektedir. Diğer mühendis maaşları yazılarımızda da belirttiğimiz gibi Avrupa ülkeleri arasında nitelikli insan gücüne en fazla ihtiyaç duyan ülkelerin başında Almanya gelmektedir. Öyle ki hemen hemen her yıl Almanya binlerce işçi alımı yapacak haberlerine denk gelmekteyiz. Yaşlanan nüfusu nedeniyle tüm sektörlerde personel sıkıntısı çeken Almanya bu nedenle en fazla maaş imkanı sunan ülkelerden birisi olmuştur. Almanya’da bilgisayar mühendisi olarak çalışmak isteyenler çok rahatlıkla bu ülkede iş bulabilirler. Almanya’ya işçi olarak gitmek diğer Avrupa ülkelerine nazaran daha kolay oluğunu söyleyebiliriz. Almanya iş ilanları siteleri üzerinden iş başvurusu yaparak veya bu sitelerde Detaylı bir CV oluşturmanız durumuna bir çok firmadan davet alma ihtimaliniz çok yüksektir. Almanya’da bilgisayar mühendisi maaşları ülkemizde ki gibi aylık olarak değil yıllık olarak hesaplanmaktadır. 2022 yılı itibariyle Almanya’da çalıştığınız firmaya ve tecrübenize göre bilgisayar mühendisi maaşları yıllık € – € aralığında değişmektedir. Bilgisayar Mühendisi Maaş Tablosu 2022 Ülkere GöreMaaşlarDevlette Bilgisayar Mühendisi – TLÖzel Sektör Bilgisayar Mühendisi – TLAmerika’da Bilgisayar Mühendisi – $ YıllıkAlmanya Bilgisayar Mühendisi € – € Yıllıkİngiltere’de Bilgisayar Mühendisi – $ Yıllık Bilgisayar mühendisleri adayları için hazırladığım yazı. Yazı bilgisayar mühendisliğiyle ilgili teknik olaylara girdiği için biraz karışık olabilir bu yüzden dikkatli okuyun. Anlamadığınız yeri bana sorabilirsiniz. Unutmayın, bu yazı geleceğinizle ilgili önemli bir karar vermenizi sağlayabilir. O yüzden bu yazıyı ciddiye alın. Not Yazıda hata bulursanız lütfen beni uyarın. Dikkat! Bu yazı Bilkent Üniversite Bilgisayar Mühendisliğinde henüz geçmiş bir öğrenci tarafından yazılmıştır. Bu yazı bilgisayar mühendisliğinin iş olanakları ve mezuniyetten sonra yaşayacakları vs. üzerine yazılmış bir yazı değildir, öyle olursa piyasadan habersiz bir kimse tarafından yazılmış olur ve dolayısıyla güvenilir bir kaynak olmaz. Bilgisayar mühendisliği tercih edecekler önce bu konu üzerinde düşünsün ve araştırsın. Ben, ne yalan söyleyeyim, bu tip şeyleri çok araştırmadım. Yazılımsız bir hayat düşünülemez, dolayısıyla "Türkiyede bilgisayar mühendisi asla iş bulamaz." gibi dogmatik düşüncelere katılmıyorum, illa birileri iş bulacak ve benim bölümümdekiler de ilk iş bulanlar olacak. Ama belli üniversitelerin alt seviyesindeki üniversitelerden mezun olan kişiler benim kadar şanslı olabilecek mi? Kendilerini tatmin edecek bir iş bulabilecekler mi? İşte bunu araştırmak size kalıyor. Benim görüşüme göre, eğer bir kişi bu bölümü okumaktan zevk alırsa geleceği de parlak olur. Dolayısıyla ben okulda ne yaptığımızı yazdım, kısa bir ders yayınladım ve "kendini geliştirme" gibi bazı konulara açıklık getirdim. Bir şeye dikkat çekmek istiyorum; bilgisayar mühendisliği gerçekten sevilebilir bir bölüm/meslek. Daha ilk senesinde androide multiplayer oyun çıkaran arkadaşlarım oldu. Adamlar hiçbir şey bilmiyordu, biraz okuldan öğrendiler biraz kendileri öğrendiler. Ve şimdi risk+bil ve fethet karışımı bir oyunları var. Müthiş. İşte bu şekilde meraklı ve çalışkan kişilerin geleceğinin parlak olacağından şüphem yok. Sorun şu ki siz meraklı+çalışkan olabilecek misiniz? * Öncelikle şu yazıyı okuyun Meraklısı için burada da epey güzel bilgiler var. "Yahu ne yapıyor bu bilgisayar mühendisliği?" diye kendi kendinize soruyorsanız buradan cevabınızı alabilirsiniz Mühendisliği İlk verdiğim yazı epey bir sorunuza cevap olmuştur. O yazıda dikkat çekmek istediğim birkaç nokta var Ücretler Ben tercih zamanı bu yazıyı ilk okuduğumda ücret konusunda tatmin olmamıştım açıkçası. Ama gerçek dünyaya dönmekte yarar var. Mezun olduğunuzda patronların size 8-9 bin teklif etmesini beklemeyin. Aynı, üniversitede kızların teklif etmesini beklememeniz gerektiği gibi. Geçen gün bana bilgisayar mühendisliği konusunda danışan bir arkadaşa hiçbir zaman işe 8-9 bin lirayla başlayamayacağını, bunun için bir 8-10 sene iş tecrübesine ihtiyacı olduğunu yazdım. Bu bilgi sallama, ama benim tercih yaparken okuduklarım bu minvaldeydi. O da bana "O zaman 15 bininci olup tıp yazarım, ezberlerim, tusu bir şekilde geçerim mühendislikteki gibi çile çekmem paramı alırım vs." buna benzer bir şeyler dedi. Şimdi arkadaşlar diyorum ya gerçek dünyaya dönmek lazım diye. Öyle tıpı kazanır, dersleri geçerim tusu kazanırım asarım keserim olmuyor öyle. TUS dediğin sınav = 10000 x YGS. YGS TUS'un önünde diz çöker tövbe ister. YGS İspanya'ysa TUS Hollanda'dır. Üstelik de TUS'u bitiren doktor 30 yaşındadır ve yine ne kadar alacağı görecelidir. İnternette birinin bilgisayar mühendisi veya doktor halasının/amcasının/yedi göbekten yeğeninin altında ferrari olduğunu okuyabilirsiniz ama hayat sizin için o kadar toz pembe olmayabilir. Böyle diyorum çünkü tercih döneminde aynı ikileme ben de düştüm. Ağabeyim İTÜ denizcilikten mezun, bilgisayar mühendisine göre de, doktora göre de fazla para kazanıyor. Üstelik geziyor. Her limanda bir sevgili. 6 ay çalışıp 6 ay yatabiliyor. Ne kadar güzel değil mi? Fakat adam mesleğine küfrediyor. Üzerine çok sorumluluk bindiğinden yakınıyor. Gemide kendine ait boş zamanını anca yatmaya ayırabiliyormuş. Bir kere de Somalili korsanlarla karşılaştı. Ama bir şey olmamış. Bu sene KPSS'ye hazırlanıyor kurtulmak için. Bana tercihler konusunda dediği şey "Sen anneme babama bakma. Onların gözünde doktorsun. Ama okurken ve çalışırken ne çektiğini ancak sen bilirsin." Uzun lafın kısası bu mesleği tercih ederken paraya bakmayın. Severek okuyacak mısınız, işinizden biraz olsun zevk alabilecek misiniz ona bakın. Yani paraya da bakın ama asıl sebebiniz bu olmasın, para kazandıran tek meslek bu değil sonuçta. Tercihinizi ona göre yapın. Bu mesleğe ilginiz varsa ve programlama ve bilgisayar mühendisliğinin çalışma alanları konusunda bilgi sahibiyseniz, eee, zaten çoktan bu bölümü yazmaya kafayı koymuşunuzdur ve dolayısıyla bu yazıyı zaman geçirmek için okuyorsunuz. Fakat biliyorum ki bu yazıyı okuyanların %99'u bilgisayar kullanmayı seviyor, bir şeyler üretmek istiyor, mühendislik seçmek istiyor ve bilgisayar mühendisliği kalbine en yakın geliyor. Fakat "kod yazmak" dışında ne yaptıklarından bihaber. "Eeee?" diyor kendi kendine. "Koca mesleğin olayı bilgisayarda kod yazmak mıdır? Öyleyse dışarıdan öğrenilemez mi? Veya bu mesleği zor, mezunlarını değerli yapan nedir? Bu microsoft çalışanlarını neye göre seçiyor madem herkes kod yazabiliyor?" Hah işte bu tip sorular kafanızı kurcalıyorsa tekrar hatırlatayım, doğru yazıyı okuyorsunuz. Ha bu mesleği sevmeden yapabilir misiniz? Evet. Meslek meslektir sonuçta, dünyada herkesin üzerine düşeni yapması gerek, sevse de sevmese de. Açıkçası sevdiği için çöpçülüğü seçen biri olacağını sanmıyorum. Sevmeden yapan bir kişinin düşüncelerini de paylaşayım, gayet güzel yazmış ODTÜ'nün yazısındaki başka bir önemli nokta ise şu 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? Arkadaşlar bizim ders programında "Şu hata nasıl çözülür? Windows mavi ekran verirse ne yapmalıyız?" tarzı bilgiler içeren bir ders yok. Varsa benim haberim yok. Peki bu tür konularda nasıl bilgi sahibi olacağız? Cevap Google! Google bir bilgisayar mühendisinin en önemli silahıdır arkadaşlar. Google kullanabilen bilgisayar mühendisi her şeyi bilebilir. Fakat bilmek ister mi? Dönem projesi yaptık geçende 4 arkadaş. Bu konuda yazının en sonunda bahsettim. Ben müzik koymayı öğrendim ve projeye koydum, oyundayken bilgisayarın içindeki bir text dosyasına yazı yazmayı öğrendim. Bunun gibi birkaç tane okulda öğretilmeyen şeyi öğrenip, birçok sorunla karşılaşıp hepsini çözüp projeye uyguladım. Gruptaki 2 arkadaşa ise bir kutu üzerinde başka bir kutunun gözükmesini sağlayan bir hazır kod sayfası attım. "Bununla da siz uğraşın." Adamlar onunla saatlerce uğraştılar. 2 kişi kod açıklamasını isteksizce okuyup deneme yanılmayla dediğim olayı yapabildi. Hazır kod şu siz kod yazarken her şeyi kendiniz yazmazsınız. Bazı şeyler ya çok üstdüzey programlama bilgisi gerektirdiği için ya da kullanıcılara kolaylık olsun diye internette paylaşılır. Örneğin Unreal engine, cry engine gibi "fizik motoru" denen şeyleri duymuşsunuzdur. Hah işte bunlarla oyun yapmak için yine bol kodlama gerekir. Fakat bu fizik motorundaki "fizik" kısmı fizik motorunu yapan yapımcılar tarafından önceden yazılmıştır. Atıyorum unreal engine'e yani fizik motoruna bir bina yerleştirdiniz. Binanın çatısına bir adam yerleştirdiniz. Adam binadan atlarsa yerçekiminin onu nasıl etkileyeceği, ne hızla düşeceği ve düşme hızının ivmeden kaynaklı ne kadar artacağı. İşte bunları siz yazmazsanız. Bu bir "hazır kod" örneğidir. Şimdi burada arkadaşlarıma laf mı giydirmeye çalışıyorum? Hayır. Olay şu adamlar elektronikçi. Verilen ödev grafikli arayüz üzerine. Yani elektronikçiler için gereksiz. Dolayısıyla adamlar öğrenmeye isteksiz. Verdiğim hazır kod ise öğrenmesi zor çünkü açıklamalar upuzun. Tüm gece onunla uğraştılar. Bu olaya gerekli gözüyle bakıp motive olsalardı çok daha kısa zamanda işi kapabilirlerdi. Burada söylemek istediğim şey ise şu Google'da herbir şeyin bilgisi var. Bilgisayar mühendisi olacak insan ise ihtiyacı olan bilgiyi google'dan bulup uzun İngilizce metinleri Türkçe her zaman yetersiz kalır. sabırla okuyacak ve uygulamasını yapacak. Uygulama safhasında ilk testlerde hep hata çıkar. Gerek deneme yanılmayla, gerek de o bulduğu hazır kodla ilgili başka kaynaklar tarayacak internetten. Öğrenme safhası sıkıcıdır. Kimi zaman eğlenceli olduğu da olur tabii. Örneğin ben 14 yaşındayken RPG Maker motorundan kendi kendime oyun yapmayı öğrenmiştim hatta yapmıştım. Gayet de iyi bir oyundu. Fakat orada çalışmalarımın sonucunu hemen görebiliyordum. Yani çok çabuk "geri-bildirim" alıyordum ve aldığım olumlu sonuçlar beni daha da istekli hale getiriyordu. Fakat geri-bildirim olayını yani olumlu sonuçları hemen görmüyorsanız ve öğrendiğiniz şey zor ve karmaşıksa öğrenme safhası sıkıcı ve uzun olabiliyor. Şu an okuduğum kitap "Head First Design Patterns". 600 sayfa. Gayet uzun ve pratik ve sonuç-veren geribildirimli kısımdan önce epey yol gitmeniz gerekiyor. Ve inanmayacaksanız ama bu kitabın kodlamayla hiçbir alakası yok? Bu kitabı okuyunca daha iyi kod yazmaya başlamıyorsun, problemleri daha kısa zamanda çözmüyorsun. Peki nedir bu kitabın kerâmeti? Bu kitap size tasarım kalıplarını öğretiyor. 600 sayfanın içinde 10 tane tasarım kalıbı var. Hepsini bilmek gerekiyor ki yapacağımız program için en uygun olanına karar verebilelim. Eğer doğru tasarımı yaparsak, yapacağımız program daha sağlıklı ve uzun ömürlü olur. Düşünsenize! Bir program yapmak istiyorsunuz. Programın en yapacağını, arayüzünü falan tasarladınız kağıt üzerinde her şey var. Fakat kodu da tasarlamanız gerekiyor! Kodu tasarlamaktan gram kod yazamıyorsunuz! En uygun kod tasarısını bulmak için tasarım kalıplarını bilmeniz gerekiyor ve bunun için de önce 600 sayfalık bir kitap okumak zorundasınız. Daha sonra sizi uzun ve yorucu günlere sevkedecek olan programlama kısmına geçebilirsiniz. İşte sıkıcı ve uzun öğrenme safhasından kastım bu. Peki bu kalıplar okulda öğretilmiyor mu? diye sorarsanız bize okulda bir tane tasarım kalıbı gösterildi. Fakat iyi bir programcının daha fazla kalıp bilmesi gerek. Gösterilen kalıbın adı "Model View Controller". Bunun ne olduğunu açıklayayım, kod yazma prensipleri hakkında ilk bilgilerinizden biri olsun. Model-View-Controller üç kısımdan oluşuyor. Model verileri ve hesaplama fonksiyonlarını tutan kısım. View yani görüntü, kullanıcının gördüğü kısım. Bu ikisi arasında bir bağlantı yok yani birbirini etkileyemiyorlar. Controller adından da anlayacağınız üzere bu ikisini kontrol ediyor, yani değiştiriyor. Örneğin bir hesap makinesi yapıyoruz. Modelin içinde "toplama", "çarpma" gibi fonksiyonlar var. View'ın içinde bir kutu var, üstte beyaz ve boş bir kutu var. Altta kutular var ve kutuların üzerinde rakamlar yazıyor. Tuşlar yani. Controller'da ise "dinleyici" ismi verilen şey var. Bu dinleyici kullanıcının bastığı tuşu algılıyor ve controllera rakamı depolattırıyor. Kullanıcı çarpma tuşuna basıyor. Controllerdaki dinleyici "aha çarpacak" diyor. Kullanıcı tekrar bir rakama bastığında controller depoladığı rakamları modele gönderiyor ve modele "Model kardeş senin içinde bir "çarpma" fonksiyonu vardı hani.." diyor. "Sana zahmet şu iki rakamı çarpıp sonucu bana söyler misin?" diyor. Model de "Hay hay." diyor ve controllera sonucu gönderiyor. "Başka bir isteğin var mı?" diye soruyor. Controller da "Model kardeş bir de rica etsem Pembe Mezarlığı çalabilir misin?" diyor. Model de "Defol buradan iğrenç liseli!" diyor. Neyse tamam kötüydü. Bundan sonra controller sonucu alıyor ve viewa gönderiyor. View'a diyor ki "Bak kardeşim bu kullanıcının istediği sonuç. Bunu yayınlama fonksiyonunu kullanarak yayınla." View sonucu alıyor ve yukarıdaki boş kutuda yayınlıyor. Hesap makinesinde girdiği iki rakamın çarpımının belirdiğini gören kullanıcı... bön bön bakıyor zil takıp oynayacak hali yok ya Toparlarsak şu hesap makinesinin içinde hesap yapmaya yarayan çip var. Bu model. View ise bizim dışarıdan gördüğümüz, üzerinde rakamlar yazan ince kutu. Controller ise tuşların altındaki dedektörler. Hesap makinesinin nasıl çalıştığını biz bilmeyiz, sadece tuşa basıp hesap yapmayı biliriz. Aynı şekilde, MVC kullanan bir programda da sadece view kısmı kullanıcıyla haşır neşir olur. Model ve Controller programcıya özeldir. Not Controller nasıl depo yapıyor? Model nasıl çarpıp controllera gönderiyor? Bunları şu anlık bilmenize gerek yok arkadaşlar. Yukarıdaki yazıyı bunları bilmeden de anlayabilirsiniz. Bilgisayar mühendisiyken çok kez "nasıl çalıştığını bilmediğiniz ama sonucunu bildiğiniz" şeyleri kullanacaksınız. En bariz örnek bilgisayarın ta kendisi. Şu an bu yazıları yazarken klavyenin harfleri nasıl tanıdığını ve bunu bilgisayara nasıl gönderdiğini bilmiyorum. Tek bildiğim şey "view" ve onu nasıl kullanacağım. Controller ve model bilgisayarı yapan elektronikçiye kalmış. Model-View-Controller'ın ne olduğunu öğrendiniz... Bunu öğrenmesi sıkıcı mıydı? Bu oldukça kısa ve öz, hap bilgiydi. Model-View Controller'ı gerçekten öğrenmeniz için size ahanda şu an okumakta olduğunuz blog yazısı kadar bir yazıyı okumanız gerekebilir. Tabii sonra pratik yapmak için birkaç tane program yazmanız gerek. Tüm bunları okumak ve öğrenmek sıkıcı geldiyse bilgisayar mühendisliğinden vazgeçin demeyeceğim. Çünkü yaz ayındasınız, sınavdan yeni çıktınız, oruçlu olabilirsiniz. Okumak ve öğrenmek her meslekte mevcut. Asıl olay siz bu şeyleri okuyup iyice anladığınızda "Ben azimliyazarın öğretmeye çalıştığı şeyi anladım ve şimdi biraz bilgisayar mühendisliği konusunda bilgi sahibiyim. Tüm bunlardan çıkardığım sonuç şu Ulan benim ne işim var burada? Kod tasarımı ne ulan? Ömür geçer mi bunlarla. Benim makine yapmam lazım, robot yapmam lazım. Ben dünyaya kod tasarlamak için gelmedim gardaş..." diyor musunuz? Bunu dürüst bir şekilde demek için yazının tamamını okuyun. Bulmaca 1 Yukarıda Model-View-Controllerı anlatırken View-Controller ilişkisinde atladığım bir kısım var. Eğer programı yukarıdaki gibi yazarsam çalışır, ama gerçek bir hesap makinesi gibi çalışmaz. Bakalım bu hatayı bulabilecek misiniz? Hesap makinesinin çalışma prensibini düşünün. * Özetlersek ODTÜ'nün yazısından yola çıkarak iki şeyden bahsettim. 1- İşinizi sevecekseniz gelin. Dolayısıyla bölümü okumayı sevecekseniz gelin. 2- Öğrenmeyi sevecekseniz gelin. Bir ömür boyunca google taraması yapmayı, araştırmayı göze alacaksanız gelin. Bu bölümü okumayı & araştırma yapmayı sevip sevmediğiniz konusunda bu yazıdaki MVC kalıbı olayını okuyarak biraz bilgi sahibi olmuşsunuzdur. * Şimdi diğer bir başka yararlı siteye gelelim. Bu site oldukça güzel. Bu sitede ufkumu açan ve bilgisayar mühendisliğinin oldukça zor olacağını gözler önüne seren harikulade bir kavram var "Patlak mühendis." Nedir patlak mühendis? Kısaca şu "kendini geliştirmeyen", üniversiteyi sadece "dersleri geçmekle" geçirmiş, mezun olduğu halde kodlama yazamayan mühendis. Özellikle burada çok iyi açıklamış admin reis Bakın arkadaşlar en alta, patron diyor ki bana "ananas seviyor musun?" diye soru soran program yap. Patlak mühendis patronun dediğini aynen yapıyor veya tam yapamıyor. Asıl sorun şu, ya patron program üzerinde önemli değişiklikler yapmak isterse? Örneğin atıyorum counter strike oyununa kılıç kalkan koyduğunuzu düşünün. Eğer counter strike oyununu patlak mühendisler yazsaydı kılıç kalkanla yapılacak tek şey düşmana 500 metreden ateş etmek olurdu ki bu da saçma olurdu. Super Mario'yu düşünün. İlk oyunda Super Mario uçamıyordu. Dolayısıyla yapımcılar oyunu sadece monitöre sığacak yükseklikte yaptılar. Patron geliyor, Mario'yu uçurun diyorlar. Programcılar şaşkın çünkü hiç bunu düşünmemişler. Kameranın yukarı doğru kayması var. Yer çekimini marionun uçmasına göre ayarlamak var. Maksimum yüksekliği ayarlamak var. Var oğlu var. İşte bilgisayarmuhendisleri sitesinin admini diyor ki patlak mühendis eklenebilecek özellikleri düşünmeden programlama yaparlar. Dolaysıyla yeni bir özellik ekleneceği anda eski versiyonu ya silmek gerekir ya da çok büyük bir kısmını değiştirmek. Tasarım kalıplarının önemini anlatırken "daha sağlıklı ve uzun ömürlü" programlar yazarsınız demiştim hatırlarsanız. Hah işte kastettiğim bu. Patlak mühendis bunları bilmediği için kullanamaz. Dolayısıyla yeni bir şey ekleyeceği zaman tüm sistemin dengesi bozulur, program uzun ömürlü olmaz. Ama örneğin programa Model-View-Controller ekleyen mühendis varolan programa yeni bir View eklenmesi gerektiğinde yapacağı şeyler sadece o yeni View'u yazmak ve Controller'a o yeni bir viewla ilgili küçük bir parça kod yazmak olur. Modella View arasında bağlantı olmadığı için Model'a dokunmaya gerek kalmaz. Bu kısım biraz karışık gelmiş olabilir, anlamadıysanız aşağıda sorabilirsiniz. Programcıları "patlak mühendis" olmadığı çok bariz olan oyunlar Skyrim, Mount&Blade, Medieval Total War gibi mod sistemini destekleyen oyunlar. Gerçi hiçbir kaliteli oyun patlak mühendisler tarafından yazılmıyor. Ama bu oyunlardaki modül sistemi apaçık bir kanıt olduğu için örnek verdim. Bu adamlar öyle bir ayarlama yapıyorlar ki oyunun kaynak kodunu yani kendi yazdıkları kodu vermiyorlar. Size verdikleri kısıma siz düzenleme yapıyorsunuz ve bu kısımdaki düzenlemeler kaynak kodu değiştiriyor, fakat bu değişikler kaynak kodda hasara yol açmıyor dolayısıyla oyun sessiz sedasız çalışmaya devam ediyor. Bu adamlar önceden buna uygun bir tasarım kalıbı kullanıyorlar. Patlak mühendis olmayıp çok okur, çok araştırır, çok programlarsanız orta seviye üniversitelerden de iyi yerlere gelebilirsiniz. Alın bakın Hacettepe'den Microsoft'a Kendini geliştirmekle ilgili yazıları Bu sitedeki makaleler gayet iyi. Yalnız bence admin üniversite seçimi konusunda fazla idealist davranıyor. "İstanbuldan başka bir yeri seçmeyin, sektörün kalbi oradadır, hem ek iş yaparsınız." gibi doğru şeyler söylüyor. Yani teorikte doğru. Pratiğe gelince söylemeliyim ki İstanbul "dikkat dağıtıcı" bir şehir. Abim gezmekten eve uğramıyordu öyle söyleyeyim. Epey para yiyen bir şehir. Bu yüzden üniversite seçimi yapacak kişiler idealist takılırken bir yandan da kendi bütçesine baksa ve insan olduğunu unutmasa iyi olur. Adminin tanımladığı gibi İstanbul'u sektöre hazırlanmak için kullanan mühendis adayının sayısının fazla olduğunu düşünmüyorum. Bu sitedeki diğer "patlak mühendislik" yazılarını okuyun. Burada listelenmiş ODTÜ'nün yazısını yorumlarken bu mesleği seçecek kişilerin bu bölümü sevecek ve aynı zamanda üşenmeden araştırma ve google taraması yapacak + bir de bunları sabırla okuyup uygulamaya dökecek nitelikte olması gerektiğini iddia etmiştim. Yazımın bu kısmında ise böyle olmayan bölümü sevse de sevmese de, araştırmayan, okumayan, vaktini boşa harcayan kişilerin "patlak mühendis" olduğunu ve patlak mühendis/hakiki programcı farkını gördünüz. Tabii eğer attığım linkteki diğer yazıları okumadıysanız göremediniz, okuyun arkadaşlar. Bilgisayarmuhendisleri sitesinin admini önemli noktalara zaten parmak bastığı için ben yazının bu kısmını kısa tuttum. * Şimdi gelelim bölümde ilk sene yapacağınıza. Yani programlamayı öğrenmeye. Size çok basit bir iki şey öğreteceğim. Sonra sizi bir soruyla test edeceğim. İlk olarak kod yazmak / programlamak nedir ondan başlayayım. Kod yazmak yazı yazmaktır. Kod yazarken yaptığınız şey kullandığınız dilin prensiplerine uyarak aklınızdaki şeyi bilgisayara yapmaktır. Yani Matematiksel bir yabancı dili kullanmaktır diyebiliriz. Her kod yazabilen kişi iyi bir programcı değildir, tıpkı her yazı yazabilen kişinin iyi bir romancı olamayacağı gibi. Burada önemli olan o "aklınızdaki şey"dir. Yani algoritmadır. Peki algoritma nedir? Algoritma "eksiksiz olarak takip edildiğinde, önceden belirlenmiş bir işi sonlu zamanda gerçekleştiren sonlu sayıda komutlar topluluğu" Bu tanımı ekşi sözlükten aldım, daha teknik bir tanım yapmak istemedim. Algoritma şu patron size bir program yazmanızı istendi. Dedi ki "Bir sayı tek mi çift mi onu kontrol eden bir program yaz." Siz önce bunu nasıl yaparım diye düşünüyorsunuz, sonra adım adım yapmanız gerekenleri yazıyorsunuz. Patron fazla detay vermediği için programı farklı şekillerde de yapabilirsiniz, bu konuda özgürsünüz. Ama yapacağınızı adım adım yazdığınızda muhtemelen şu minvalde bir şey olacak 1. Kullanıcıdan bir sayı al. Bu patron tarafından belirtilmemiş ama içgüdülerimize güvenerek burayı ekliyoruz çünkü tek mi çift mi kontrol etmek için bir sayıya ihtiyacımız olacak. 2. 2'ye böl, kalanı bul/depola ve kontrol et. 3. Eğer kalan 0'sa Ekrana "Çift" yaz. Eğer kalan 1'se Ekrana "Tek" yaz. 4. Kullanıcıdan başka bir sayı iste. Algoritma bilgisayar mühendisliğine has bir şey değil. Matematiğe has. Milattan önce 300 sene önce yaşamış Öklid'in bulduğu ebob hesaplayan "Öklid algoritması" birçok programlama ve matematik kitabında yer alır. E adam ne bilsin 2200 sene sonra bilgisayar diye bir dalganın icat edileceğini? Meraklısı için Öklid algoritması İşte "Bilgisayar mühendisliği matematik ulan!" diyip duruyorlar ya o buradan geliyor. Bizim yaptığımız şey aslında bir problemin çözümünü bilgisayara yazdırıp sonucu bilgisayara buldurtmak. Lise matematiğinin aksine, biz çözümü yapıp sonucu bulup sınavdan 10 almıyoruz. Çözümü bilgisayara anlatır gibi kağıda yazıyoruz. Onu kontrol ediyorlar. 2x^3 ün türevini alacaksınız örneğin. Bilgisayara diyorsunuz. 1- Üstü başa düşürüp katsayıyla çarp. 2- Üstten bir eksilt. Hah işte algoritma bu. Bu algoritmayla 6x^2 doğru cevabına ulaşırsınız. Fakat ve yerlerini karıştırırsanız, yani önce üstten bir eksiltip sonra üstü başa yazarsanız, cevap 4x^2 çıkar bu da hatalı bir algoritma doğal olarak hatalı bir kodu doğurur. Ekleme Bilgisayar mühendisliğinin matematikle bu bağlantısından dolayı bilgisayar mühendisleri epey bir matematik dersi görecek. Calculus türev-integral-seriler , ayrık/sonlu matematik olasılık, bağıntılar, fonksiyonlar, lineer cebir, istatistik vs. Bizim bölümde zorunlu olarak okutulan 5 matematik dersi var. Anlayacağınız dışarıdan programlama öğrenen sertifikalı mühendislerin epey bir matematik kursuna gitmesi gerekiyor. Algoritmanın ne anlama geldiğini pratik olarak öğrendiniz sanıyorum. Özetle bir işin yapılması için adım adım yazılan küçük işler diyebiliriz. Ekşi sözlük tanımında "sonlu" demesinin sebebi eğer bilgisayar sonsuz iş verirseniz o da sonsuza kadar çalışır dolayısıyla siz de sonucu asla göremezsiniz en fazla bilgisayarın vereceği mavi ekranı görürsünüz. O yüzden sonlu deyip durmuşlar. Algoritmayı belirledikten sonra uygun dile çevirirsiniz yani işin kodlama kısmını yaparsınız. Bunu yaptıktan sonra çıkan hataları düzeltirsiniz. Test edersiniz doğru çalışıyor mu diye. Normalde matematik ve genel bilgisayar kitaplarında algoritmalar "pseudo code" adlı sahte kodlarla verilir. Bu sahte kodları okuyan okuyucular başka dillere uyarlayabilir. Fakat ben yazımda bu olaya girmeden öğreteceğimi direkt Javayla öğreteceğim. Önce şu ifade statement ile başlayalım. int elmaSayısı; Sondaki ";" javaya has bir şey, bir ifadenin bitişini gösteriyor. Cümlenin sonuna nokta koymak gibi bir şey. Önemsiz yani Bu javadaki en temel ifadelerden. Yaptığı şu elmaSayısı diye bir değişken variable belirliyor. Matematikteki x yani. Baştaki "int" kelimesi bu değişkenin yani elmaSayısının sadece "Tam sayı" tutacağını belirtiyor. Yani burada yaptığımız şey şu; bilgisayara diyoruz ki hacı bir değişken üret. Ürettiğin bu değişkenin adı elmaSayısı olsun. Bu elmaSayısı sadece tamsayı tutsun. Yani elmaSayısı 1 , 2, -5 , +2323 filan alabilir. 1,5 15/10 değerini alamaz. Bunu deyince bilgisayar hafızasından bir bölümü elmaSayısı değişkeninin tutacağı değerin yani sayının kaplayacağı alan için rezerv ediyor. Şu anda elmaSayısı bir değer tutmuyor. Tanımsız. Yani elmaSayısını başka bir değerle toplamaya çalışırsak bilgisayar hata verir. Bir değer atamak için ise şunu yapıyoruz. elmaSayısı = 5; Bunu diyince elmaSayısı içinde 5 yazan bir kutuya sahip oldu. Yani demek istediğim elmaSayısı direkt olarak 5'e eşit demek değil. Sonradan canımız isterse "elmaSayısı = 7" yazarak değiştirebiliriz elmaSayısı'nın tuttuğu değeri değiştirebiliriz çünkü. İkisi ayrı şeyler. Şu ana kadar yazdığımız kodlar int elmaSayısı; elmaSayısı = 5; Bu iki satırı tek satırda da yazabilirdik. Yani int elmaSayısı = 5; diyebilirdik. Resim üzerinde göstereyim Yani yaptığımız şey Matematik dersinde yaptığımız "x'e 5 diyelim." olayının aynısı. Burada "elmaSayısı'na 5 diyelim." demiş olduk. Değişkenin ismini neden "elmaSayısı" koydun? Neden elma sayısı değil? Program yazarken bazı görünmez kurallar var, görgü kuralı gibi bir şey. Bir kurala göre birden fazla kelimeden oluşan değişken isimleri birleşik yazılır ve birinciden sonra gelen kelimelerin baş harfi büyük yazılır. Ben de bu kurala uydum. Yalnız şunu da söyleyeyim, bir değişkene isim verirken araya boşluk koyamıyorsunuz, yani "elma sayısı" hata veriyor. elma_sayısı yazabilirsiniz, ELMASAYISI yazabilirsiniz fakat bunu yazarsanız bana hakaret etmiş olursunuz ehehe. Şu ana kadar yazdığımız kod int elmaSayısı; elmaSayısı = 5; Şimdi bir de armutSayısı tanımlayalım ve 10 değerini verelim. int armutSayısı = 10; Yukarıdaki yaptığımız şeyin armut versiyonunu yaptık. Sizce elmaSayısını armutSayısına eşitleyebilir miyiz? Tabii ki! Ama nasıl? Ahanda böyle elmaSayısı = armutSayısı; elmaSayısı'nda 5 vardı. armutSayısı'nda 10 vardı. Eee ne oldu şimdi? Çorba oldu her şey, demeyin. Bakın arkadaşlar burada kullandığımız "=" sembolü Matematikteki sembol değil. Burada hocaların problemin sonunda "Veee son olarak 2x + 5 = 15 ve buradan x = 5 çıkıyor." derken yaptığı şeyi yapmıyoruz. Burada problemi yazan, o problemde x'i 5 olarak önceden belirleyen kişi biziz. Yani elmaSayısı = armutSayısı derken dediğimiz şey "Az önce canım istedi elmaSayısını 5 değerini atadım. Şimdi canım istedi elmaSayısına artmutSayısı değişkeninin tuttuğu değeri atıyorum." Ve her zaman eşitliğin sağ tarafındaki değişkenin tuttuğu değeri eşitliğin sol tarafındaki değişkene atarız. Yani armutSayı'sının kutusundaki değeri elmaSayısının kutusuna monte ediyoruz. Eğer önceden armutSayısı büyük hissediyor idiyse elmaSayısı da büyük hissetmeye başlıyor. Bunun sonucunda elmaSayısı 10 oluyor, armutSayısı da değişmeden kalıyor Neden elmaSayısı = 10 yazmak yerine elmaSayısı = armutSayısı yapıp kafamızı karıştırdık derseniz, her zaman armutSayısı'nın içinde ne var bilemezsiniz. Veya bazen kodlarınız kadar uzun ve karışık bir hal almıştır ki armutSayısı'nın içinde ne var takip etmesi zordur. Ama en önemlisi; diyelim canınız istedi ve en baştaki armutSayısına atadığınız değeri 10 değil de 8 yaptığınız. yani int armutSayısı = 8 yaptınız. Bu durumda kodlamanızı elmaSayısı = armutSayısı şeklinde yaptıysanız en başta armutSayısı'na hangi değeri atadıysanız elmaSayısı da onu alır yani bu durumda 8 olur siz de bir değişiklik yapmak durumunda kalmazsanız. Fakat elmaSayısı = 10 yaptıysanız ve hala elmaSayısı'nın armutSayısı'na eşit olmasını istiyorsanız elmaSayısı = 8 yapmanız gerekir. Bu yüzden elmaSayısı = armutSayısı yazmak daha doğrudur. Bir değişken tanımlamayı, o değişkene bir değer atamayı ve başka bir değişkenin içindeki değeri tanımladığınız değişkenin değeri olarak atamayı öğrendiniz. Elimden geldiğince basit anlatmaya çalıştım. Muhtemelen ilk kez programlamayı öğrenirken böyle basit, "salağa anlatırmış gibi anlatan" kaynaklarla karşılaşacaksanız. Başlangıç için en iyi kaynaklar bu tip kaynaklardır. Bir dile epey aşina olduğunuzda ve tecrübe kazandığınızda ise öğrenme safhası kolaylaşır diyebiliriz. Çünkü programlama dillerinin mantığını birbirine benzer. Biraz daha yapabileceğiniz şeylere geleyim. Canınız isterse toplama çıkarma da yapabilirsiniz bu değişkenlerle. Şu anda elimizde halihazırda bulunan kod int elmaSayısı; elmaSayısı = 5; int armutSayısı = 10; !!! Bu işaret arasında kalan bütün kodlar birbirine eklemedir. Yani kod içinde armutSayısını değiştirdim 15 yaptım. Artık armutSayısı'nın asıl değeri 15 olmuş olur. Bunu eklerseniz elmaSayısı = elmaSayısı + 3; elmaSayısının mevcut değer 5. 5 e 3 eklersek 8 buluruz ve elmaSayısı = 8 demiş oluruz. elmaSayısının mevcut değeri 8 olmuş olur. Bunu eklerseniz elmaSayısı = elmaSayısı + elmaSayısı; elmaSayısı'nın değeri ne olur? 10 mu? Hayır! Bakın yukarıda elmaSayısı'nın değeri 8 idi. Sağ tarafta iki elmaSayısı var. 8 + 8 = 16. elmaSayısı = 16 yani elmaSayısına 16 değerini vermiş olduk. armutSayısı = 7 + 8; armutSayısı'nın yeni değeri 7 + 8 yani 15 olmuş oldu. elmaSayısı = elmaSayısı - armutSayısı; Bunu yapınca önce sağdaki kısmı hallediyoruz yani elmaSayısı'nın değerinden armutSayısı'nı çıkarıyoruz. elmaSayısı şu an 16. armutSayısı 15. Çıkardık 1. elmaSayısı 1 olmuş oldu. !!! Yukarıyla işiniz kalmadı. Şimdi ben size bir alıştırma vereceğim. Oldukça kolay. Eğer yukarıda anlattığım şeyi anladıysanız bunu kolaylıkla yaparsınız. Not Kodu kolaylıkla takip etmek için kağıt kalem alıp her satırda ne neye eşit oluyor onu yazmanızı öneririm. Kodumuz int naberLen = 2; int iyiSenden = 5; iyiSenden = naberLen; naberLen = naberLen - iyiSenden; iyiSenden = naberLen * naberLen + 2; naberLen = 3 + 5 * 4 - 1; Soru naberLen ve iyiSenden değişkenlerin kodun en sonunda tuttukları değerler nedir? Çözüme bakmadan kendiniz bi uğraşıp cevabınızı bir yere yazın. Hadi göreyim sizi. Çözüm Az önce demiştim ya programlamada görgü kuralları var diye. İşte burada o kuralları çiğniyorum ve değişkenlere çok kötü isimler veriyorum öyle ki kodumuz okunması zor bir hal alıyorum. int naberLen = 2; int iyiSenden = 5; Bu iki satırda iki değişken atayım onlara değer veriyoruz. iyiSenden = naberLen; iyiSenden 5 değerini tutuyordu. Fakat naberLen'deki 2 değerini iyiSenden'e verince 2 değerini tutmaya başladı. 5'ten bir daha haber alınamadı. iyiSenden'e 5 vermek gereksiz oldu, direkt olarak int iyiSenden = naberLen de yazabilirdik. naberLen = naberLen - iyiSenden; naberLen ile iyiSenden eşit. Bu yüzden naberLen artık 0 değerini tutuyor. iyiSenden = naberLen * naberLen + 2; naberLen*naberLen = 0. 0'a 2 ekliyoruz ve iyiSenden'in yeni değeri 2 oluyor. naberLen = 3 + 5 * 4 - 1; naberLen hakkında önceden ne yaptığımızı silip atıyoruz ve ona yepyeni bir değer veriyoruz. Programlamada da Matematikteki gibi işlem önceliği var unutmayın. Önce 5*4'ü buluruz. 20. 20 + 3 - 1 = 22. Cevap naberLen 22 değerini tutuyor. iyiSenden 2. Evet arkadaşlar değişkenler üzerine yapabileceğiniz işlemleri de gördünüz. Ders burada bitti. Şimdi size bir sorum var. Bu soruyu doğru cevaplayabilmek için yeterli bilgiye sahipsiniz şu anda. Bulmaca 2 Elimizde iki değişken var. Biri elmaSayısı. Diğeri armutSayısı. Hangi değerleri tuttuğunu bilmiyorsunuz. Şimdi öyle bir kod yazınki bu değerler yer değiştirsin. Yani en sonunda elmaSayısı armutSayısı'nın tuttuğu değeri tutacak. armutSayısı ise elmaSayısının tuttuğu değeri tutacak. Atıyorum önceden elmaSayısı 5 değerini tutuyordu. armutSayısı 10 değerini tutuyordu. Sizin yazacağınız kod şöyle bir durum yaratacak elmaSayısı 10 değerini tutacak. armutSayısı 5 değerini tutacak. Fakat 5 ve 10'u siz bilmiyorsunuz. Doğal olarak elmaSayısı = 10; armutSayısı = 5; şeklinde bir kod yazamazsınız. elmaSayısı = armutSayısı; yazarsanız ikisi de eşit hale gelir doğal olarak elmaSayısının eskiden tuttuğu değeri kaybedersiniz. E ne yapacaksınız o zaman? Çarkları döndürme vakti geldi Hadi göreyim sizi! Çözüm en aşağıda ama yanıta bakmadan önce bir yarım saat düşünün en azından. * Bulamacaları doğru cevaplarsanız tebrikler. Yanlış cevaplarsanız bu sizden bilgisayar mühendisi olmayacağı anlamına gelmiyor. Önemli olan şey şu bu tip işlerle, problem çözümüyle, kod taramayla, okumakla, araştırmakla uğraşmak istiyor musunuz? Kendini geliştirmenin ne olduğunu merak etmiştiniz değil mi? İşte söyliyeyim. Ben ilk bilgisayar sınavımdan yani vizemden 59 aldım. 59 almaya alışık bir öğrenci değilimdir. Bu vizeye gelene kadar yaptığım şey konulara çok iyi çalışıp mantığını kavramam ve derste daha önce çözdüğümüz örnek soruları çözmek. Lisede matematik sınavına böyle çalışırdık sonra 85 alır rahatlardık. Fakat burası üniversite. Benim üniversitemin adına kanmayın, her yerde böyle. Finale ise daki soruları çözerek girdim. Bi 30 soru filan çözmüşümdür. Finalden 79 aldım. Bu da düşük demek ki daha fazla çalışmam gerekiyormuş. Ama kendimi geliştirdiğim çok açık. Ekşi sözlükten sürekli bilgisayar mühendisliğiyle ilgili başlıklara entry atan biriyle konuştum. Bizim okuldanmış. Microsoft'a çalışıyormuş!!! Ve çok komik, bu yazarın kendi başlığında biri bu yazar için "Birkaç sene önce bana 'Ağabey bilgisayar mühendisliği yazmayı düşünüyorum önerir misin?' diye sorduğunu dün gibi hatırlarım." minvalinde bir şey yazmış. Yani bu Microsoft'ta çalışan kişinin programlama geçmişi yokmuş. Blogunu inceledim. Kişisel projelerine günde 8 saat ayırdığı oluyormuş adamın. Şöyle bir hesap yapsak, bir kişi günde 8 saat bilgisayar çalışsa 1-2 ayda bir bilgisayar/programlama kitabını bitirebilir. 4 sene de 24 kitap demek ki 24 kitap demek 24 alan hakkında bilgi sahibi olmak demektir bu da bilgisayar olayını yemek bitirmek demek. İşte kendinizi geliştirmekten kasıt bu. Kendi kendine öğrenmek, kendi kendine projeler yapmak. Şu an için benim yaptığım yukarıda gördüğünüz tipte bulmacaların / algoritmaların / problemlerin daha zor olanlarını çözmek. İlk sene böyle şeylerle haşır neşir olacaksınız yani. Tabii bu ilk dersti, kolaydı, daha ilerisi için bir dili öğrenmek java öneririm ve bu dilde matematik problemleri çözmek olur. Dil öğrenmeye şimdiden başlarsanız bu işte sıkılıp sıkılmayacağınıza karar verebilirsiniz. Ama çok da bağlanmayın, aklınızda başka mühendislikler varsa onları da araştırın. Dil öğrenmek için Veya ama java yok. Türkçe kaynak da bulabilirsiniz, benim bildiğim var ama saf videodan oluştuğu ve kişi profesyonel olmadığı için yukarıdakiler gibi eğlenceli gelmeyebilir. Ben sadece anlayamadığım kısımlarda yardım aldım bu arkadaştan Java sorusu çözmek içinse * Yazı bitti. Bulmacaların cevaplarına bakmayı unutmayın! Son olarak aklınızda bilgisayar mühendisliği varsa şu sorulara cevap verin 1- İngilizce'yi iyi öğrenip upuzun kitaplar okuyacak, bitmek bilmeyen eğitim videoları izleyecek şevki kendinizde buluyor musunuz? Ekleme İngilizce'ye çok yabancıysanız söyleyeyim, zor bir dil değil. 2- Okuldan bağımsız öğrenme yapabilecek misiniz? Okulda gösterilmeyen şeyleri öğrenmek için günlerinizi, haftalarınızı harcayabilecek misiniz? 3- Zor ve karışık problemlerle uğraşıp çözüm için gerekli araştırmayı yapabilecek misiniz? Oldukça zor problemlerin çözümlerinin mantığını anlamak için uğraşmanız, çözümde hata çıkarsa nerede çıkıyor diye uzun uzun kodları satır satır taramanız gerekecek. Bunun için yeterli misiniz ? Aslında yeterlisiniz, sadece gerekli uğraşıvermeniz lazım. 4- Program yazmayı hobi olarak yapabilecek misiniz? Aslında bu soruların çoğunu herhangi bir mühendis adayı "Evet" olarak cevaplamalı. Yani bu sorulara hayır diyorsanız başka bir mühendislik alanı size göre olabilir diyemem pek. Kodlama elektronikçilere de lazım. Karışık problemler çözme, bağımsız öğrenme, İngilizce bunlar tüm mühendislere lazım. Tabii patlak mühendis olmak istemiyorlarsa. Son soru Saatlerce program yazabilecek misiniz? Bundan bahsedecektim ama unutmuşum. Arkadaşlar ben bu mayıs ilk oyunumu çıkardım. Dönem ödeviydi, mayısın 1'inde başladım, 16'sında bitirdik. 4 kişiydik, fakat herkesin eşit çalıştığını söyleyemeyeceğim, bunda grup arkadaşlarımın elektronikçi olması dolayısıyla bilgisayar dersini fazla sallamaması, benim liderlik yapmaya çalışıp çok fazla sorumluluk almam ve sonunda fail olmam var. 16 gün boyunca kod yazdım ama 16 günün 5 gününde geceli gündüzlü yazdık. Sabah 9'da oturuyordum başına gece 11'de kalkıyordum. Her gün babama dert yanıyordum. Psikolojim bozulmuştu. Üstüne bir de grip oldum ve finallere hasta girdim. Hocalar programı incelediler ve programlama açısından zayıf buldular. 7/10 verdiler, kahroldum. Fakaat; 16 günün sonunda her şey bitince ve program daha doğrusu oyun tıkır tıkır tam istediğiniz gibi çalışınca yaşadığınız mutluluk paha biçilemez arkadaşlar. Düşünsenize az önce bir şey ürettiniz. Sizin fikriniz, sizin emeğiniz. Ki benim oyun orjinal bir fikir üzerineydi. Şu anda elimde MEB'e satabileceğim bir proje var. Ha, oyunu javadan körlemesine yazdığımız için baştan kaybetti. Unity2D'te tekrar yazacağım, orada nesneleri sürükleyerek de program yazabiliyoruz çünkü. Java sırf yazıdan ibaret Özetle ben 5 gün geceli gündüzlü kod yazdığıma memnunum çünkü bilgisayar mühendisliği yazarken içimde olan "bir şeyler üretme" arzusunu çok kısa bir sürede tatmin ettim. "Nasıl katlanıyorlar bu insanlar bu kadar uzun süre bilgisayar başında oturmaya" derseniz işte böyle. Gerçi abim bankada yönetici o da sürekli bilgisayar başında oturuyor. Masabaşı olmayan iş bulmak zor, sırf bilgisayar mühendisliğine has değil masa başı iş. İyi tercihler Bulmaca 1 Cevap Bulmaca 2 Cevap Edit Siteler engelliymiş. O zaman buraya yazayım direkt Bulmaca 1 Kullanıcı rakam tuşuna bastığında dinleyici rakamı algılıyor dedik. Bir hesap makinesinde bir rakama basarsanız ne olur? Yukarıdaki boş kutuda rakamı görürsünüz değil mi? Yani atladığım kısım şu; kullanıcı rakam tuşuna basınca controller rakamı algılamalı daha sonra ikinci rakamı beklemeden hemen viewa rakamı göndermeli ki view da söz konusu rakamı boş kutuda yayınlasın. Yani 5 tuşuna bastık. 5 rakamını hemen hesap makinesinde görmeliyiz. Fakat blogta bu kısmı atladım. Blogta yazdığım yönergelere göre kullanıcı anca 5'e çarpıya ve 6'ya basınca hesap makinesinde 30'u görüyoruz. Çünkü sadece burada controller view'ı güncelliyor. Bulmaca 2 Cevap Atıyorum elmaSayısı 5 olsun. armutSayısı 10 olsun. Üçüncü bir değişken belirleyelim. Bunun adı "geçiciDeğişken" olsun. int geçiciDeğişken; geçiciDeğişken = elmaSayısı; Böylelikle geçiciDeğişken elmaSayısı'nın tuttuğu değeri aldı. Yani 5 oldu. elmaSayısı = armutSayısı; elmaSayısı da armutSayısı'nın tuttuğu değeri aldı. Yani 10 oldu. Üçüncü bir değişken belirlemeseydik elmaSayısı'nın eski değerini yani 5'i kaybederdik. Fakat elmaSayısı'nın eski değerini "geçiciDeğişken" adındaki değişkende yedeklediğimiz için 5'i tarihin tozlu sayfalarına gömülmekten kurtarmış olduk. armutSayısı = geçiciDeğişken; Yani kod şu; int geçiciDeğişken = elmaSayısı; elmaSayısı = armutSayısı; armutSayısı = geçiciDeğişken Bunun sonucunda elmaSayısı ve armutSayısı değişkenlerindeki değerler yer değiştirmiş oluyor. geçiciDeğişken neyi tutuyor önemsiz. Adı üzerinde geçici o. DURUN! Daha bitmedi. Microsoftta çalışan ekşi sözlük yazarından bir kitap önerisi almıştır. Bu kitapta şöyle bir soru var elmaSayısı ve armutSayısı isimli iki değişkenimiz olsun. Bu değişkenlerin tuttuğu değerler yer değiştirsin. Yani yine aynı soru. Fakaaat. 3. bir değişken kullanamazsınız. geçiciDeğişken kullanamazsınız yani. Bu soruyu çözebilecek bilgiye kesinlikle ama kesinlikle sahipsiniz arkadaşlar. Cevabınızı bloga gönderebilirsiniz. Hadi göreyim sizi! İyi kodlamalar İpucu Matematiksel düşünün. Bilgisayar Mühendisi Ne Demek? Bilgisayar mühendisi çip, analog sensör, devre kartı, klavye, modem ve yazıcılar dahil olmak üzere bilgisayar donanım ve ekipmanlarının araştırılması, tasarlanması, geliştirilmesi ve test edilmesinden olarak yazılım, programlama ve algoritma ile ilgilenir. Tümünü Gör

bilgisayar mühendisliği iş bulma oranı