Kategoriler


SON YORUMLAR
mehmet uluğ
bu makalemsi makale! şaka olmalı:)
sevda
beğendim
Reyting Amca
Sitenin reytingi düştü. Google.da aratınca arkalarda çıkıyor. Eskiden ilk sırada çıkardı. Site sahibi ateşli yazılar yazmıyor 1-2 yıldır...
Seda
web sitesi, masa üstü uygulamaları, muhasebe, restaurant, otel, barkot sistemleri yazılımı yapılır. adres:s.sedaerden@gmail.com
Hafize
Yazılım ödevleri ve web sitesi yapılır.Bilgi için hafizearduc@hotmail.com
Gamze
C#, C++, ASP.NET-MVC, HTML-CSS, Matlab, Arduino ödevleri yapılır. Bilgi için; gamze.zirh@gmail.com
Eyüp yılmaz
merve seni seviıyorum asl bebeyoö
BEYZADE BOZTEPE
18 Yaşındayım ınstagram=beyzadebztp
Eyüp yılmaz
39 yasındayım coderım hackerıım ıp verın modemınıze vurayım
BEYZADE BOZTEPE
18 Yaşındayım ınstagram=beyzadebztp (çıkın çıkın gelin GIZLARRRRR)
BEYZADE BOZTEPE
EYVALLAH BENDE İYİYİM
BEYZADE BOZTEPE
İYİYİM GEZEGEN SEN NASILSIN
Eyüp yılmmaz
17 yasındayım kız talıplerımı beklıyom ınsatgram= eyup.yılmaz3
BEYZADE BOZTEPE
MERHABA DÜNYA

Bilgisayar Mühendisleri
Here is the website inspired me to use 
it as a guide when I tried to define 
myself as an engineer candidate a few 
years ago. It really helped me to work
 and study feeling in confidence with 
being on the right way. I suggest this 
website to whom it may direct her/his 
to find the right career path. It 
includes many articles varies from 
real life experiences to detailed 
software engineering issues. But the 
most dignified parts for me are the 
articles in general and career titles.
Son okunan makaleler:
Kim neyi niye seçer? Java mı c# mı? Oracle vs SqlServer?
Java'nın kurucusu Google'a transfer oldu
Neden Bilgisayar Mühendisliği?
Bilgisayar Mühendisleri Kaç Para Alır?
En iyi bilgisayar mühendisliği bölümüne sahip üniversiteler
Üniversitelerin akademik yayın karşılaştırması
Facebook Developer Toolkit ile Örnek Program
AJAX ve Şahane Ajax Örnekleri
Introduction to making multithreaded VB.NET Apps
VERİ İLETİM TİPLERİ - Half Duplex - Full Duplex - Simplex
Akıllı İstemci & Web Uygulamaları
Bir bakışta Java ve C# karşılaştırması
DataGrid ve GridView Kontrollerinde Görünmez Kolonlar
C#: Nitelikleri Kavramak (Attributes)
Online Java Dersleri - Interface and Inner Classes
Windows Workflow Foundation'a Giriş
Windows Workflow Foundation Conditions
Bilgisayar mühendisliği öldü?
Bilgisayar Mühendisleri Kaç Para Alır?
SQL Server - SP için önemli ipuçları

Bilgisayar Mühendisleri Portalı

Kim neyi niye seçer? Java mı c# mı? Oracle vs SqlServer?

Bilgisayar mühendisliğini yeni kazanmış bir çok öğrenci, 2. 3. hatta 4. sınıf öğrencileri hangi alana kayacaklarını bilemiyorlar. Hangi yazılım dilini öğrenmesi gerektiğini ya da hangi database'i öğrenmesi gerektiğini bilmiyor ve bocalıyorlar. Hatta internet ile ilgili yazılım dili mi yoksa desktop uygulamaları ile ilgili yazılım dillerini mi öğrenmeleri gerektiği konularında çok sıkıntı yaşıyorlar. 

Malesef üniversitedeki hocalar her nekadar MIT vs. gibi amerikan üniveristlerin bile mezun olsalar bu konularda öğrencilere pek yardımcı olamıyorlar. Bunların sebeplerini sıralamak gerekirse:

1. Hocaların bu konulardaki becerisizlikleri genellikle isteksizliklerinden kaynaklanıyor. Yani öğrencileri yönlendirmekten korkuyorlar. Tabuları yıkamıyorlar ve müfredat dışına çıkamıyorlar. Müfredatlar genelde çok kolay değişmiyor, ancak devrimci hocaların devreye girmesiyle dersin içeriği öğrecilere birşeyler vermeye başlıyor. 

2. Hocaların öğrencilere fazla yardımcı olamamalarının diğer bir sebebi sektöre çok uzak olmaları. Sektöre yakın hocalar da ancak yakın oldukları firmalardaki çevreden çok fazla etkilenip sanki bu duydukları şeyleri kesin kural kabul etmeye başlıyorlar... Örneğin Java ve C++ gibi şeyleri tabu kabul ediyorlar... 

3. Genellikle öğrencileri yazılımdan hem korkutuyorlar hem soğutuyorlar. Yazılım çok kolay, ama ingilizce kavramlarla bunları korkunç zor şeylermiş gibi sunuyorlar.  


Okullarda yazılım öğretimleri çok yanlış bir şekilde başlıyor. Zaten bilgisayar mühendisliğinde bölüm dersleri genelde 3. sınıfta başlıyor... 3. sınıf çok geç!!! 3. sınıfa kadar zaten öğrencileri yetrince başı boş bırakıyorsunuz ve korkularının büyümesine sebep oluyorsunuz. Genellikle Java ve C++ derslerinde anlatılan OOP programlama dersleri yanlış tekniklerle anlatılır? ingilizce kitaplardan yanlış çevirilerle yapılan ders sonucunda öğrenciler neredeyse travma geçirirler. OOP içinde geçen Polimorfizm  vs kavramları öyle karmaşık anlatırlar ki... Bu karmaşıklığın en büyük sebeplerinden biri de öğrenciler yeterince programlama mantığını kapmadan onlara daha mükemmel programlama teknikleri anlatılmasıdır. Öğrencilere zor projeler veriyorlar. Zor proje veren hoca yücelir, zor proje veren üniversitenin adı iyiye çıkar mantığı hakim. Ama verilen projeleri öğrenciler çoğu zaman internetten indiri ve anlamadan teslim ederler. Hocalar da ödev başlıklarını aynen yabancı üniversitelerin sitelerinden alırlar. Amerika ve Kanada'da bulunan üniversitlerin verdiği yazılım ödev konularının aynısını hiç bir değişikliğe uğratmadan öğrencilere verirler. Öğretmenlerin çabalama kavramı genelde yabancı üniversitelerin ders içeriklerini kopyalamaktan geçiyor. Yaratıcı ödev verenler bir elin parmaklarını geçmiyor. Öğrenciler öğretmenlerini çok yaratıcı bulabilirler ama internet çağında basit google aramalarında herşey bulunuyor. Hocalar kendilerini yenilemeliler, ödev içeriklerini kendileri oluşturmalılar... Ders içeriğinde anlatılan şeyleri kendileri çalışıp gelmeliler... Gerekiyorsa piyasada çalışan bilgisayar mühendislerini derslerinde konuşmacı olarak getirmeliler. Bu tür şeyler öğrencileri gaza getirir. Üniversitede derse girenler ,atıyorum , C++ dersine giriyorsa önce öğrencilere C ve C++ farkını anlatmalılar. Visual C, Visual C++, Borland C, vs... gibi şeylerin ne anlama geldiğini MFC, VCL gibi kütüphanelerin amaçlarını anlatmalılar. Bunları anlatmadan OOP programlamada bisiklet/araba örneğine geçmemeliler... Database dersi verenler SQL anlatırken piyasadaki tüm databaseler olmasa da 5-6 tanesinin neler olduğunu ve ne zaman ne şekilde seçmeleri gerektiğini anlatmalılar. SQL SERVER, ORACLE, MySQL  gibi şeylerin neler olduğunu en azından bir ders anlatmalılar. Sınıflarda bu tür programların kurulumları anlatılması gerek. yani SELECT, DELETE; INSERT; WHERE GROUP BY anlatmakla database dersi geçiştirilmemeli. Stored Procedure, Fonksiyon anlatılmalı ve bunların Java, C#, ve diğer programlama toolarında kullanımı da anlatılması gerekir. Tamam herşeyi hocalar anlatamaz ama hocalar sınıflarda OOP dersinde bisiklet anlatmayı, database dersinde SQL anlatmayı bırakmalılar. Bunları yaşayan projeler içinde anlatmalılar. Bu anlatımlar sanıldığı gibi uzun şeyler değil. SQL komutları 1 günde öğrenilir/öğretilir... Daha detaylı şeyler anlatılmalı. Ole DB, ODBC anlatılmalı... Database seçimin neye göre yapılacağı öğrencilere anlatılmalı. Bu yazımızı bu konularda öğrencilere ve bu işlerden az anlayanlara biraz yardımcı olmak için yazıyorum... Sitemizin üniversite öğrencilerine yaptığı katkıyı her geçen gün görüyoruz, sizlerden bu konularda çok sayıda email geliyor. Email göndermeye devam edin...

Üniversitelerde Programlama dersleri 1. sınıfta mutlaka yoğun bir şekilde başlamalı. Artık meslek liselerinin bilgisayar bölümlerinden mezun olanlardan bir çoğu malesef bilgisayar mühendisliğinden yeni mezun olmuş kişilerin %70'inden daha fazla şey biliyor. Çünkü okulda korkutulan üniveriste öğrencileri başı boş bırakıldıkları için boş boş mezun oluyorlar. Ancak iyi yerlerde staj yapanlar ve öğrenciyken parttime çalışanlar kendini geliştirebiliyor. Bitirme projesi yaparak malesef kendinizi geliştiremezsiniz. 

OOP Seçimi? Program yazarken her zaman OOP mı yapmak zorundayız?
Hem evet hem hayır. OOP denilen şeyi gözünüde çok büyütmeyin. OOP bir kavramdır ve günümüzde hemen hemen tüm programlama dilleri OOP destekler. Yani java'yı seçerken ya da C++'ı seçerken bu diller OOP 'dır diye SEÇMEMELİYİZ. Seçiyorsak başka kriterler devreye girmelidir. Bilmeyenler tarafından animasyon ve banner programı olarak bilinen FLASH'ın dili olan Action Script bile OOP modelini kullanır. Action Script 3.0 bilenler hemen mail atabilirler, AS3'ün bazı şeyleri OOP metodları farklı diyebilirsiniz. Ama hangi dilin saf OOP olduğunu söyleyebiliriz ki. Daha doğrusu kalıtımsallıklar ya da başka kurallar dilden dile farklılık gösterebilir. Bu yüzden bir öğrenci ya da mezun bilgisayar mühendisi ben OOP biliyorum diye ortalarda dolaşmamalı zaten OOP'yı bilmelidir. Ve hangi tooların OOP desteklediğini de bilmelidir. Çünkü banner programı diye küçümsenen Flash'ın yapabileceklerini bilmeyen bilgisayar mühendisleri bir proje geldiğinde hemen JavaApplet yapalım diye bilirler. Yani bir tool bilmek yetmiyor, öğrenciyken olaibldiğince şey öğrenin, mezun olunca da öğrenmeye devam edin. Yoksa sadece java biliyorsunuz diye Applet yapamaya kalkarsanız projelerin altından kalkamazsınız. Ayrıca Java biliyorsunuz diye Applet yapıp sonra security sınırlamalarına takılabilirsiniz. Burada demek istediğim Falsh ile yapın değil... Hatta flash ile ypılan hemen her şey Javascritp/DHTML ile yapılabiliyor. Eğer Javascirpt'in gücünü bilmezseniz seçimlerinizi yine yanlış yaparsınız. Aynı şekilde Javascript'in sınırlamalarını bilmezseniz yine patlarsınız. Bu yüzden ne kadar çok şeyi detaylı öğrenirseniz o  kadar seçim şansı yapma şansınız artar... 

Konu dağılmadan gelelim en popüler 2 soruya: 

C# mı ? JAVA mı?
Dünyada sadece bu ikisi yok, başka bir sürü şey var. Ama varsayalım sadece ikisi var. Yine saçma bir soru olur çünkü hangi projeyi ne amaçla hangi bütçeye göre yapacağınıza göre bu sorunun cevabı iş hayatınca çok büyük farklılıklar gösterir... Ayrıca soru C# mı Java mı olmamalı yanına bir çok tool da eklenmelidir. Yapacağınız projeye ve çevre faktörlerine göre seçiminiz yapmalaısınız. Bunlar şunlar...

1. Proje ne projesi? 
2. Bütçeniz ne kadar? 
3. Elinizdeki elemanlar hangilerini biliyor?
4. Birilerini etkilemeniz gerekecek mi? 
5. Süre ne kadar?
6...

Proje ne projesi? 
İnternet bankacılığı gibi bir internet uygulaması mı yoksa bir desktop uygulama mı? Genelde bir projeler tek bir tool kullanarak yapılıyor sanabilirsiniz. Ama her zaman öyle olmuyor. Bazen hem masaüstü program yazmanız hem internet uygulamaları yapmanız hem de mobil uygulamalar yapmanız gerekebilir. Buna göre de ihtiyaçlar değişir. Eskiden Java ilk çıktığında çok havalıydı özellikle kurumsal firmalar arasında... Özellikle enterprise uygulamalar geliştirmek için java tercih edilirdi. (niye bilen yok, sadece havalı!, sorsak bir sürü şey anlatırlar ama!!!) Ancak microsoft .NET çıkardıktan sonra özellikle C# çıkardıktan sonra özellikle üniversite öğrencileri arasında popüler oldu daha sonra bu kurumsal firmalara da sıçradı. Özellikle C# ile daha hızlı projeler geliştirebilmek bu etkiyi tetikledi.  Size tavsiyem hem java hem C# öğrenin sanıldığı gibi zor değil. her ikisiyle de projeler yapın. 

ORACLE vs SQL SERVER
Oracle'a ihtiyacı olamayanlara bile Oracle satıyorlar, korku ve ün böyle birşey işte... Çoğu firmaya Express editionlar bile yetebilecekken Oracle ve Sql server diye tutturmanın bir anlamı yok. Ama size tavsiyem SQL server kullanmanız ve öğrenmeniz. Zaten Oracle kullanan büyük firmalar oracle admini istihdam ediyorlar. sıkışırsanız ondan yardım istersiniz ama SQL server bilmiyorum ya da şunu yapamadım derseniz küçük düşme ihtimaliniz var... Ama her iki ile de proje geliştirmiş olmak size daha çok şey katacaktır ve CV yazarken daha güzel duracaktır... Ayrıca Accsess 'i de öğrenmeden geçmeyin. Excel'den veri okumayı database teknikleriyle öğrenin... Excel'i bilmek ilerde bir çok iş yaparken size kolaylık sağlayacaktır.  Çünkü müşterileriniz çoğu bilgiyi excel'de verecekler size...

Yani kısaca hangisini öğreneyim diye sormayın. Hepsini öğrenin girdiğiniz işlerde hangi kullanılıyorsa onu kullanmaya devam edin. 

Bu arada programlama öğrenirken sadece tek bir dala yönelmeyin. Yani sadece internet programcılığını öğrenmeye kalmayın. Bol bol Desktop programları da yapın. Aynı şekilde sadece Desktop programcılık yapmayın internet programcılığı da yapın. Cep telefonunuz için uygulamalar da geliştirin. büyük firmaların yazdığı ürünleri mutlaka iyice incleyin. Photoshop öğrenin, Fireworks, Flash öğrenin. MS Office içinde gelen bir çok uygulama var bunları iyice incleyin. Bu incelemeleri bir bilgisayarcı gözüyle yapın. Butonlar nereye konuyor, yazılar nereye yazılıyor, resimler nereye konuyor bunları gözlemleyin.  Programları bilgisayarcı gözüyle inceleyin. Yani araba fabrikanız olsaydu ve rakip firma yeni bir model çıkarsa hemen içine girip her yerini kapısını penceresini vitesini incelerdiniz muhtemelen. Aynı şekilde önünüze gelen programların herşeyini inceleyin. Ayarların yapıldığı yerleri, menüleri, yerleşim şekilellerini, butonlarını bile inceleyin... Bir web sitesine IE ile giriyorsanız bir de firefox ile girip bakın, ne gibi farklar oluyor. Bir web sitesinin kullanıdğı teknolaojilerin neler olduğunu incleyin, IIS mi kullanıyor Apache mi? aspx ile ypılmış web sitesinin hangi sürüm olduğunu incleyin. Wisual studio ile mi yapılmış web sitesi yoksa başka tolarla mı? bunları mutkala inceleyin...Windows 7 çıkıyor programıclara ne gibi kolaylıklar sunuyor hemen inceleyin, internet Explorer 8 çıktı hemen inceleyin, developerlara sunduğu imkanları araştırın. Araştırın ki geri kalmayın, geri kalmayın ki seçimlerinizi daha doğru kriterlere göre yapın. Teknolojinin nereye yol aldığını görüp ona göre sizde rotanızı belirleyin. 

Konu uzun ama şimdilik bu kadar başka bir yazıda görüşmek üzere... görüşlerinizi sayfaların altındaki yorum köşelerine yazabilirsiniz. ayrıca kariyer@bilgisayarmuhendisleri.com adresine göndermeye devam edebilirsiniz.

Bu makaleyi beğendin mi? Yorumunu Yaz!







Sizden Gelen Yorumlar:

Yorum Yazın

Array.Sort(dizi)(22.01.2011 21:18:45)
Array.Sort(dizi) ha 7 milyar tane veriyi bu komutla dizmenizi isterdim 4 byte integer olsa 28 milyar byte eder 28 gb ram kullananarak 64 bit bir bilgisayarda belki dizerdiniz. Gerçi sizde haklısınız türkiyede o kadar veriyi işleyemeye ihtiyaç duyacak şirket nerede ?
%17 %0 %83
Katılıyorum Çekimserim Katılmıyorum



Gürkan(22.01.2011 12:50:17)
Çok güzel bir yazı olmuş. Üniversite Matematik bölümü öğrencilerine C# eğitimi veriyorum. Durum aynen anlattığınız gibi. Net de çok basitce Array.Sort(dizi) şeklinde yapılabilecek işlemleri derinlere inip saatlerce anlatarak kafalarını bulandırıyorlar. İş gerçek bir projeye geldiğinde çuvallıyorlar. Bende bir öğretmenim ve üniversite hocalarının anlattıkları şeyleri bir kez bile uyguladıklarından şüpheliyim. Yani bir veri tabanı programlama projesi yapmadan veritabanı bilgisi öğretmeye çalışmak öğrenciye yapılan en büyük haksızlıktır.
%56 %11 %33
Katılıyorum Çekimserim Katılmıyorum



Mesut(27.09.2010 02:47:47)
Yazıyı okuduğumda mühendislik kavramının net olarak anlaşılamadığını görüyorum. Dersimizde hocalarımız bize mühendis gibi düşünmekten bahsetmişlerdi. Mühendis olabilme yetisi çok şey bilmekten geçmez, bir sistematiğin nasıl projelendirildiği ile alakalıdır. Bu yüzden onu bilin bunu da bilin diyerek sadece sektörün basit işlerini yaparsınız. Türkiye'de bilimin uygulaması teknoloji olmalıdır ve Türk mühendislerde teknoloji değil bilim öğrenmelidir.Saygılarımla...
%44 %0 %56
Katılıyorum Çekimserim Katılmıyorum



Serkan(27.08.2010 10:17:41)
Özel bir şirkette yazılım mühendisi olarak görev yapmaktayım. Öncelikle yazınız için emeğinize sağlık. Olumlu yönden yazınızı eleştirmek isterim. Şunu belirteyim ben elektronik bölümü meslek lisesi mezunuyum. 14 senedir de bilişim sektöründe çalışmaktayım. Gelelim yazınıza, konuyu işlerken paragraflar arasında ve cümleler arasındaki konu anlatımında çok fazla kopmalar olmuş. Bu nedenle ilgili yazıyı okuyan arkadaşların kafaları karışabilir. Akademik olarak verilen eğitimlerin çok yetersiz olduğunu devamlı gözlemlemekteyim. İlgili yazıyı okuyanların, kararsız ve net olmadığından dolayı ki, her nekadar yazının sonunda bazı netlikler olsada bence bir üniversite öğrencisi için ağır. Ben burada C# mı Java mı Oracle mı SQL Server mı demiyeceğim. Database Management and Development için en önemlisi olan alt yapıları ve çalışma mantıkları hakkında bilgi edinilmesi gerekmekte. Eğer günde 1 milyon transaction lı bir proje yazılacak ise ve maliyet olarakta bir sıkıntı yoksa Database kısmında net olup Oracle denilebilir. Maliyet sıkıntısı var ise SQL Server olur, gibi örneklemeler yaparsan yazında bence daha sağlıklı bir yazı olup nokta atışı yapmış olursun.
%53 %7 %40
Katılıyorum Çekimserim Katılmıyorum



Engin yıldız(27.06.2010 00:52:13)
C# javanın birebir aynısıdır microsoft javanın güçlü ve yöntemini yıkmak için çıkarmıştır ne yazıkkı microsoft sabıkalıdır yazılım dünyasında çok tercıh edilir ama java tekdir bu nedenle java halt etmek için C# çıkarmıştır mssql ise tam bir güvenlik açısındır zayıf ve sinir edicidir görselliği iyidir yapımıda kolaydır ama oracle veritabında tekdir zordur geniştir sınır yoktur amma web tabalarında sorun olabilmektedir bağlantı aşamalarında sık karşılaşırız bu konudada mysql 10 numaradır
%29 %0 %71
Katılıyorum Çekimserim Katılmıyorum



Serpil(05.06.2010 02:02:16)
Çok güzel ve açıklayıcı bir yazı olmuş tebrikler... Ama yine de seçim konusunda işimiz zor belli ki :/
%29 %14 %57
Katılıyorum Çekimserim Katılmıyorum



fatih(26.12.2009 19:25:44)
Çok saçma bir yazı olmuş. Ellerinize sağlık. .Netçi arkadaş.
%40 %0 %60
Katılıyorum Çekimserim Katılmıyorum



Mustafa(30.09.2009 14:31:12)
çok kapsamlı bi konu. mühendislik eğitimi özellikle bilgisayar mühendisliği eğitimi tamamen farklı bir alan olarak ele alınmalı.öncelikle tanım yaparak işe başlanmalı. Bilgisayar mühendisi nedir? bu soruya herkes kendi açısından bakınca ortaya karışık birşey çıkıyor. Ve dahası bilgisayar mühendisi nedir sorusunun cevabı yok,içinde çok fazla alanları var. bunun bedeli ülkenin geri kalması oluyor. sonuçta türkiye de mühendis olmak isteyenler aynı zamanda idealleri olan kişiler olmalı diye düşünüyorum çünkü kimsenin umrunda değiller ağlamak yerine bişeyler yapmak zorundalar, kısacası kendi başının çaresine bakmak zorunda. karışık bir yorum oldu farkındayım ama son olarak yazıya döncek olursam güzel şeylerden bahsedilmiş ama biraz bilgisayar mühendisininin tanımı sıkıştırılmış sanki. Çalışmalarınız da başarılar..
%27 %27 %45
Katılıyorum Çekimserim Katılmıyorum



(29.09.2009 18:43:32)
güzel yazmışsınızda benim dersime giren arş grv. daha sql den de oop dende bihaberdi hatta sql serveri bile kullanamamıştı hocada bihaberdi. okulun adını yazmayayım iice ayıb olmasın ama anlayan anladı.
%46 %8 %46
Katılıyorum Çekimserim Katılmıyorum



Mehmet(29.09.2009 13:59:31)
mükemmel bir rehberlik olmuş aklınıza saglık ancak bu rehberliğin devamını ısrarla bekliyorum
%47 %6 %47
Katılıyorum Çekimserim Katılmıyorum





Yazılan yorumlar tek sayfaya sığmadı. Daha fazlasını okumak için aşağıda sayfa numarasına tıklayın:
1   > 2   > 3 

Copyright© 2001-2017. Bilgisayar Mühendisleri Portalı | Bütün hakları saklıdır.