Reklamcılık

Programlama zor. Aksini söyleyenler sadece yılların kodlama tecrübesine sahip olanlardır. Bunalmış olmak sorun değil! Orada bir çok güzelsin öğrenmek ve muhtemelen bir şeyleri öğrendiğiniz kadar çabuk unutacaksınız. Güven bana: bu normal.

Ama sadece normal olması sinir bozucu olmadığı anlamına gelmez. Doğruyu söylemek gerekirse, kod yazmayı öğrenmek Tüm Stres Olmadan Programlama Nasıl ÖğrenilirBelki bir kariyer için ya da sadece bir hobi olarak programlama yapmaya karar verdiniz. Harika! Ama belki de bunalmış hissetmeye başlıyorsun. Çok iyi değil. İşte yolculuğunuzu kolaylaştırmak için yardım. Devamını oku Doğru zihniyet ve tutumla yaklaşmazsanız son derece stresli olabilir.

Bu yeni dili veya kütüphaneyi veya çerçeveyi mümkün olan en kısa sürede öğrenmek istiyorsunuz, değil mi? Bu anlaşılabilir. Neyse ki, bir kulaktan diğerine uçup gitmeye devam eden tüm bu ağır programlama bilgilerini daha iyi tutmanıza yardımcı olabilecek birkaç ipucu var.

Artık Cram Seansı Yok

Kimse duymak istemez, ama program yapmayı öğrenmenin en kötü yolu tıkmaktır. Eğer benim gibiyseniz, tıkınmak sizin

instagram viewer
çalışma şekli tüm okul ve üniversite boyunca. Nasıl çalışacağını bilmenin tek yolu bu.

Ama hatalarımdan ders al: ne kadar çok sıkıştırmaya çalışırsan o kadar az hatırlayacaksın. Bu, bilgiye dayalı herhangi bir konu için hemen hemen doğrudur, ancak özellikle programlama söz konusu olduğunda doğrudur.

Bu iddianın temeli geliyor 2008 araştırmasından Kaliforniya Üniversitesi, San Diego tarafından:

"Öğrenciler, bir oturuşta her şeyi kafalarına tıkmaya çalışmaktansa, çalışma seanslarına ara verdiklerinde daha iyi performans gösteriyorlar."

Niye ya? Büyük olasılıkla nedeniyle seri konum etkisi:

"Seri konum etkisi, bir kişinin bir dizideki ilk ve son öğeleri en iyi ve ortadaki öğeleri en kötü hatırlama eğilimidir."

Başka bir deyişle: herhangi bir çalışma oturumunda, yakın zamanda öğrendiğiniz bilgileri akılda tutma olasılığınız daha yüksektir. oturumun başında ve sonunda ve oturumun ortasından itibaren bilgileri unutma olasılığı daha yüksektir. oturum, toplantı, celse.

Başlangıç ​​ve bitiş sayısını en üst düzeye çıkarmak istiyorsunuz. Bu nedenle, konu yeni materyalleri öğrenmek ve özümsemek söz konusu olduğunda, birkaç uzun oturum yerine birden çok kısa oturuma sahip olmak daha iyidir.

Bir dahaki sefere kod öğrenmek için oturduğunuzda, her seferinde bir konu alın ve her konu arasında kısa bir mola verin. (Sadece molalarınızın ertelemeye dönüşmesini engellediğinizden emin olun!)

İnceleme, İnceleme, İnceleme

Tıkanmanın uzun vadeli bilgi saklamaya karşıt olmasının bir başka nedeni, hafızanın zamanla kaybolmasıdır. Bu her zaman doğru değildir - eminim hepimizin asla kaybolmayacak birkaç çocukluk anısı vardır - ama duygulara bağlı olmayan anılar için genel durum bu gibi görünüyor.

Belleğin kendisinin zamana bağlı olarak bozulup bozulmadığı konusunda bazı tartışmalar vardır (çürüme teorisi) ya da basitçe dışarı itilir ve zamanla yeni anılarla değiştirilir (girişim teorisi). Hangi teoriye üye olursanız olun, sonuç, eski anıların kaybolma ihtimalinin daha yüksek olmasıdır.

İşte burada inceleme devreye giriyor.

acemi-kodlayıcı-ipuçları-hafıza-inceleme

Bir anılar ormanında yürümek gibi düşünün. Bir belleğe her erişmek istediğinizde, sinir yolunu izle onu bulmak için. Bu hafızayı her izlediğinizde, yol biraz daha kazınır - tıpkı insanlar aynı yolu tekrar tekrar yürüdüklerinde doğal olarak bir toprak yolun oluşması gibi. Patikada yürümeyi bırakırsanız, kaybolabilir ve hafıza ormanın içinde bir yerde kaybolur.

Tüm pop psikolojisini bir kenara bırakırsak, işte paket servis: Programlama söz konusu olduğunda, bir konuyu sadece bir veya iki kez öğrenmek yeterli değildir. Düzinelerce hatta yüzlerce kez tekrar ziyaret etmeniz gerekiyor. Her inceleme, o konuyu beyninize biraz daha derinden kazır.

Doğal bir öğrenciyseniz bunun ne kadar zor olabileceğini biliyorum, ancak düzenli olarak gözden geçirmek için çaba sarf ettiğinizde materyali ne kadar hızlı tutmaya başladığınıza şaşıracaksınız.

Birkaç Farklı Kaynak Kullanın

Programlamanın en zorlu yönü - en azından yepyeni kodlayıcılar için - içselleştirilmesi gereken ayrıntıların ve nüansların genişliğidir. Bu içselleştirme gerçekleşene kadar, sürekli bir kafa kaşıma halinde olacaksınız.

Dile bağlı olarak, yüzlerce sözdizimi kuralını (ör. anahtar kelimeler, noktalı virgüller, boşluklar) ezberlemeniz gerekir. Bazı diller daha katıdır, diğerleri daha katıdır ve yine de diğerlerinin başka hiçbir yerde kullanılmayan kendi benzersiz sözdizimi yaklaşımları vardır. Önceden kodlama deneyiminiz yoksa tüm bunlar kafa karıştırıcı olabilir.

acemi-kodlayıcı-ipuçları-kod karışıklığı

Bireysel dilleri aşan tüm kavramsal bilgilerden bahsetmiyorum bile. Nesne yönelimli programlama, varlık-bileşen sistemleri ve gözlemci kalıpları gibi konular, onları ilk öğrenmeye çalıştığınızda gerçekten başınızı döndürebilir.

Bu illüstrasyonu daha önce paylaşmıştım ama o kadar yerinde ki tekrar etmekte fayda var:

"Diyelim ki birisi size bir heykelin fotoğrafını gösterdi. Heykel hakkında yeterli bir fikir edinmeniz için yeterli bir görüntü sağlayabilir, ancak resmin tamamını elde edemezsiniz. Uzaklaştırılan bir fotoğraf karmaşık ayrıntıları kaybederken, yakınlaştırılan bir fotoğraf perspektif duygusunu kaybeder. Ancak, diğer açılardan çekilmiş ek fotoğraflarla, gerçekten görmeye başlayabilirsiniz. heykelin doku, boyut, detay, önden arkaya, yandan yana ve tepeden tırnağa.”

Programlamayı öğrenmek şaşırtıcı bir şekilde keyfi olabilir. Herkes Kaynak A'yı X Dilini öğrenmenin en iyi yolu olarak övebilir, ancak belki de sizin için hiçbir anlamı yoktur. Belki herkes Kaynak B'den nefret eder ama bir göz attığınızda çok mantıklı geliyor! Bir başkasına gelince, belki A ve B Kaynaklarını incelerken bölge dışına çıkarlar, ancak Kaynak C'den büyük ölçüde faydalanırlar.

Bu yüzden oradaki her türlü kaynağı tüketmeye istekli olmanız sizin için çok önemli. Herkes farklı bir şekilde öğrenir. Belirli bir konuyla ilgili sorun yaşıyorsanız, başka bir kaynak arayın. Belki bu sizin için daha uygun olacaktır. Belki değil.

Belirli konuları anladığınızı düşünseniz bile, bu konuda öğrenecek daha çok şey olabilir. Bir başkasının açıklamasının zihninizde kavramı sağlamlaştırması da mümkündür. Asla bilemezsiniz, öyleyse neden olabildiğince çok kaynak tüketmiyorsunuz?

Oyunların kritik derecede faydalı bir kaynak olabileceğini unutmayın! Bunlara göz atın eğlenceli ve eğitici kodlama oyunları Programlama Becerilerinizi Geliştirmek için En İyi 9 Kodlama OyunuKodlama oyunları, uygulamalı pratik ve deneyimle daha hızlı öğrenmenize yardımcı olur. Ayrıca, programlama becerilerinizi test etmenin eğlenceli bir yolu! Devamını oku .

Kavramları Öğrenirken Öğretin

Programlamada çok güzel bir kavram var. lastik ördek hata ayıklama Hiç Duymadığınız En Garip Programlama İlkeleriAşağıdaki ilkeler size kodunuzla akıllı olmayı öğretecektir. Bazıları tuhaf, çoğu mizahi ama hepsi eşit derecede pratik ve önemli. Dikkat etmek! Devamını oku , birinin kodunu satır satır cansız bir lastik ördeğe açıklama tekniğini açıklar. Belirli bir kod parçası bozulduğunda kullanılır, ancak bunun açık bir nedeni yoktur.

Garip bir şekilde, çoğu programcının bir “Eureka!” Kodu açıklamanın ortasında bir anda kodlama mantığındaki hatanın nerede oluştuğunu aniden görürler. Sözelleştirme, beynin farklı bir alanını tetikleyerek sizi sorunu yeni bir açıdan görmeye zorlar.

Bu kavram, yeni materyal öğrenmenize yardımcı olmak için de kullanılabilir. Genellikle Albert Einstein'a atfedilen bu popüler alıntıya rastlamış olabilirsiniz:

“Basitçe açıklayamıyorsan, yeterince iyi anlamamışsın demektir.”

İleri düzeyde teorik bilgiyle ilgilenen bazı alanlar dışında, bu söz doğrudur. Bir konuyu ne kadar çok anlarsanız, o konu hakkında bilgisi olmayan birinin bile anlayabileceği şekilde açıklamak için o kadar donanımlı olursunuz.

acemi-kodlayıcı-ipuçları-lastik-ördek

Bunun tersi de doğrudur. Bir konuyu öğretmeye çalışırken, net bir şekilde açıklayamadığınız bazı kavramlarla karşılaşırsınız. Bu, yalnızca bilginizdeki zayıflıkları teşhis etmenin harika bir yolu olmakla kalmaz, doğru açıklamayı bulmanın gerçek süreci, kavramı zihninizde sağlamlaştırmaya yardımcı olabilir.

Buna öğreterek öğrenme denir ve temelde lastik ördek hata ayıklamasında bir bükülme.

Şimdi, yapman gerektiğini söylemiyorum aslında başkalarına öğretmek; bunun yerine öğrendiğiniz her yeni programlama konusunu bir lastik ördeğe (veya görünmez bir arkadaşınıza) öğretmeyi deneyin. İlk başta aptalca gelebilir, ancak hafızayı koruma söz konusu olduğunda onu inanılmaz derecede verimli bulabilirsiniz.

Kasıtlı Uygulama Mükemmelleştirir

Yetenek kavramı tamamen çöp. Hiç kimse ana rahminden birinci sınıf bir kemancı, güreşçi veya programcı olarak çıkamaz. Elbette, bazı insanlar belirli disiplinlere daha yatkın olabilir, ancak deneyimsiz yetenek işe yaramaz Gizli Yeteneklerinizin Ölmesine İzin Vermeyin: Gidip Onları Tekrar Bulmanın 7 YoluKötü haber şu ki, gizli yeteneklerinizi parlatmak niyetiyle çok çalışmanız gerekiyor. İyi haber şu ki, yeteneklerinizi tükürmek için her zamankinden daha fazla fırsat var. Devamını oku . Benzer şekilde, sıkı çalışma her zaman yetenekten daha değerlidir.

Söyleniyor ki, tüm sıkı çalışma biçimleri eşit değildir. Malcolm Gladwell, ustalaşmak için bir konuya en az 10.000 saat ayırmanız gerektiğini söyleyen meşhur 10.000 Saat Kuralı'nı icat etti. Duygu doğru olsa da, birçok insan onun söylemeye çalıştığını yanlış yorumluyor.

acemi-kodlayıcı-ipuçları-kasıtlı-pratik

Uzun lafın kısası, 10.000 saatlik bir taahhüt aslında ustalığı garanti etmez. Şu sözü bilirsiniz: "Pratik mükemmelleştirmez. Mükemmel uygulama mükemmelleştirir.” Anlamlı olması için, uygulama kasıtlı olmalı Bir Şeyde Uzman Olmak İster misiniz? Kasıtlı Uygulamayı DeneyinBelli bir beceriyi yoğun bir şekilde geliştirmeye çalışırken, kendinizi bunalmış hissetmek çok kolaydır. Sizi bu çileden çıkaran platoların üstesinden gelmek için "kasıtlı uygulamanın" gücünü kullanın. Devamını oku . Ustalık ancak 10.000 saatlik kasıtlı uygulama ile elde edilebilir.

Nasıl pratik yaptığınız, pratik yapmak için ne kadar zaman harcadığınızdan çok daha önemlidir.

Okuma pasiftir. YouTube derslerini izlemek pasiftir. Podcast dinlemek pasiftir. Acemi bir kodlayıcı olarak, bu bilgilerin hiçbirini pratik bir şekilde uygulamadan konuyu konu ardına ele alarak öğreticiden öğreticiye çırpınmak için cazip olabilirsiniz. Bu cazibeye karşı koyun.

Önünüzde bir örneği anlamak bir şey, ancak bir çözümü sıfırdan sentezlemek başka bir şey. Öğrenme sürecini hızlandırmak istiyorsanız, pasif olmak yerine aktif olmaya istekli olmalısınız. Aktif uygulama, sonunda önemli olan tek türdür.

Kişisel Projelerle Deney Yapın

Benim için ev ödevi okulun en kötü yanıydı. Eğlenceyi öldürmek ve öğrencileri meşgul etmek için özenle hazırlanmış bir hile gibi görünüyordu - ki, adil olmak gerekirse, bazen doğruydu. Ama şimdi geriye dönüp baktığımda, ödevin önemi nihayet mantıklı geliyor. Beni yeni edindiğim bilgileri aktif bir şekilde uygulamaya zorladı.

Kayıtlı iseniz programlama kursları ve sınıfları Ücretsiz Çevrimiçi Bilgisayar Programlama Kursları için En İyi 11 SiteBu ücretsiz çevrimiçi bilgisayar programlama kurslarını kullanarak, bilgisayar bilimi diplomasına sahip olmadan harika bir kodlayıcı olabilirsiniz. Devamını oku , ödevin etkisini hafife almayın. Bunu ciddiye alın ve her zaman öğrendiklerinizi uzun süreli hafızaya yerleştirmek için bir şans olarak değerlendirin.

Ancak çoğu zaman ev ödevi hala yeterli değildir. (Ve gerçek bir eğitmen olmadan kendi başınıza programlamayı öğreniyorsanız, muhtemelen başlamak için herhangi bir ödeviniz yoktur.)

acemi-kodlayıcı-ipuçları-kişisel-projeler

Çözüm nedir? Birkaç atılabilir yan proje oluşturun!

bir düşün birkaç proje fikri Programlamayı Daha Hızlı Öğrenmenize Yardımcı Olacak 5 Proje FikriProgramlama için öğrenme eğrisini kolaylaştırmanın birkaç yolu vardır. Ellerinizi kirletin ve istediğiniz zaman başlayabileceğiniz yan projelerle daha hızlı öğrenin. Bu beşiyle biraz oynayın. Devamını oku uygulamak istediğiniz Mutlak yeni başlayanlar için, bir Tic-Tac-Toe veya Adam Asmaca oyunu düşünebilirsiniz. Yeni bir çerçeve öğrenmeye çalışan deneyimli programcılar için basit bir mobil uygulama veya web oyunu kodlamayı deneyin. Sizi kişisel düzeyde ilgilendirdiği sürece, devam edin!

Bu yaklaşımın güzelliği iki yönlüdür.

İlk olarak, dikkatinizi çekmeniz daha olasıdır. Araştırmalar, öğrencilerin ilgilerini çeken konuları takip edebildiklerinde daha iyi öğrendiklerini göstermiştir. Kişisel bir projenin sunduğu tam olarak budur. Gerçekten ulaşmak istediğiniz bir nihai hedefiniz var, bu nedenle sizi oraya götürecek bilgileri tutma olasılığınız daha yüksek.

İkincisi, başarılı olmanız için üzerinizde bir baskı yok. Başarı güzel olsa da, formalite eksikliği deneysel ve yaratıcı olmanızı sağlar. Kaçınılmaz olarak sorunlarla karşılaşacaksınız, ancak bu ödevden çok Lego ile oynamaya benziyor. Daha eğlenceli ve stresli değil.

Rahatlayın ve Her Şeyi İşaretleyin

Gerçek şu ki hiçbir programcı hatırlamaz her şey öğrenmişler. Belirli bir kitaplık veya çerçeve ile bir süre çalıştıktan sonra bile, her işlevi veya değişkeni kafanızın üstünden hatırlayamamanız nadir değildir.

Aslında, her şeyi ezberlemeye çalışmak, büyük bir zaman ve çaba kaybıyla sonuçlanabilir. Referans sayfaları bir nedenden dolayı mevcuttur. Ne zaman ihtiyacın olursa onu açabilecekken neden bütün bir ansiklopediyi belleğe kaydedesin ki?

acemi-kodlayıcı-ipuçları-referans-her şey

Peki, ne zaman ezberlemeli ve ne zaman başvurmalı?

Kavramsal malzeme söz konusu olduğunda, her zaman elinizden gelenin en iyisini içselleştirin. Bununla, onu gerçek koda dönüştüremeseniz bile teoriyi anlamaktan bahsediyorum (ve teori, onu açıkça öğretebilmeniz için sizin için yeterince açık olmalıdır).

Diğer her şey için - belirli işlev adları, parametre listeleri ve hatta dil tuhaflıkları gibi - Hafızaya bağlanma konusunda endişelenmem. Bir referans sayfasına ertelemekten çekinmeyin. Bazen bir şeye o kadar sık ​​atıfta bulunursunuz ki sonunda onu ezberlersiniz. Bu olursa, iyi. Değilse, bu da iyi.

Şahsen, çeşitli API'ler, kılavuzlar ve öğreticiler için yüzlerce İnternet yer işaretim var. Bir tür yol bulma algoritması uygulamam gerekirse, tekrar unutmadan önce kodlamama yardımcı olacak bir kılavuza başvurabilirim. Altta yatan kavramları anlamaya yardımcı olur, ancak uygulama ayrıntıları hakkında endişelenmemeye çalışıyorum.

Son düşünceler

Gerekirse milyonlarca kez tekrarlarım: programlama zordur ve bununla mücadele ederseniz sorun değil. On yılı aşkın bir süredir hobi olarak programlama yapıyorum ve öğrenecek yeni kavramlar olduğunda hala kendimi korkutuyorum.

Her şeyi hemen hatırlayamıyorsanız, kendinizi hırpalamayın. Yukarıdaki ipuçlarının size yardımcı olacağını umarız ve olmasalar bile, son çare olarak yer imi işaretli referanslara her zaman güvenebilirsiniz.

Programlamayı zor buluyor musunuz? Acemi kodlayıcılara yardımcı olabilecek ne tür püf noktaları ve püf noktaları biliyorsunuz? Aşağıdaki yorumlarda bilgeliğinizi bizimle paylaşın!

Resim Kredisi: Shutterstock Üzerinden İkili Programlayıcı, Shutterstock Üzerinden Bellek Silici, Shutterstock Üzerinden Gizlenmiş Kod, Shutterstock Üzerinden Lastik Ördek, Shutterstock Üzerinden Klavye Daktilo Yazarı, Shutterstock Üzerinden PHP Kaynak Kodu, Shutterstock Üzerinden Dosya Klasörleri

Joel Lee'nin B.S. Bilgisayar Bilimleri alanında ve altı yılı aşkın profesyonel yazma deneyimi. MakeUseOf'un Baş Editörüdür.