Kodlama öğrenmek için 10 adım! Zamandan şikayet etmeyi bir kenara bırakıp, "yarın başlarım" demeden tam da bugün kodlama öğrenmeye başlayın. Nature'da yayımlanan bir makale, kodlama öğrenmenin püf noktalarını bize anlatıyor. Colorado Boulder Üniversitesinde biyoinformatik alanında doktora sonrası araştırmacı olarak çalışmalarını sürdüren Dr. Atma Ivancevic, Nature Kariyer Topluluğu'nda bir makale yayımladı. Makale, kodlama öğrenmek için uygulanması gereken 10 adımı bizlere sunuyor. Programlama, nasıl öğrenileceğini öğrenmeye yönelik bir egzersizdir. Dr. Ivancevic, küçük başlayın, sık sık pratik yapın ve hata yapmaktan korkmayın şeklinde öneride bulunuyor. Sizler için Dr. Ivancevic'in makalesini Türkçe'ye çevirdik;"Öğrenecek vaktim yok"; hepimiz bunu söyledik hatta bazılarımız hâlâ söylüyor. Birçok kişi daha çok veri meraklısı olmayı hayal eder ve bu nedenle R'yi (yahut Python veya C'yi, şu anda trend olan herhangi bir programlama dilini) öğrenmeye kararlıdır. Ancak işe koyulmak söz konusu olduğunda, tamamen yeni bir programlama dilini sıfırdan almaya kimin vakti var? Ne yazık ki, burada yazılan hiçbir şey sizi bir gecede bir kodlama ustası yapmayacak ancak çoğu kodlayıcı, başlamanın en zor kısım olduğunu kabul ediyor. Öğrenmek istiyor ama nasıl yapılacağını bilmiyorsan, işte bana yardımcı olan birkaç püf noktası.
Hedefleriniz günlük yaşama faydalı olmalı
- Kodlama öğrenmenin ilk adımı günlük yaşamınıza hemen yardımcı olacak hedefler belirlemektir. Her zaman programlamaya ilgi duymuşumdur. Deneyimli bir programcı olmanın birçok şeyi çok daha kolay hale getireceğini biliyorum. Ancak niyetim ne kadar iyi olursa olsun, boş zamanlarımı kendimi geliştirmek için harcayamam. Bu yüzden, öğrendiğim şeyler, bir şeyi hızlı bir şekilde halletmem gerektiği için ortaya çıktı. Yayın için şekiller hazırlamaya başladığımda, R'de bir veri görselleştirme paketi olan ggplot2'yi nasıl kullanacağımı öğrendim. 200 sayfalık bir tez yazmam gerektiğinde, LaTeX dizgi sisteminin harikalarını öğrendim. Komut satırı araçları (örneğin, awk ve sed) büyük tabloları ve metin dosyalarını hızlı bir şekilde değiştirmeme yardımcı oldu. Jupyter not defterleri, ayrıntılı notlar tutmama ve Python kod parçalarını test ederek keşif analizi yapmama izin verdi. Hesaplama kümeleri bana paralel olarak hesaplama açısından yoğun binlerce işi çalıştırma yeteneği sağladı. Öğrenmek yerine, hemen yararlı olacak hedefler belirlemelisiniz.
- Her şeyi aynı anda öğrenmeye çalışmayın. Aynı şekilde, tamamen yeni bir dil öğrenme olasılığı sizi korkutmasın. Tüm R'yi öğrenmenize gerek yok, sadece kendi belirlediğiniz belirli görevi ve ardından bir sonraki görevi tamamlamak için yeterli bilgiye ihtiyacınız var. Dilin sözdiziminin zamanla kolaylaşacağını göreceksiniz ve her zaman referans materyallere başvurabilirsiniz. Öğrenmenin en hızlı yolu, doğrudan içeri atlamak ve etrafta oynamaya başlamaktır.
Kodlama öğrenmenin yollarından biri hata yapmaktan korkmamak
- Problemleri ulaşılabilir parçalara ayırın. Programlama tamamen problem çözme ile ilgilidir. Neye ulaşmak istediğinizi düşünün ve sizi hedefinize götürecek bir dizi adım yazın. Ardından, yapmanız gereken tek şey, her adımı çalışmak ve bunları birbirine dikmek. İlk çözümünüzün sade veya her şeyi kapsayıcı olması gerekmez; bir sonraki adıma geçmeniz için yeterince iyi çalışması gerekli.
- Kodlama öğrenmeye çalışırken bir şeyleri parçalamaktan korkmayın. Bir şeyin nasıl çalıştığını keşfetmenin en hızlı yolu onu parçalamak ve sonra düzeltmeye çalışmaktır. Test dosyalarıyla bir çalışma alanı kurun, bazı kod parçacıkları indirin ve her seferinde bir satırı değiştirmeyi deneyin. Çıktıyı her seferinde yazdırın. Sonra, size mantıklı geldiğinde, onu farklı bir şekilde veya farklı bir dil kullanarak yazmaya çalışın. Önemli bir klasördeki tüm dosyaları yanlışlıkla silmek, temelde bazı işletim sistemlerinde bir geçiş yöntemidir. Tamam, hatalar yapacak ve onlardan ders alacaksınız. En kötü hatalar en büyük izlenimi bırakma eğilimindedir, bu nedenle muhtemelen bir daha asla yapmayacaksınız.
- Sürüm / model kontrolü hakkında bilgi edinin. Gerçekten önemli dosyalarınızın ve komut dosyalarınızın yedeklendiğinden emin olmak istersiniz. Bu, isimsiz USB sürücülerine çeşitli başlıklar ve tarihlerle kaydetmek anlamına gelmiyor. Sürüm kontrol sistemleri, kaynak kodda veya belgelerde yaptığınız her değişikliği hatırlama konusunda endişelenmenize gerek kalmaması için tam olarak mevcut. Git'in büyük bir hayranıyım; çünkü beş temel komutla ve hiçbir uzmanlık gerektirmeden yıllardır mutlu bir şekilde kullanabiliyorum.
- Diğer developerlara / geliştiricilere sorun. Şu ana kadar, Stack Overflow veya Biostars gibi çevrimiçi programlama topluluklarını kullanarak çözemediğim kodlamalarla ilgili bir sorun yaşamadım.
İyi programcılar çalışkan harika programcılar tembeldir
- Asla bir şeyi birden fazla tekrar etmeyin. İyi programcılar çalışkandır; harika programcılar ise tembeldir. Aslında o kadar tembeldirler ki, basit görevleri tekrarlamayı reddederler. Bir elektronik tablodaki sütunları yeniden düzenlemeniz mi gerekiyor? Bunu sizin için bir bilgisayar yapabilir. Bir analizi tekrarlamanız ve tüm rakamlarınızı yeniden yapmanız mı gerekiyor? Otomatik bir boru hattı bunu çok kısa sürede gerçekleştirecektir. Özellikle bunun hakkında düşünmeniz veya yeni bir şey öğrenmeniz gerekmediği için manuel olarak yapmanın daha hızlı olduğunu düşünebilirsiniz. Birçok şey için bu doğru olabilir ama bir dahaki sefere aynı görevi tekrarladığınızda, durun ve düşünün; üçüncü kez yapmak ister misiniz?
- Kodlama öğrenmenin yollarından biri de öğrenmektir! Haftanıza "öğrenme zamanı" planı yaparak başlayın. Doktora laboratuvarımda salı sabahı bir ritüelimiz vardı; 09:00 ve 10:00 arasında, biyoinformatiği öğrenenler için tasarlanmış Rosalind platformundaki problemler üzerinde çalışarak Go dilinde programlama pratiği yapardık. Sonrasında hep birlikte kahve içerdik. Bilgisayar korsanlığı oturumunu atlayan herkes, diğerleri için kahve almak zorunda kalırdı. Bu şekilde, daha iyi programcılar (ve yanlışlıkla kafein bağımlıları) olma ortak hedefine doğru birlikte çalıştık. Ancak bu tür düzenli öğrenme süresi haftalık rutinimin önemli bir parçası olarak kaldı. Her hafta yeni bir şeyler öğrenmek için bir saat ayırıyorum. Bazen yeni bir R paketinin nasıl kullanılacağını öğreniyorum, bazen Twitter'da gördüğüm ve denemek istediğim harika bir yeni yazılım aracını... Bazen bir grupta çalışıyorum, bazense tek başıma. Ne kadar meşgul olursam olayım, öğrenme zamanım aklımı başımdan alıyor ve yavaş ama istikrarlı bir ilerleme sağlıyor.
- Yerel atölyelere ve buluşmalara gidin. Birçok üniversite ve şirket, ortak programlama dilleri ve teknikleri için giriş atölyeleri sağlıyor. Yeni başlayan biri olmasanız bile, bunlar genellikle gitmeye değer atölyelerdir; kodlayıcı arkadaşlarla tanışacak ve asistanlara sormak için kendi sorularınızı getirebileceksiniz. Ayrıca birçok bilim insanı programlamak, kahvaltı yapmak ve ağ kurmak için bir araya gelir, bu nedenle yerel Meetup gruplarınızı bulun.
- 10'uncu ve son adım; kodlama öğrenmeye hemen bugün başla! Bunu okuyorsanız, zaten yeni bir şeyler öğrenmiş olabilirsiniz. Daha fazlasını öğrenmek istiyorsanız, başlamanıza yardımcı olacak bazı mükemmel kaynakları burada bulabilirsiniz;
Codecademy : Yaygın olarak kullanılan dillerin (örneğin, Python) temellerini öğrenmek için ideal.R Eğitimi : Yaygın R-kullanımlarına giriş.LinuxCommand.org : Komut satırının temel kullanımı hakkında ideal bir web sitesi.Coppola Lab Biyoinformatik Eğitim Kaynakları : Biyoinformatik ile ilgili her şey için kapsamlı bir rehber.Explainshell.com : Kabuk komutlarını öğrenmek için faydalı web sitesi.xkcd : Her şeyin durduğu zamanlar için güvenli bir sığınak.Kaynak;Nature