Hızlı Önsöz
Yaparak Öğrenin: Bilgi-Know-How
Çok büyük bir fark bilgi ve know-how var. Yeni öğrencilerin, bir programı okuduklarında “anlayabilmeleri” nedeniyle, programın olduğu gibi yazılmasının nedenini gerçekten anladıklarını düşünmeleri yaygın bir hatadır.
Ve ikinci bölüme geçmenin tek yolu pratik yapmak. Oturun, bir metin editörü ve bir komut satırı açın ve aşağı inin.
Bu aşamada, birkaç karmaşık yazılım bileşeninin birbiriyle nasıl etkileşime girdiğini anlama yeteneğinizin sınırlı olması muhtemeldir (ve beklenir). Ve bu aslında iyi bir şey, çünkü sizi temellerden başlamaya zorluyor. Silahı atlamayın ve doğru tempoda hareket etmeyin: küçük işler için küçük egzersizlerle başlayın.
Dürüst olmak gerekirse, Java ile programlama öğrenmeye başlamanın başlamanın yol olduğuna ikna olmadım (üniversitede bir yaşam için programlama öğretiyordum ve hala özel dersler veriyordum). Başlamak için çok karmaşık ve Java kitaplarının çoğu göz korkutucu görünecek. Yine de, adım adım öğrenmeyi kısıtladığınız sürece, kesinlikle yapılabilir (en azından programcılardan beklediğimiz bu küresel bilginin bazı alanları için).
Kitaplar
Java’ya ayarlanmış olduğunuzdan ve iyi bir Java kitabına ihtiyacınız varsa, şunları öneririm:
- Java ile Düşünmek . Tamam, şimdi biraz modası geçmiş olsa da.
- Java Eğitimi . Bu tam olarak en iyi öğrencinin arkadaşı değil, tüm temel bilgileri kapsadığı ve örnekler verdiği için el altında tutmanız için mükemmel bir referans. Öğrenme Java Dili Trail Bunun ilk kavramak zor olabilir kavramları tanıtır gibi komple yeni başlayanlar için göz korkutucu olabileceğine düşünürdüm gerçi muhtemelen okuma listenizde olmalıdır.
- Etkili Java . Öğrenmek için harika bir kitap değil, aynı zamanda daha sonra elinizde olması gereken harika bir referans. Bir oturuşta okumak değil, ısırık büyüklüğünde parçalar halinde okumak.
Bunu sadece sınıfta ne kullandığınızı bilmediğim için söylüyorum. Bir sürü başka kitap var. Bazıları iyi. Bazıları öğrencileri yıllarca sakatlar.
Çalışma Süreciniz
Temel İş Akışı
Şu andan itibaren, sınıfta gördüğünüz tüm alıştırmalar ve kod örnekleri için bu 2 adımlı süreci izlemenizi öneririm:
- oku ve Çalış
- egzersizleri oku
- onları anladığından emin ol
- kod
- kitabı kapat
- o kod düzenleyici ve komut satırıyla birlikte bilgisayarın önüne oturun
- programı kendiniz yeniden yazmaya çalışın
Arıza durumunda
Başarısız olursanız ve kitaptan bir göz atmanız gerektiğine inanıyorsanız, başarısızlığınızın aşağıdakilerden biri olması muhtemeldir:
- (büyük olasılıkla) çözümü gerçekten anlamadığınızı,
- (daha az olasılıkla) çözümün belirli bir bitinin nasıl göründüğünü unuttuğunuzu unuttunuz: sözdizimi, API kullanımı, ...
İlk neden, en sık karşılaştığınız şey olabilir. İkincisi anekdottur. Her ikisi de tekrarlayan uygulamalarla ele alınmaktadır.
Bu ilk örneklerden birini uygulamada başarısız olduğunuzda, kitaba tekrar bakın, sonra tekrar kapatın. Kitaba bakarken kodlama. Tüm çözümünüzü silmenizi ve baştan başlamanızı bile tavsiye ederim . Tekrarlama, öğrenme sürecinin can sıkıcı ama önemli bir parçasıdır.
Bunu hafifçe almayın. Kendine söyleme dürtüsünü her hissettiğinde "evet, tamam, bunu biliyorum " veya "% 90'ım, neredeyse bitti" diyerek başka bir bölüme atlamak, o dürtüyle savaşmak ve baştan başlamak istiyorum. Bir kavramı tam olarak anlamadığınızı itiraf etmek dürüst olmak gerekirse, çok zor.
Not: Çoğu okul programlarının, şimdi, dersleri çok fazla aşağı çekerek ve öğrenciler için çok gelişmiş olan araçlar sağlayarak programlama kurslarına "başlama" girişiminde bulunmasının büyük bir kötüye kullanım olduğunu düşünüyorum: amaç, hayatınızı perişan etmek ya da sizin için öğrenmek değildir. Daha sonra kariyerinizde daha sonra araçlarınız tarafından otomatikleştirilecek olan ve bazen zorlukla hatırlayabileceğiniz şeyler. Size etrafta yüzen bütün parçaları öğretmek için.
Başarı Halinde: Ötesine Geçin!
Egzersizinizi uygulamayı başarırsanız, mutlaka doğrudan diğerine atlamayın. Bunu geliştirmek için neler yapabileceğinizi görmeye çalışın. İstenen çıktıyı değiştirebilir misiniz? Küçük bir özellik ekle? Bir seçenek? Şimdi, şu ana zorluğun içinden geçtiğin eğlenceli bölgedeyken, ve bu kendine empoze edilen küçük gereksinimlerin moralinizi biraz yükseltmesi daha olasıdır.
Yine de fazla ileri gitmeyin: alfabeyi yazdırmaktan ve tersine çevirmekten, bir degradeyle renk gradyanı ile çapraz olarak görünmesini sağlamazsınız. Küçük adımlar at. Öğrenme uzun ve yinelemeli bir süreçtir ve artan zorluk düzeyleriyle ilgili sorunlara yaklaşmanız gerekir (örneğin, özyinelemeyi genellikle nasıl açıklayacağımı düşünüyorum ).
Sadece Öğrenme - Bir Karşılaştırma
Sorununuz aslında programlama ile ilgili değil. Binlerce insan matematik öğrenmeye çalışırken karşılaştıkları aynı problem.
Onlara bir sorun verirseniz, çözüme giden yolda nasıl çalışacaklarını göremezler. Ancak, onlar için çözümü yazarsanız, çoğu bunu anlayacak ve “kahretsin, bu çok basit!” Diye düşünecektir. Yine de onlara farklı önlem ve hipotezlerle benzer bir problem vereceksiniz ve çözemediler: arkasındaki mantığı anlamadılar ve kendi başlarına yapabilmek için pratik yapmaları gerekiyor.
Bunun matematikle ilgili yaygın bir sorun olduğunu unutmayın, ancak bence gerekli olan bazı mantıkların olduğu diğer alanlarda tonlarca görüyorsunuz: solfej, dilbilgisi, fizik vb. Öğrenmek ... Ve bu "doğal" bir yeteneğe bağlı değil Bu şeyleri anlamak için: Uygulamaya gelir (o alanda veya bireyin bu alandaki kavramları daha kolay kavramasına yol açan diğerlerinde olabilir).
Kod yazmayı öğrenememen için hiçbir sebep yok. Siz sadece "ah AH!" Ye ulaşana kadar denemeye devam edin. / Eureka anı. Öyleyse bir sonraki, daha zor ve daha sonraki soruna geçin.
Bunlar da (daha sonra) yardımcı olabilir: