ilginç

Kendinizi Kodlara Öğretmenin En İyi Yolları

Fotoğraf: Christopher Gower

Nasıl kodlanacağını öğrenmek istiyorsan, ilk adımlarını bu devasa evrene atmak, görevi korkutmuyorsa göz korkutucu gibi görünebilir. İşte büyük sır: İhtiyacınız olan tüm yardımı vermek, kendinize yeni teknikler öğretmek ve bu öğrenme sürecini eğlenceli ve heyecanlı kılmak için kullanabileceğiniz birçok ücretsiz (ve ucuz) kaynak var - kodlamanın alabileceği kadar heyecan verici .

Teknoloji endüstrisine geçiş yapmak isteyen bir yetişkin, en son dili öğrenmek isteyen bir öğrenci ya da sadece yazılım ve hizmetlerin nasıl çalıştığını anlamak isteyen bir hobi olan kişi, programınıza başlamak için tek ihtiyacınız olan bir bilgisayar ve internet erişimi. seyahat. Ancak, sizlere doğru adım atmadan önce, sizi en doğru ayağınıza sokmak için en iyi ipuçlarımız ve kaynaklarımız.

Kendinize sorun: Neden kodlamayı öğrenmek istiyorsunuz?

Neden bir programlama dili öğrenmek istediğinizi (nedenlerini) nedenlerini düşünmek için birkaç dakika (veya bir gün) ayırın. Kendine karşı dürüst ol. Bir terfi için en düşük seviyeyi öğrenmeye mi çalışıyorsun? Büyük bir kariyer değişikliği mi yapmak istiyorsunuz? Bir sonraki en büyük uygulamayı oluşturmak ister misiniz? Harika bir şeyler yapmak için çeşitli akıllı cihazlarınızı programlayarak oda arkadaşlarınızı heyecanlandırın mı?

Cevabınız, hangi programlama dilini (dillerini) öğrenmeniz gerektiği ve hedefinizde ne tür bir taahhüt (zaman ve para olarak) gerektirebileceğini belirlemeye yardımcı olabilir. Örneğin, rüyanız bir sonraki mükemmel işletim sistemini veya PhotoShop'a katil bir alternatif oluşturmaksa, veri yapısı, algoritmalar ve bellek tahsisi gibi daha karmaşık konuların yanı sıra size C ++ 'ı öğreten resmi bir bilgisayar bilimi eğitiminden faydalanabilirsiniz.

Öte yandan, bir teknik kariyere geçiş yapmak isteyen bir kariyer ortası profesyoneliyseniz, kısa vadeli bir kodlama bootcamp'ı, ikinci bir dereceye kadar borca ​​girmekten daha anlamlı olabilir. Tek yapmanız gereken web siteleri oluşturmak veya Raspberry Pi'nizi sınırlarına kadar zorlamaksa, etkileşimli dersler ve ücretsiz çevrimiçi kursların bir araya gelmesi sizi ilerletmek için yeterli olabilir.

Doğru programlama dilini seçin

Neden kodlamak istediğinizi anladıktan sonra, hangi programlama dilini çözmeniz gerektiğini daha kolay bir şekilde belirleyebilirsiniz. Öğrenilecek tek bir "en iyi" programlama dili olmasa da, bazı diller diğerlerinden daha kullanıcı dostudur. HTML ve CSS kodlama dünyasına en kolay giriş noktaları olarak kabul edilir, ancak bunlar yalnızca temel web siteleri geliştirmek için gerçekten yararlıdır.

Ödeme sistemleri veya veritabanları içeren daha etkileşimli web siteleri için, tüm bileşenlerin şarkı söylemesini sağlamak için Javascript, PHP, SQL ve Python'u bilmeniz gerekir. Mobil uygulama üreticileri iOS uygulamaları yapmak için Swift veya C'yi ve Android uygulamaları için Java veya Kotlin'i kullanır. Video oyunu geliştiricileri, oyun fikirlerini hayata geçirmek için Unity'ye (hatta C #) dönecekler.

Hala başlangıç ​​programlama dilinize karar veremiyor musunuz? Çoğu profesyonel, en geniş yarar ve kariyer esnekliğini sundukları için Python, C # veya JavaScript öğrenmeyi önerir. Kararınızı vermenize yardımcı olmak için, birkaç popüler programlama dilini karşılaştıran bu harika infografike bakın.

Her şeyden önce, sadece öğrenmeye başlayın. Bir programlama diliyle rahat olduğunuzda, yeni bir müzik aleti veya yabancı dil öğrenmek gibi bir sonraki dili o kadar hızlı bir şekilde öğrenebileceksiniz.

Bazı çevrimiçi kursları deneyin

Öğrenme programınız üzerinde daha fazla kontrol sahibi olmak istiyorsanız (veya yalnız başına gitmek istemiyorsanız), çevrimiçi bir kodlama kursu, kişisel bir kodlama bootcamp'ından daha iyi bir seçenek olabilir. Ancak, aynı programlama dillerini öğreten birçok farklı çevrimiçi sınıf vardır ve hangisinin sizin zamanınıza ve paranıza gerçekten değer olduğunu anlamak zor olabilir.

Yalnız pratik yapmayı düşünmüyorsanız, kodlayıcı bir acemi bir programcıya dönüştürmek için en iyi açık kaynak kodlu içeriği bir araya getiren ücretsiz bir seçenek olan Odin Projesi'ni inceleyin.

Tam zamanlı bir bootcamp yapmadan daha fazla bire bir koçluk ve kariyer hazırlığı mı istiyorsunuz? Sadece kodlama hatalarınız veya sorularınız için acı çekmek yerine, bir öğretmenden yardım isteme fırsatına sahip olduğunuz Udacity veya Treehouse'dan abonelik modeli sertifikasyon kurslarına kaydolmayı deneyin. Udemy'deki 19 dolarlık kodlama sınıflarından çok daha iyisini yapamazsınız (hatta bir satış olduğunda daha az) - hatta tam zamanlı bir bootcamp ve bilgisayar bilimi öğrencileri bu sınıflara öğrenmelerini tamamlamak için kayıt olurlar.

Kaç kursu tamamladığınızdan bağımsız olarak, birçok yeni başlayanlar göreceli olarak temel bilgilerini uygulamada zorlanırlar. Bu amaçla, birçoğu sürekli olarak yinelediğiniz tek bir projenin etrafında dönen Watch and Code'dan ücretsiz Pratik JavaScript kursunu önermektedir.

Hesaplamalı düşünmeyi öğrenmeye odaklanın

Belirli bir programlama dilini öğrenmeye odaklanmak yerine, bir bilgisayarın anlayacağı şekilde de öğrenebilirsiniz. Başka bir deyişle, örüntü tanıma, algoritmalar ve soyutlamalar gibi kavramlardaki becerilerinizi geliştirin. Ayrıca, kullandığınız herhangi bir dilde açılmak zorunda olan döngüler gibi dil de vardır. Bu ilkeleri ne kadar iyi anlarsanız, bir sonraki dili öğrenmek o kadar kolay olacaktır (ve sonuç olarak daha iyi ürünler veya projeler tasarlayabilirsiniz).

İnternet sayesinde bilgisayar biliminin temellerini öğrenmek için dört yıllık bir üniversite programına kaydolmanız gerekmez; Bazı üniversite seviyesindeki sınıflar çevrimiçi olarak ücretsiz olarak (ya da nominal bir ücret karşılığında) kullanılabilir.

Harvard'ın CS50x Bilgisayar Bilimlerine Giriş'i yeterince tavsiye edemiyorum. Kursu edX üzerinden ücretsiz olarak denetleyebilir ve tüm ödevleri tamamlayarak bir sertifika kazanabilirsiniz veya Youtube'da yayınlanan tüm dersleri kendi hızınıza göre izleyebilir ve izleyebilirsiniz. Kendi DIY kolej düzeyindeki bilgisayar bilimleri programınızı bu onbeş çevrimiçi kurstan (çoğu Goldavelez.com U serimizde de listelenmiştir) seçerek yapabilirsiniz.

Bir kitap al

Kodlamayı öğrenmenin en iyi yolu, bazı ölü ağaçlarla yakınlaşıp kişiselleşmenizi gerektirebilir - baştan sona takip edebileceğiniz gerçek bir kitap. Mükemmel bir dünyada, kodlama konusunda size bir web sitesindeki konu başlığından atlamaktan daha kapsamlı bir giriş sağlayacaktır.

GitHub'da öğrenmeye çalıştığınız herhangi bir dil veya çerçeve için bir e-kitap bulabilirsiniz, ancak birçok web geliştiricisi Jon Duckett'in renkli serisinden baştan sona web geliştirmeye kadar her konuda yemin eder.

Kendi kendini eğiten bir programcı olarak, meslekle ilgili daha geniş tavsiyeler sunan kitaplardan da yararlanabilirsiniz. Düşüncelerinizi ve alışkanlıklarınızı geliştireceksiniz, öğrenmeye karar verdiğiniz herhangi bir dile uygulayabileceğiniz özellikler. Steve McConnell'in 900 sayfalık Kod Tamamlandı: Pratik bir Yazılım İnşası El Kitabı (2. Basım), proje tasarımından hata ayıklama koduna kadar her konuda veri destekli tavsiyelerle en iyi uygulamalar için kesin bir rehber olarak kabul edilir.

Bu kargaşanın bir sonucu da Temiz Kod: “Bob Amca” Robert Martin tarafından Çevik Yazılım İşçiliği El Kitabı. Martin, kodun kolay test ve ölçeklenebilirlik için verimli bir şekilde yazılması gerektiğine inanıyor ve bu da birçok modern geliştirme ekibi için okunması gereken bir konu.

Programlama gerçekten problem çözme ile ilgili olduğundan, Jon Bentley'in Programming Pearls'de (2. Baskı) paylaştığı düşünce sürecini ve “zarfın arkasındaki” çözümleri takdir edeceksiniz. Her bölüm teknik iş görüşmelerinde sıkça kullanılan bir takım zorluklarla sona ermektedir, bu nedenle bu kitabı iş hazırlığınızın bir parçası yapın.

Bazı etkileşimli eğitimlere veya kod oyunlarına göz atın

Kabul edelim: bir ekranda veya bir kitapta kod satırlarını okumak saçma görünebilir. Eylemdeki bir örnek gördüğünüzde, bu soyut kavram aniden mükemmel bir anlam ifade eder. Web'de bulabileceğiniz etkileşimli kodlama öğreticilerinin güzelliği budur.

Örneğin, FreeCodeCamp sadece kodlama kavramlarını web tarayıcınızdaki küçük parçalara ayırmakla kalmaz, her bir kavramı bir sonraki konuya geçmeden önce çözmeniz gereken ilgili bir alıştırma ile eşleştirir. Bu şekilde, eğlenceli şeylerin önüne atlayamazsınız; Bu site gerçekten sizi öğrenirken kodunuzun hatalarını ayıklamaya zorlar.

Kodlama oyunları aynı zamanda programlamada ayaklarınızı ıslatmak için eğlenceli bir yoldur. Öldürmek için bir saatiniz varsa, basit Code of Code oyunlarını deneyebilirsiniz. Ek olarak, birçok okul Minecraft: Educational Edition'ı çocuklara kodlama bloklarıyla programlama temellerini ve hatta JavaScript'i öğretmek için zaten kullanıyor. (Bir Office 365 Eğitim hesabınız varsa, Minecraft’ın bu sürümünü ücretsiz olarak indirebilirsiniz.)

Özgeçmişinize ekleyebileceğiniz daha karmaşık bir oyun geliştirme rehberi ister misiniz? Gün boyu blokları delmek istemiyorsanız, CodinGame yaşa daha uygun olabilir.

Bir çocuğun oyuncağını dene

Kim yetişkinlerin, çocukların kodlamaya bağlı kalmasını sağlayan aynı STEAM / STEM oyuncaklarından ve video oyunlarından öğrenemediğini söylüyor? Sonuçta, bu ürünler kolayca rahatsız olan çocukları sıkmadan kodlama mantığı ve sözdizimini öğretmek için tasarlanmıştır, bu nedenle yetişkin kodlayıcılar bile onları eğlenceli ve eğitici bulabilir.

Donanım ve yazılım arasındaki ilişkiyi daha iyi anlamak istiyorsanız, ahududu pi ile çalışan bir bilgisayar kurduğunuz Piper Computer Kit 2'nin keyfini çıkarırsınız. Bu DIY dizüstü bilgisayarı kullanarak, özel Minecraft Öykü Modu zorlukları ile kodlamayı öğrenebilir, fiziksel hesaplamayı öğrenmek için Sürükle ve Bırak Bloklu dilini kullanabilir veya önceden yüklenmiş derslerden bazı temel Pythonları alabilirsiniz.

Muhtemelen kendi BB-8 droidinizi yaratamayacak olsanız da, Sphero'nun BOLT kodunu kullanarak bir tane kodlamayı öğrenebilirsiniz. Tamamlayıcı uygulamasını kullanarak, Scratch adlı sürükle ve bırak kodlama bloklarını kullanarak droid topunuzu kontrol edebilir ya da daha gelişmiş hareketleri programlamak için JavaScript seviyesini yükseltebilirsiniz.

Favori cihazlarını (ve asistanlarını) yeni numaralarını öğret

Amazon Eko gibi bir akıllı ev cihazınız var mı? Cihazlarınızın dijital asistanlarından daha fazla işlevsellik elde etmek için özelleştirilmiş mini programlar oluşturarak kodlama becerilerinizi test edebilirsiniz. Amazon'un Alexa'sı, en son haber başlıklarını okumak gibi birçok temel ses komutu “becerisi” biliyor olabilir, ancak Node.js, Java, Python, C # veya Go'da kod yazarak onun daha karmaşık görevlerini öğretebilirsiniz. (Ya da daha kolay bir şeyle başlamak istiyorsanız, daha basit Alexa yetenek planları sitesini deneyin.)

Kodlamaya olan ilginiz daha sınırlı olabilir; örneğin, Ahududu Pi'nizi serinletmek için yeterli Python öğrenmek isteyebilirsiniz. Öyleyse, başkalarının kendi web sitesinde paylaştığı birçok projeyi kontrol ederek öğrenmeye DIY yaklaşımını uygulayabilirsiniz.

Mevcut projeleri yeniden oluşturarak, son derece özelleştirilebilir cihazınızın iç işleri hakkında daha fazla bilgi edinebilirsiniz. Mini bilgisayarınızı kullanmanın ve kod dünyasına daha fazla dalmanın yeni yollarını bulmak için kendinizden ilham alabilirsiniz. (Başlamak için biraz yardım almak isterseniz, UC Irvine'in Ahududu Pi Platformu ve Raspberry Pi Platformu dersleri için Python Programcılığına da Kursra üzerinden kayıt olabilirsiniz.)

Kodlama hakkındaki videoları izleyin

Bazen, birisinin size nasıl yapıldığını göstermesini izlemek kolaylaşır. Bugünlerde neredeyse kodlama ile ilgili herhangi bir konuyla ilgili her türlü eğitim videosunu bulabilirsiniz: eski Google çalışanları kodlama röportajları üzerine çözümler paylaşıyor, YouTubers kodlama maratonlarını canlı yayınlıyor ve hatta istediğiniz herhangi bir dilde belirli bir hatayı nasıl gidereceğinizi gösteren gazileri bile programlıyor.

CS Dojo, TheNetNinja ve Harvard'ın CS50 YouTube kanalını incelemenizi öneririm. Mükemmel bir kodlama videosu veya kanalı aramak için zamanınız yoksa, LinkedIn Learning'in incelikli ve profesyonel görünümlü öğreticiler için geniş video kütüphanesine de göz atabilirsiniz. Hizmetin 30 dolar / aylık abonelik ücreti hapşırmayacak bir şey değilken, sınırsız miktarda içerik ve konuyu tıka basa izleyebilirsin - LinkedIn Learning'i rahatsız edici kısıtlamalarla gelen diğer isteğe bağlı çevrimiçi sınıflardan daha iyi bir anlaşma haline getirebilirsin.

Kişisel projelerle pratik yap

Tamamladığınız sertifika veya kodlama atölyesi ne kadar olursa olsun veya kaç tane programlama dili öğrendiyseniz, programlama projenizde kodlama becerinizin kanıtı olacaktır. Kişisel projeniz bir sonraki Google Haritalar’ı oluşturmak kadar iddialı olmak zorunda olmasa da, kapsamını sürekli olarak geliştirmek ve genişletmek için 7/24 üzerinde çalışmak isteyeceğiniz bir şey olmalı.

Küçükten başlayın, ama büyük düşünün. Projeniz, araç kutunuzda şu anda sahip olduğunuz becerileri içermelidir, ancak aynı zamanda bu vizyonu gerçeğe dönüştürmek için ihtiyaç duyacağınız gelecekteki özellikler ve beceriler için bir planınız olmalıdır. Kodlama becerilerinizi birkaç projede uygulamazsanız, profesyonel kodlama gösterileri için bile düşünülmezsiniz - bu yüzden planlama ve uygulamaya başlayın. (Tavsiyemiz? Oyun gecesi için harika bir kurulum oluşturmak için kodlama pirzolalarınızı kullanın.)

Küçük Zaferleri Kutlayın

Kodlama tüm ayrıntılarda açıklanmıştır, bu yüzden programlama profesörlerimizden birinin dediği gibi “küçük zaferleri kutlamak” gerekir. Her bir öğenin kendi başına çalışmasını sağlamak için pratik yapmak ve her kod satırının diğerleriyle birlikte - hatasız olarak çalışmasını sağlamak için sürekli test yapmak gerekir. Bir HTML etiketini kapatmak gibi doğru görünen küçük şeyler yapmazsanız, daha etkileyici ve karmaşık kodlar yazmak yerine basit bir sözdizimi hatası ayıklamak zorunda kalırsınız.

Kendine karşı sabırlı olmalısın; Birkaç ay süren çalışma veya birkaç açılış kampından sonra bir sonraki şifreyi beklemeyin. Bir web sitesinde hatasız bir düğün RSVP formunu kodlamak ya da basit ama doğru bir sayı tahmin oyunu yapmak, yeni başlayanlar için zaten önemli bir başarıdır. Sıkışırsan, pes etme. Bulabildiğiniz her yerde kesinlikle yardım aramalı, ancak tükenmeyi önlemek için ne zaman ara vereceğinizi de bilmelisiniz. Sonra dene, tekrar dene.

Google hata iletilerinizi

Bu bizim en iyi kodlama önerimizdir: Kodunuzun neden bozulduğunu bulamıyorsanız, çevrimiçi olarak her zaman çözümler arayabilirsiniz. Muhtemelen, hatalarınızı yapan ilk kişi değilsiniz, sonuçta, ve internetten biri kesinlikle sorununuza bir çözüm buldu. Hata mesajınızı Google’a (veya tercih ettiğiniz arama motoruna) “kopyalayıp yapıştırın”, sadece tüm anahtar kelimeye bir çift tırnak işareti ekleyin, böylece sadece anahtar kelimeleri aramazsınız, sonra “Enter” ı tıklayın. Umarım, bu küçük Hile sizi doğru cevaba yönlendirecektir.

Hala sorun yaşıyorsanız, sorunuzu her zaman Yığın Taşması, Reddit'in programlama alt dizini veya GitHub gibi geliştiricilerin forumlarına gönderebilirsiniz. Bir arkadaşınıza telefon etmek ya da internet yabancılarına asla zarar vermez.

Başka birinin kodunu kır

Başkasının kodunu tersine çevirdiğinizde, nasıl çalıştığını görmek için her bir satırı test ederken, büyük resmi daha iyi anlarsınız. Dışarıdaki tonlarca ve açık kaynaklı kod sayesinde, başka birinin (kusursuz) çalışmasını inceleyerek hemen her şeyi öğrenebilirsiniz. İlham alırsa ve kandırdığınız programın bir bölümünü iyileştirirseniz, kodunuzu toplulukla tekrar paylaşmayı unutmayın.

Bir akıl hocası edinin (veya başka birine öğretin)

Programlama topluluğu, yeni nesil programcılara yardım etmek isteyen insanlarla doludur. Git'i kodlama projelerini yönetmek için kullanan geliştiriciler için çevrimiçi hangout olan GitHub, çevrimiçi işbirliği için tasarlanmıştır. Geliştiriciler, projelerini sadece meslektaşlarına ev sahipliği yapmak ve paylaşmakla kalmaz, aynı zamanda topluma kod geribildirimi ve genel öneriler sunar.

GitHub aracılığıyla çevrimiçi yardımcı rehberler bulabilir veya yerel kodlayıcı Meetup etkinliğinde veya hackathonda diğer deneyimli geliştiricilerle tanışabilirsiniz. Programlama konusunda biraz tecrübe kazandıktan sonra, diğer insanların sorularına cevap verebilir veya hatta yenilerini öğrenmek için öğrendiklerinizi bile öğretebilirsiniz;

Kodlama önyükleme kampına katılın

Kodlama önyükleme kampları tartışmalı olabilir: Size çok sayıda beceri hakkında hızlı bir tanıtım ve deneyim sunacaklar, ancak yepyeni bir Google işine altın biletiniz olmayabilir.

Profesyonel olmak ve tam zamanlı bir geliştirici olmak istiyorsanız, özellikle sizi motive etmek için yapılandırılmış bir ortamda en iyisini öğrenirseniz, yoğun ve kişisel bir kodlama bootcamp size yardımcı olabilir. Ancak, bu tür bootcamp'lar çoğu zaman katılması en pahalı ve en yoğun olanıdır: Sadece eğitim için 15.000 $ 'a ve ayrıca mezun olana kadar birkaç ay için yaşam masraflarına bakıyorsunuz.

Neyse ki, Flatiron Okulu ve Grace Hopper Programı gibi kurumlar, bu önyükleme kamplarını azınlıklar ve kadınlar gibi az temsil edilen gruplar için teknikte daha uygun hale getirmek için burslar veya ertelenmiş dersler sunuyor. Bir bootcamp'ın programlama hayallerinizi gerçekleştirmenize yardımcı olup olmayacağına karar vermenize yardımcı olabilecek, mezunlarından ayrıntılı incelemeler de dahil olmak üzere, birçok çevrimiçi ve kişisel önyükleme kampının kapsamlı bir dökümü için Kurs Raporu'na göz atın.