Tabi sorduğum şey genel bir soru; html, css yani önyüz için değil de yazılım dilleri için geçerli.
Bence konu anlatımını okuyup veya izleyip defalarca küçük küçük ödevler üretip/bulup uygulayarak, hata yapıp tekrar okuyup tekrar deneyerek ve hataları düzelterek başlangıç yapılır. Bu şekilde ilerlenir ve daha kompleks projeler üretilir. İlginiz varsa zaten ilerledikçe daha kompleks şeylerin nasıl yapılırlığının cevabını arayacaksınız. Takıldığınız yerleri internette nasıl arayacağınızı bilmek bu işin en önemli yeri olabilir. Gerisi zaten bi şekilde gelecektir.
ben önce dersi izliyordum baştan sona.
sonra o dersi izlerken, adamın yaptığı şeylerin aynısını yaparak (yani durdura durdura) bir kere daha izliyordum.
daha sonra da o dersi açmadan, aynı dersin farklı bir versionunu yapmaya çalışıyor ve takıldığım yerlerde hem google, hem derse giriyordum.
yazilim izleyerek ogrenilmez. kendine bir tane "pet project" bulursun, o projeyi yazmaya calisirken dili, frameworkleri ogrenirsin.
crucio +5
ben kafama göre bir proje ayarlayıp onu yazmaya çalışırken öğrenebiliyorum ancak. izleyerek öğrenirken "hee güzel mantıklı" deyip geçiyorum aklımda kalmıyor yani. aklımda kalması için yazmam kurcalamam ve google da takıldığım yeri aratıp öğrenmem lazım. yazılımcı değilim, python'u öyle öğrendim.
@crucio +0.5, tam 1 değil, çünkü:
Evet, yapmadan öğrenmek mümkün değil. Hatta bence video izlemek başta zararlı bir şey bile, öğrenmeyi baltalıyor. Ben öğrenirken hiç video izlemedim, zaten video falan da yoktu o zamanlar. Referans kitap vardı, takılınca açıp bakıyordum.
Öte yandan sadece proje yapmak da yeterli değil, sadece proje yaparsan mantığı anlamadan, yüzeysel bir şekilde öğrenip geçersin. Hele de ezber yeteneğin iyiyse 3-5 bişey yaptıktan sonra "kaptım bu işi" diye düşünürsün, eksiğini de farkedemezsin, çok insan düşüyor bu hataya.
Yani proje yap, ama yanında algoritma pratikleri var, onları da yap. Bir de kullandığın dil neyse açıp dökümantasyonunu oku, kaputun altında işler nasıl yürüyor onları öğrenmeye çalış.
Bir de evet, github'dan kod oku. Başta sıkıcı/anlamsız gelebilir, kod okumayı öğrenmek, bu adam burayı niye öyle değil de böyle yapmış diye sorma alışkanlığını kazanmak biraz zaman alıyor. Ama (kulağa komik gelse de) kod yazmak sosyal bir iş, en çok başkalarından öğreniyorsun.
Hepsi iyi aslında.
Ama bu iş pratik yapmadan öğrenilemez. Yani ezberle yap gibi bir durum söz konusu değil pek.
Ben kişisel olarak öğrenme aşamalarını şöyle değerlendiriyorum.
Bu her zanaat için böyle bana göre: İster motor ustası ol, ister yazılımcı.
1-İzlemek / dinlemek:
Önce bir izle dinle. Ne gibi teknikler uygulayacağını ana resmi bir anla.
2-Taklit etmek:
Bu işi bilen birinin konuya nasıl yaklaştığını birebir taklit etmek. Bu aşama el ve düşünme pratiği kazanmayı sağlar. Nasıl sorular sorulduğunu, nasıl çözümler üretildiğini görmek ve birebir aynı yaklaşımla uygulamak her zaman işe yarar.
Youtube'dan bir tutorial aç. Adım adım adam ne yapırsa aynısını yap.
3-Takliti modifiye etmek:
Zaman içinde birçok yöntem görüyorsun. Mesela bir tutorial izledin. Atıyorum basit bir uygulama yaptın baka baka. Şimdi aynı uygulamayı modifiye et. Başka platformlarda öğrendiğin teknikleri uygula.
Daha hızlı çalışmasını sağlayabilir misin? Daha farklı bir algoritma deneyebilir misin? Hali hazırda bir iskeletin üzerinde bunları yapmak daha kolaydır.
Atıyorum basit fotoğraf galerisi yaptın baka baka. Şimdi o fotoğraf galerisine yeni bir özellik eklemeyi dene. Mesela galerideki fotoğrafları kullanıcı yanyana ya da dikey listeleyebilsin.
4-Problem çözmek
Bu aşamada artık daha az destek alarak ilerle.
Mesela kendin sıfırdan bir uygulama tasarla.
Aklına gelen fikirleri hayata geçirmeye çalış.
Stackexchange gibi sitelerde insanların takıldığı problemler için fikirler üretmeye çalış.
Benim aklıma gelen çözüm önerileri bunlar:)