Yazılım nasıl öğrenilmeli?

TacsizKralTR

Hectopat
Katılım
5 Ocak 2021
Mesajlar
1.366
Çözümler
10
Daha fazla  
Cinsiyet
Erkek
Merhaba, biliyorum bu konudan forumda tonlarca var fakat herkesin öğrenme şekli farklı. Bende kendime uygun olanı bulmak için kendi konumu açtım.

Öncelikle bu sene Marmara Üniversitesi bilgisayar öğretmenliği kazandım. Biliyorum öğretmenlik olduğu için mühendislik kadar görmeyeceğim ama yine de biraz göreceğim bu göreceklerimden de faydalanarak yazılım öğrenmek istiyorum. Açıkçası şu an hiçbir şey bilmiyorum 0'ım gibi bir şey. 8. sınıfta ufak tefek oyunlarla ilgili script yazıyordum fakat ne biliyorsam unuttum. Çoğu kişi Python başla diyor bu mantıklı olabilir ama nasıl başlamalıyım. Örneğin bir video izledim uyguladım başka izledim uyguladım öğrendim artık dedim sonra ne yapmam lazım. Örneğin hesap makinesi yapmayı dene yapabilirsen öğrenmişsindir şu dile geç. Veya şunu yap sonrasında başka bir şey yap sonra daha zor bir şey yap yapabilirsen öğrenmişsindir vb. yani başlangıç kolay ama ilerlemesi zor. Python'dan sonra hangi dili öğrenmem lazım onu nasıl ilerletmem lazım kısa şekilde anlatabilirseniz sevinirim. Bir de video vb. önerebilirseniz sevinirim.
 
Merhaba, biliyorum bu konudan forumda tonlarca var fakat herkesin öğrenme şekli farklı. Bende kendime uygun olanı bulmak için kendi konumu açtım.

Öncelikle bu sene Marmara Üniversitesi bilgisayar öğretmenliği kazandım. Biliyorum öğretmenlik olduğu için mühendislik kadar görmeyeceğim ama yine de biraz göreceğim bu göreceklerimden de faydalanarak yazılım öğrenmek istiyorum. Açıkçası şu an hiçbir şey bilmiyorum 0'ım gibi bir şey. 8. sınıfta ufak tefek oyunlarla ilgili script yazıyordum fakat ne biliyorsam unuttum. Çoğu kişi Python başla diyor bu mantıklı olabilir ama nasıl başlamalıyım. Örneğin bir video izledim uyguladım başka izledim uyguladım öğrendim artık dedim sonra ne yapmam lazım. Örneğin hesap makinesi yapmayı dene yapabilirsen öğrenmişsindir şu dile geç. Veya şunu yap sonrasında başka bir şey yap sonra daha zor bir şey yap yapabilirsen öğrenmişsindir vb. yani başlangıç kolay ama ilerlemesi zor. Python'dan sonra hangi dili öğrenmem lazım onu nasıl ilerletmem lazım kısa şekilde anlatabilirseniz sevinirim. Bir de video vb. önerebilirseniz sevinirim.

Açıkçası bence onu da kendin araştırarak öğrenmelisin bizim önerilerimiz kendi bireysel deneyimlerimize bağlı kalıyor.
 
Bir defa olaya dil merkezli yaklasmamalisin. Python, C#, Java, C, Go vs bunlar basit seyler.

Nasil algoritma gelistirilir, elindeki data nasil bir veri yapisinda tutulur, programlama paradigmalari neler; bilgisayarin calisma prensibi nedir, yazilan kod islemcide nasil execute edilir, network uzerinden nasil haberlesme yapilir, isletim sistemleri nasil calisir vs gibi genis bir bilgi dagarcigi olusana kadar ogrenim devam etmeli. Aslinda bu dediklerim matematik + ingilizce + algoritma + data structure + network + programming languages + operating systems + database systems derslerinin harmanlanmis hali.

Bu temel teknik bilgileri yazilim gelistirmenin diger tool'lari ile birlestirince git (scm) , shell scripting gibi ciddi proje gelistirmeye hazir hale gelmis oluyorsun.

Bu noktaya gelincesiye dek aslinda yegane amac bir dili kullanarak daha ufak bir alt kumeyi ogrenmeye yonelik proje gelistirme.

Cok buyuk amac -> Yazilim muhendisligi ogrenme
Ortanca amac -> Concurrency ve Threading ogrenme
Ortanca Amaca yonelik proje -> Birbiriyle mesajlasan chat uygulamasi yazma
Ortanca amac icin tercih edilen dil -> Hic farketmez :) Ister Python ile yaz, ister Kotlin ile.

Normalde bu "Nasil baslarim?" konularina mesaj atmiyorum ama hevesli gordum, yardimci olur umarim.
Bu konularda bilip bilmeden atip tutan cok olur, dilden dile atlamani tavsiye edenler, sacma sapan kurslar onerenler ya da nasil baslayacaginin kariyerinin ilerdeki noktalari ile baglantili olmasi gerektigini sananlar ( web yazacaksan ileride PHP ile basla vs gibi ). O yuzden dogru analiz etmeye calis. Basarilar.
 
Bir defa olaya dil merkezli yaklasmamalisin. Python, C#, Java, C, Go vs bunlar basit seyler.

Nasil algoritma gelistirilir, elindeki data nasil bir veri yapisinda tutulur, programlama paradigmalari neler; bilgisayarin calisma prensibi nedir, yazilan kod islemcide nasil execute edilir, network uzerinden nasil haberlesme yapilir, isletim sistemleri nasil calisir vs gibi genis bir bilgi dagarcigi olusana kadar ogrenim devam etmeli. Aslinda bu dediklerim matematik + ingilizce + algoritma + data structure + network + programming languages + operating systems + database systems derslerinin harmanlanmis hali.

Bu temel teknik bilgileri yazilim gelistirmenin diger tool'lari ile birlestirince git (scm) , shell scripting gibi ciddi proje gelistirmeye hazir hale gelmis oluyorsun.

Bu noktaya gelincesiye dek aslinda yegane amac bir dili kullanarak daha ufak bir alt kumeyi ogrenmeye yonelik proje gelistirme.

Cok buyuk amac -> Yazilim muhendisligi ogrenme
Ortanca amac -> Concurrency ve Threading ogrenme
Ortanca Amaca yonelik proje -> Birbiriyle mesajlasan chat uygulamasi yazma
Ortanca amac icin tercih edilen dil -> Hic farketmez :) Ister Python ile yaz, ister Kotlin ile.

Normalde bu "Nasil baslarim?" konularina mesaj atmiyorum ama hevesli gordum, yardimci olur umarim.
Bu konularda bilip bilmeden atip tutan cok olur, dilden dile atlamani tavsiye edenler, sacma sapan kurslar onerenler ya da nasil baslayacaginin kariyerinin ilerdeki noktalari ile baglantili olmasi gerektigini sananlar ( web yazacaksan ileride PHP ile basla vs gibi ). O yuzden dogru analiz etmeye calis. Basarilar.

Öncelikle yazınız için teşekkürler. Dediklerinizin çoğunu tam olarak anlamasam bile araştırarak anlamaya başlayacağımı düşünüyorum. Dediğiniz gibi mesela işletim sistemi nasıl çalışır gibi şeyler bu işlerde önemli mi ? Amaçlarda dediğiniz gibi ilerleyeceğim fakat yazılım mühendisliği öğrenmeden kastınız nedir tam olarak ? Dilden dile atlamayacağım dil olarak Python öğrenip sonra C dillerini öğrenmeyi düşünüyorum. Algoritma az bir şey biliyorum lisedeki 1-2 dersten ve kendi araştırmalarımdan ama geliştirmem lazım tabii ki de.

Ve sizce gerçekten üniversitede bir şey öğretiliyor mu ? Mesela üniversiteyi bekleyip orada öğretilenlerin üzerine koyarak mı ilerleyeyim yoksa düzgün bir şey öğretmiyorlar da kendim beklemeden öğreneyim orayı yardımcı olarak mı kullanayım ?
 
Yazılım mühendisiyim, en kolay yolu bir uygulama planlamak ve onu geliştirirken öğrenmek. Hafif detaylı olması yeterli projenin. Özellik eklerken araştıra araştıra öğreniyorsun. Hangi dil konusunda ise ne yapmak istediğine bağlı. Bir dil her yere uygun değil.
 
Yazılım mühendisiyim, en kolay yolu bir uygulama planlamak ve onu geliştirirken öğrenmek. Hafif detaylı olması yeterli projenin. Özellik eklerken araştıra araştıra öğreniyorsun. Hangi dil konusunda ise ne yapmak istediğine bağlı. Bir dil her yere uygun değil.

Yorumunuz için teşekkürler örneğin en çok alanda kullanılan ve işe yarayan öğrenmem gereken diller hangileri ?
 
Yorumunuz için teşekkürler örneğin en çok alanda kullanılan ve işe yarayan öğrenmem gereken diller hangileri?

Çalıştığım firmada .net, nextjs, Flutter kullanıyoruz. .net ile masaüstü ve web geliştirebiliyorsun, ülkemizde kullanım çok. React ile web ve mobil geliştiriyorsun. flutter ile 6 platforma uygulama geliştirebiliyorsun (ios, android macos windows linux web) Masaüstü için electronJS var, vscode, wp gibi probramlar kullanmış, bi dil daha vardı hatırlamıyorum, o dille react, svelte, vue gibi js frameworklerle masaüstü uygulaması geliştirebiliyorsun. Python ilede web, masaüstü, server işleri hatta oyun yapabiliyorsun. Gördüğün gibi seçenek çok, birini seç hep onda kal diye birşey yok, yeni sistemler seni herşeye bilmeye itiyor. Hepsini bilip hangisi sana uygunsa onu seçiyorsun. Yani birini seç başla. .Net ile başlamanı tavsiye ederim. oop sistemini kavra.
 
Dediğiniz gibi mesela işletim sistemi nasıl çalışır gibi şeyler bu işlerde önemli mi ?

Tabi ki onemli. Isletim sistemlerinin calisma prensibini bilmezsen ayni isletim sisteminde ya da sanallastirma ile yonetilen sistemlerde birden fazla program parcaciginin nasil paralelize edildigini ya da memory yonetiminin nasil yapildigini bilemezsin.

Gelistirdigin programin ne is yaptigini da bilmen gerekir. Domain knowledge deriz buna. Ornegin bankacilik uygulamasi yazmak icin bankacilik ve finans konularini anlamalisin. Zaten anlamadigin seyin kodunu yazamazsin. Domain (software engineering) - Wikipedia

yazılım mühendisliği öğrenmeden kastınız nedir tam olarak ?

Tam olarak kastim, bilgisayar bilimlerinin ya da yazilim muhendisliginin alt konularini ogrenmenin gerekliligi.

Genel olarak bu meslegi profesyonel olarak yapmamis insanlar cok cahil bir sekilde yazilim gelistirmenin 2-3 tane Udemy ya da turevi kurslarla halledilebilecek bir sey oldugunu ya da matematik + Ingilizcenin cok da elzem seyler olmadigini iddia edebiliyorlar. Bu da insanlarda 6-7 saat video izleyerek bu isi yapabilecekleri gibi sacma bir sanri olusturuyor. ( Zaten o yuzden piyasada calismaktansa bazilari icin video egitim serisi hazirlamak daha karli bir is, 3. sinif yazilim satacagina hayal satiyor )

Bunu bastan kirmak gerek. Ilk mesajda "Python'dan sonra hangi dili öğrenmem lazım onu nasıl ilerletmem lazım" seklinde bir soru sordugun icin yazdim. Bu meslek sirasiyla programlama dillerinin unite unite ogrenildigi bir sey degil. Iyi yetismis bir yazilim muhendisi istedigi hayatinda hic kullanmadigi bir dili 2 gunde etkin kullanacak sekilde donanimlidir zaten. Teknik bilgin ve bilgisayar bilimleri alt yapin varsa programlama dili dedigin sey 30-40 tane ozellesmis kelimeden ibaret. ( if, else, while, true, function, return, def, main, default vs)
 
Tabi ki onemli. Isletim sistemlerinin calisma prensibini bilmezsen ayni isletim sisteminde ya da sanallastirma ile yonetilen sistemlerde birden fazla program parcaciginin nasil paralelize edildigini ya da memory yonetiminin nasil yapildigini bilemezsin.

Gelistirdigin programin ne is yaptigini da bilmen gerekir. Domain knowledge deriz buna. Ornegin bankacilik uygulamasi yazmak icin bankacilik ve finans konularini anlamalisin. Zaten anlamadigin seyin kodunu yazamazsin. Domain (software engineering) - Wikipedia



Tam olarak kastim, bilgisayar bilimlerinin ya da yazilim muhendisliginin alt konularini ogrenmenin gerekliligi.

Genel olarak bu meslegi profesyonel olarak yapmamis insanlar cok cahil bir sekilde yazilim gelistirmenin 2-3 tane Udemy ya da turevi kurslarla halledilebilecek bir sey oldugunu ya da matematik + Ingilizcenin cok da elzem seyler olmadigini iddia edebiliyorlar. Bu da insanlarda 6-7 saat video izleyerek bu isi yapabilecekleri gibi sacma bir sanri olusturuyor. ( Zaten o yuzden piyasada calismaktansa bazilari icin video egitim serisi hazirlamak daha karli bir is, 3. sinif yazilim satacagina hayal satiyor )

Bunu bastan kirmak gerek. Ilk mesajda "Python'dan sonra hangi dili öğrenmem lazım onu nasıl ilerletmem lazım" seklinde bir soru sordugun icin yazdim. Bu meslek sirasiyla programlama dillerinin unite unite ogrenildigi bir sey degil. Iyi yetismis bir yazilim muhendisi istedigi hayatinda hic kullanmadigi bir dili 2 gunde etkin kullanacak sekilde donanimlidir zaten. Teknik bilgin ve bilgisayar bilimleri alt yapin varsa programlama dili dedigin sey 30-40 tane ozellesmis kelimeden ibaret. ( if, else, while, true, function, return, def, main, default vs)

Hocam gerçekten bilgili birisisiniz bunu her kelimenizden anlayabildim. Sizi tekrardan yoracağım fakat bu anlattıklarınızdan hiçbir şey anlayamadım. Bunları nasıl öğrenebilirim ? Mesela öğrenirken nasıl bir yol izlediniz ? Pratik yaparak öğrenilir tabii ama pratik için de bir şeyler bilmek lazım. Belki bir video veya bir kaynak önerebilirseniz oralardan çalışarak öğreneyim istiyorum.
 

Technopat Haberler

Yeni konular

Geri
Yukarı