İşte birkaç başarısızlıktan ve birkaç güzel denemeden sonra üstüme çıktım:
Programlama problem çözmedir.
Her gün kullanacakları programlanmış somut şeylerle başlayın - internet tarayıcısı (facebook), cep telefonu, yazarkasa vb. Size birçok örnek vermelerini isteyin. Bütün bu şeylerin içinde bir tür bilgisayar olduğunu belirleyin. Bir bilgisayarın kalbi işlemcidir.
İşlemci çok hızlı, ama çok aptal bir çalışan gibi. Bazı talimatlar verirseniz, tam olarak dediğiniz gibi onları yapacak. Fazladan bir şey yapmaz ve yapmasını söylediğiniz bir şeyin yanlış olup olmadığını söylemez. Ancak bu işlemci her şeyi yapıyor - tam olarak nasıl yapılacağını söylerseniz, bir telefon görüşmesi yapabilir veya bir e-postaya resim koyabilir.
Ona bir soda makinesinden bir kutu soda almak için çok hızlı ama çok aptal bir işçiye nasıl söyleyeceğini sor. Adımları tanımlamaya başladığında ("Makineye para koyun ve düğmeye basın.") Bir program gibi parçalamaya başlayın ("Para nedir? Makineye nasıl koyarım? Makineye para koyduğumda ve tuşuna basın Aynı anda düğme, hiçbir şey olmuyor. "). Bir beyaz tahtanız varsa, ilk talimatlarıyla soldan başlayın. Onları gözden geçirirken, yeni büyük listeyi sağ tarafa yerleştirin. İyi bir talimat setiniz varsa, parçaları genelleştirmeye başlayın ("Parayı cebinizden alın ve sodayı kaset sesini benzer şekilde çıkarın - hangi parçalar aynı / farklı?") Genellemeleri alın ve ortasına koyun ve şimdi içerdikleri parçaları çaprazlayın. Sonunda orijinal talimatlarına, benzeri işlev çağrılarına uyması için parçaları birleştirmeye çalışın. Diğer iyi alıştırmalar: Bir mektubu postalayın, bir kapıdan geçin, daire / kare / üçgen çizin.
Programlama, problem çözmedir: sorunları parçalara ayırmak, yaygın olan parçaları tanımlamak ve sorunları çözmek için bu parçaları yeniden gruplandırmak. Yakında, bazı kısımların birçok problemde ortak olduğunu keşfedersiniz ve sonra sahip olduğunuz bile bilmediğiniz problemleri çözmek için parçaları bir araya getirmeye başlarsınız.
Tamam, bu noktada anlayabilir ama sıkılmış olabilir. Bir dizi serin programlama örneği ile takip edin. Gölgelendiriciler ve ilgili görsel kodların demosu kolaydır - bir resim ekleyebilir ve çok küçük kod değişiklikleriyle değişiklik yapmaya başlayabilirsiniz. Facebook'a olan ilgisini dile getirdiyse, arkadaşlarının arkadaşını (6 derece) verilerini görmek için REST aracılığıyla Facebook'la konuştuğunu göster. Video oyunlarını seviyorsa, birkaç açık kaynak kodlu oyun demosunun yanı sıra kodlarının bir kaç parçasını ve oyunun nasıl çalışacağını gösterin. Evde araştırabileceği birkaç ücretsiz araç ve kaynak göstererek bitirin. (Python, C #, vb.)
Başarısız girişimlerim: pi hesaplamasını (soruyorlardı), C-Jump board oyununu http://c-jump.com/ (bunu alamadılar ve talimatların buggy olduğu) açıklamaya çalışmak ve bir 2d kodunu canlı olarak kodlamak. oyun (demolar arasında attığım adımın ne kadar küçük olursa olsun, sadece ilgi alamadım).
İyi şanslar!