• Çocuklar için programlama - eğlenceli bir şekilde öğrenme yöntemleri, diller ve özel programlar

    Sayfamı takip edenler fark etmiş olmalı ki Son zamanlardaÇocuklara programlama öğrettim. Düşüncelerin nasıl gerçekleştiği inanılmaz. Ziyaret ettikten sonra, kendimi dünyaya akıl hocası olarak deneme fikri kafamda dönüyordu. bilgisayar ProgramlamaÇocuklar için. Ve neyse ki, bu fırsat çok çabuk ortaya çıktı. İki farklı grup için haftada iki kez programlama dersi içeren bir çocuk kampına öğretmen olarak davet edildim. Birinci grup daha büyük çocuklardan (8 ila 12 yaş arası), ikinci grup ağırlıklı olarak 6 ila 8 yaş arası çocuklardan oluşuyordu.

    Gerçek şu ki, ABD'deyken, adında bir kitap alacak kadar şanslıydım. Çocuklarınıza Kodlamayı Öğretin iyi bir indirim ile. Tüm örnekler içinde verilmiştir. oyun formu bir programlama dili kullanarak. Belki gelecekte buna ayrı bir yazı ayıracağım ama şimdi öğretmenlik deneyimimin konusuna dönelim. Bu nedenle, başlangıçta bu kitaptan bilgi alarak bir eğitim süreci oluşturmak bana mantıklı geldi, ancak daha sonra ne kadar derinden yanıldığımı anladım :-) Neden? Bu arada, kitap 9 yaş ve üstü çocuklara yöneliktir.

    İlk önce, her ayrı grupta, her derste 15'ten fazla çocuk vardı. Bu, materyalin etkili bir şekilde sunulmasına müdahale etti ve aynı zamanda beni herkese bireysel yardım konusunda sınırladı (görünüşe göre, bu olmadan yapmak kesinlikle imkansızdı).

    ikincisi, daha genç grupta ya çok yavaş okuyan ya da hiç okumayı bilmeyen çocuklar vardı. Bu ciddi bir sınırlamaydı, bu yüzden bu sorunu bir şekilde çözmek gerekiyordu.

    Üçüncü, klavyede tolere edilebilir bir şekilde yazma becerisi herkeste yoktu. hangi set hakkında program kodu konuşabilir mi?

    Dördüncü, İki dilde ders verdim: Rusça ve İngilizce. Çocuk kampındaki iletişim İngilizce olarak gerçekleşti, çünkü gruplar çoğunlukla her iki dili de akıcı bir şekilde konuşan ve Rusça ya da İngilizce konuşan çocuklardan oluşuyordu. Kimse geride kalmak istemiyordu.

    görsel programlama

    Biraz düşündükten sonra Python'un kesinlikle söz konusu olmadığı sonucuna vardım :-) Bununla birlikte, bu tür koşullarda öğrenmek bir kabusa dönüşecekti. Sorunun çözümü gecikmedi, yardım geldi görsel programlama. Sonuç olarak, bir programcı kod yazmaz, grafik öğelerini uygun bir ortamda (IDE) manipüle ederek bir program oluşturur. Karmaşık oluşturabileceğim Borland Delphi ve Borland C++ Builder'daki ilk programlama deneyimimi hatırlıyorum. GUI tek bir kod satırı yazmadan. Ancak özellikle çocuklar için, MIT'deki bir grup bilim adamı Scratch adlı bir araç buldu. Görevi, çocuğa algoritmik düşünmeyi eğlenceli bir şekilde öğretmektir. Ve işini mükemmel bir şekilde yaptığını belirtmekte fayda var! Scratch çevresinde bilim adamlarından, öğretmenlerden, velilerden ve öğrencilerin kendilerinden oluşan koca bir topluluk var. Araç iki türde gelir:

    • Nasıl ayrı uygulama. Windows/MacOS/Linux (Çevrimdışı Scratch 2.0) çalıştıran bir bilgisayara yüklenir
    • Doğrudan resmi web sitesinde bulunan web uygulaması

    Son seçeneğin büyük artısı, profilinizi siteye kaydedebilmeniz ve karalama projelerinizi kazı kazan programcı topluluğunun diğer üyeleriyle paylaşmaya başlayabilmenizdir. İkincisinin çalışmalarının sonuçları zaten mevcut.

    Scratch'te programlama sürecinin sadece bir çocuk için heyecan verici olmaması dikkat çekicidir. Ben de uzun süre takılırdım, yemek pişirirdim yeni materyalÇocuklar için.

    Karalama Dersleri

    Konumuza geri dönelim. Dersler nasıl yapılandırıldı?

    Resmi Scratch web sitesinde iyi bir yardım bölümü vardır. İçinde, ilk giriş dersini yürütmenin gerçekten mümkün olduğu temelinde adım adım bir kullanım kılavuzu bulabilirsiniz. gelen akıllı adamlar Harvard Eğitim Enstitüsü Creative computing adlı bir kitap yazdı ( yaratıcı programlama), eksiksiz bir yapı oluşturmaya yardımcı olacaktır. Eğitim süreci, içerdiğinden en iyi uygulamalarçocuklara programlama öğretmek. İnternette Rusça çevirisi var.

    Favori YouTube, iş için materyal derlemeye de yardımcı olabilir. Burada bağlantı Bu arada, kitabın yazarından en kaliteli Scratch eğitimlerinden birine Sıkıcı Şeyleri Python ile Otomatikleştirin.

    sonuçlar

    Öğretim sürecinde, çocuklara programlamayı öğretmek için olumlu bir sürece katkıda bulunan bir dizi koşulu kendim için çıkardım.

    • Hedef öğrenci grubunun azaltılması arzu edilir. 4-6 kişilik bir grup için en iyisi. Neden? Alttarafı oku.
    • Ders süresi 1 saati geçmemelidir (ideal olarak okulda olduğu gibi 45 dakika). Çocuğun dikkatini bu süreden daha uzun süre tutmak çok zor olacaktır.
    • Çocuk her zaman ilgilenmelidir. Bu en zor koşullardan biridir. Çocuklar ilgilerini kaybederlerse başka şeyler yapmaya başlarlar: diğer uygulamaları açın, sınıfta dolaşın, çocukların dikkatini dağıtın, aç olduklarından şikayet edin :-)
    • Bütün çocuklar farklıdır. Bazıları akıllıdır ve materyali çok hızlı öğrenirken, diğerleri en basit görevleri uzun süre "takılabilir". Akıllı çocuklar için her zaman stokta ikramiye bulundurun ( Ek görevler, zorlu koşullar vb.).
    • Çocukları çalışmaları için övün, önemsiz olsa bile. Bu bir çocuk için çok önemlidir!
    • Çocukları teşvik edin. Ödül olarak çıkartmalar, küçük oyuncaklar veya buna benzer bir şey kullanmanızı öneririm. Yiyecek, şeker veya kurabiye ile motive olmanıza gerek yokÇocuğunuzun neye alerjisi olabileceğini asla bilemezsiniz.
    • Çocuklardan yardım isteyin. Sınıfta normal öğrenme sürecinin ilerisinde olan çocuklar varsa onlardan yardımcınız olmalarını isteyin. Sizinle birlikte geride kalanlara yardım etmeye başlasınlar. Güven bana, çocuklar buna bayılıyor.

    Scratch'in Eksileri

    Scratch gerçek programlamayı öğretmez. Bu aracın amacı, algoritmik düşünme becerilerini çocuk dostu bir şekilde - şakacı bir şekilde geliştirmektir. Bu arada, hayatta bu beceriye sadece çocukların ihtiyacı olmayacak :-) Amacınız çocuğunuza gerçek programlama becerilerini aşılamaksa, görsel programlamadan görsel programlamaya geçiş yapmayı deneyin. doğrudan süreç gerçek programlama dillerinden birini kullanarak kodlama. Örneğin,

    Burada sanki çocuklar zaten sanayide çalışıyormuş gibi bir hava yaratmaya çalışıyorlar. Dersler gerçek ofislerde yapılır ve büyük BT şirketlerinin kurucuları ve çalışanları tarafından verilir. “Çocukları önde gelen üniversitelere girmeye, iş kurmaya, Rus veya uluslararası teknoloji şirketlerinde çalışmaya hazırlıyoruz. Okul müdürü Oksana Selendeeva, programlama yoluyla onlara bağımsız düşünmeyi ve potansiyellerini açığa çıkarmayı öğretiyoruz” diyor. Coddy, temel ve son derece uzmanlaşmış konuları öğretiyor: toplamda 30'dan fazla kurs. Programlar, herhangi birini tamamladıktan sonra öğrencinin bir sonraki seviyeye geçebileceği ve dersi derinlemesine çalışmaya devam edebileceği şekilde tasarlanmıştır. Dersler haftada bir, Cumartesi veya Pazar günleri yapılır ve kısa bir ara ile 3 astronomik saat sürer.

    Maliyet ayda 6000 ruble. Eğitim alanları Kurskaya, Belorusskaya, Paveletskaya, Dmitrovskaya ve Ilyich Meydanı'nda bulunmaktadır. Detaylar

    1C: Okul çocukları için programcılar kulübü

    Bu bir okul veya teknik bir çevre değil, 11 ila 17 yaş arası çocuklar için bir kulüp. Proje, Rusya ve BDT'de 7'si Moskova'da olmak üzere toplam 162 şube içermektedir. Kulübün amacı çocukları programlama ile tanıştırmak, mesleğe ilgi uyandırmaktır. Burada, cep telefonlarından ve internetten süper bilgisayarlara kadar her yerde kullanılan en alakalı dillerde programlama öğretiyorlar. hakkında kurslar da var sistem Yönetimi ve geliştirme yönetimi. Ve burada kasıtlı olarak bilgisayar bilimlerinde Olimpiyatlara ve Birleşik Devlet Sınavına hazırlanıyorlar (kulüp için ortalama puan 72'dir). Her program, haftada 1-2 kez modunda birkaç yıl için tasarlanmıştır.

    Maliyet 700 ruble / derstir. Eğitim alanları Baumanskaya, Novoslobodskaya, Alekseevskaya, Timiryazevskaya, VDNH ve Leninsky Prospekt'te bulunmaktadır. Detaylar

    Kodabra

    Kodabra, 6 ila 14 yaş arası çocuklar için oyun oluşturmaya odaklanan bir kurstur. Burada çocukların bilgisayar oyunlarına olan sevgisini faydalı bir yöne yönlendirmeye çalışıyorlar. Bir çocuk her şeyi harcıyorsa boş zaman oyunlarda, daha sonra bunların yaratılmasıyla ilgili kurslar iyi bir yol vektörü eğlenceden geliştirmeye değiştirin. Öğrenme sürecinde fizik, matematik ve diğer temel bilimler etkilenir. Kurslar çocuklara özel olarak tasarlandığından, öğrenme oyunlar eşliğinde gerçekleşir. Her dersten sonra çocuğun anne babasına ve arkadaşlarına gösterebileceği bir sonucu vardır. Bir dersin süresi 1,5 saat olup, her kurs 2 ay (16 ders) sürer.

    Kursların maliyeti ayda 5.500 ila 11.000 ruble arasındadır. Dersler hafta içi Shabolovskaya ve Paveletskaya'da yapılır. Detaylar

    Crash Pro

    Merkezinde ek eğitim 6-16 yaş arası çocuklar için CrashPro, çocuklara popüler alanlarda güncel bilgiler vermeye ve kendi projelerini uygulamalarına yardımcı olmaya çalışır. Okulun toplamda mühendislik, yaratıcı ve dijital mesleklere adanmış 10 programı vardır. CrashPro'daki çoğu konu için büyümeniz gerekir: bunlar 12 yaş ve üzerindeki öğrenciler için tasarlanmıştır. 6 yaşından büyük çocuklar için bir robotik kursu var: burada Lego WeDo yapıcılarını kullanarak nasıl robot yapacaklarını öğreniyorlar. Kursların her birinde öğrenciler yaratıcı gruplara ayrılır ve bir bitirme projesi üzerinde çalışır. Şu anda çocuklar pratikte "hedefler", "görevler" ve "son tarih" in ne olduğunu öğrenecekler.

    Kurs 3 ay sürer, bir program için bir sömestr dersinin maliyeti 80.000 ruble'dir (robotik hariç, 18.000 ruble). Sınıflar tam merkezde - Vozdvizhenka'da yapılır. Detaylar

    Moskova Programcılar Okulu

    Yandex ve Mytishchi Programcılar Okulu'nun ortak projesi olan 8-10. sınıflardaki öğrenciler için üç yıllık kurslar. Burada öğrenmeye "okul" yaklaşımı yerine "üniversite" yaklaşımı kullanıyorlar. Kurslar, zorunlu ve isteğe bağlı - tanımlayıcı uzmanlığa ayrılmıştır. Zorunlu kurs, herhangi bir programlama dilini öğrenmenize yardımcı olacak temel bilgileri içerir. Bu algoritmik düşünme, matematiğin bazı "okul dışı" bölümleri, temel sibernetik. Okula girmek için bir giriş sınavını geçmeniz gerekir. Üzerinde programlama bilgisi gerekli değildir, ancak matematik ve mantığı kontrol ederler.

    Kurslar pahalıdır (bir yarıyılın maliyeti 22.500 ruble), ancak etkilidir: okul öğrencileri her seviyede düzenli olarak yarışmalar kazanır. Dersler, hafta sonları Yandex'in Leo Tolstoy Caddesi'ndeki Moskova ofisinde haftada 1-2 kez yapılır. Detaylar

    Moskova Kodlama Okulu

    Moskova Kodlama Okulu çocuklarda uzmanlaşmaz, ancak birkaç "çocuk" kursu sunar. Kasım ayı sonunda 10-13 yaş arası okul çocukları için web programlama dersleri (HTML, CSS ve JavaScript) başlayacak. Kurs dahil oyun blokları, pratik bağımsız görevler ve kod üzerinde ekip çalışması. 5 saatlik 6 ders için 39.999 ruble ödemeniz gerekecek. Aralık ayında, çocuklar için dijital yaratıcılığa ve elektronik enstalasyonların yaratılmasına adanmış başka bir program açılıyor. Bu dersler sırasında öğretmenler, okul öğrencilerinde programlama ve yaratıcı düşünme konusunda 12'den fazla yararlı beceri oluşturmaya çalışacaklar.

    Bu kursun maliyeti 4 ders için 24.999 ruble. Dersler Cumartesi ve Pazar günleri 10.00 - 15.00 saatleri arasında Tverskaya'daki DI Telegraph binasında yapılır. Detaylar

    git

    Bu proje üç tür eğitim programı içermektedir: GoTo School yaz okulu, GoTo Hack hackathon ve GoTo Camp. Her tatil GoTo Kampı, Rusya'nın her yerinden ve komşu ülkelerden 8-11. sınıflardaki öğrencileri bir araya getirir. Bir GoTo kampı katılımcısı, programlama, robotik, biyoinformatik, veri analizi ve diğer yüksek teknoloji alanlarında bir proje uygulama veya araştırma yapma fırsatı elde eder. Projeler, ülkenin en iyi üniversitelerinden profesörler ve BT şirketlerinden uzmanlar tarafından denetleniyor: MIPT, HSE, Innopolis, Yandex, CROC, Microsoft, Nival, Rambler&Co, Intel ve diğerleri. Kış tatili kampı Moskova bölgesinde açılacak 3-10 Ocak arası

    Bir vardiyanın maliyeti 16.000 ila 26.000 ruble arasındadır ve ayrıca eğitim için bir hibe sistemi vardır. Detaylar

    Samsung BT okulu


    Çoğunluğu 10. sınıf olan en yaşlı öğrenciler için, Samsung ve önde gelen MIPT öğretmenlerinden ücretsiz bir eğitim programı var. Ana yön gelişmedir. mobil uygulamalar Android için. Giriş sınavları her yıl ilkbaharda yapılır, bundan önce yıl içinde bir başvuru doldurmanız gerekir. Dersler Eylül ayında başlar. Eğitim süresi 1 yıldır. Bu süre zarfında öğrenciler 5 eğitim modülünden geçerler: Java programlamanın temelleri, nesne yönelimli programlama, algoritmalar ve veri yapıları, programlamanın temelleri android uygulamaları, mobil uygulamaların arka ucunu geliştirmenin temelleri. Öğrenimlerini başarıyla tamamlayan mezunlar, ortak üniversitelere kabul edilmeleri için ek puan sağlayan Samsung'tan bir sertifika alırlar.

    Dersler haftada 2 kez 2 akademik saat olarak yapılır. Siteler, Preobrazhenskaya Ploshchad ve Rimskaya istasyonlarının yanı sıra Shabolovka ve Belyaevo'daki Rusya Halkların Dostluk Üniversitesi binalarında bulunuyor. Detaylar

    Neden bir çocuğa programlamayı öğretelim? Hele bir de gelecekte bir balerin ya da futbolcu varsa? Cevap basit: size mantıklı düşünmeyi ve eylemlerinizi planlamayı öğretmek için. Ebeveynler, modern çocukların tabletleri ve bilgisayarları neredeyse beşikten açabilmeleriyle övünürler. Teknolojiye ilgi ve eğlence arzusu, çocuklara algoritma oluşturmayı ve hatta kod yazmayı öğretecek oyunlar sunarak öğrenme ve gelişme ile birleştirilebilir.

    Sizce kaç yaşında programlama öğrenmeye başlamalısınız? Kodable'ın yaratıcıları, oyunlarının iki yaşındakiler tarafından erişilebilir olduğunu iddia ediyor. Harfleri öğrenmeden önce kodlamayı öğrenebilirsiniz. Çocuklar bile labirentlerde gerçekten komik yüzler sürdürebilir ve aynı zamanda eylem sırasını gösteren programların derlenmesinde ustalaşabilir. İpuçları ve tavsiyeler grafikler kullanılarak yapılır, böylece çocuk hiçbir şey okumak zorunda kalmaz.

    Kâr amacı gütmeyen bir kuruluş olan uluslararası "Hour of Programming" hareketi tarafından oluşturulan Code.org web sitesi, çocuklar ve yetişkinler için çeşitli eğitim kursları içermektedir. Başlayabileceğiniz yaş dört yıldır. Her şeyi aynı anda öğretecek tek bir oyun yok ama çeşitli çizgi filmlerden karakterlerle adım adım oyun eğitimi var. Seviyeden seviyeye geçerek kendi kısa programlarınızı öğrenebilir ve oluşturabilirsiniz.

    Akıllı telefon veya tablet üzerinden kullanılabilen oyunda, komutlara uyan küçük bir robot ampulleri doğru yerlere yakmalıdır. Çocuğun bu durumda karşı karşıya kalacağı asıl görev, oyuncağın yolunu basit komutlar kullanarak tasarlamaktır. Ebeveynin görevi, çocuklara resimlerin ne anlama geldiğini açıklamaktır.

    Lightbot oynayan bir çocuğun büyüyünce parlak bir geliştirici olacağı bir gerçek değil ama kesinlikle eylemleri nasıl planlayacağını ve basit algoritmalar oluşturacağını öğrenecek. Bu uygulama, okul öncesi 4-6 yaş arası çocuklar için bile başlangıç ​​uygulamalarından biri olarak önerilebilir. Geliştiriciler, dokuz yaşından büyük çocuklar için uygun olan daha karmaşık bir sürüm sunuyor.

    Bu arada ebeveynler rotaları derleyerek vakit geçirmekten de mutlu olabilirler. Robot, çocuklara hitap edecek kadar komik ve yetişkinleri rahatsız etmeyecek kadar ciddi.

    NIISI RAS tarafından Rus Bilimler Akademisi'nin emriyle geliştirilen PiktoMir, yabancı analoglara cevabımızdır. NIISI RAS, daha büyük öğrencilerin programlama ile tanıştığı KuMir sistemini zaten geliştirdi, ancak içinde oyun unsuru yok. Okul öncesi çocuklar için tasarlanan PiktoMir'in heyecan verici ve erişilebilir olduğu ortaya çıktı.

    Robot tarlaları boyuyor ve çocuk algoritma yapmayı öğreniyor. Tüm ipuçları grafikler kullanılarak yapılmıştır, bu nedenle PiktoMir beş yaşından itibaren okuyamayan çocuklara güvenle verilebilir: Bilim adamlarının eylemleri çocuklar için bile anlaşılır hale getirmeye çalıştıkları dikkat çekicidir. ebeveynler bilmiyorsa İngilizce ve programlarda kendileri hiçbir şey anlamıyorlar ama çocuklarda gerçekten mantıksal düşünme geliştirmek istiyorlar, PiktoMir gerçek bir kurtuluş olacak. Mobil sürümler iOS, Android ve Windows Phone için mevcuttur, ancak son ikisini geliştiricinin web sitesinden indirmeniz gerekir.

    Görevleri tamamlayın ve oku bulmacada hareket ettirmek için bir algoritma oluşturun - bu, daha genç öğrenciler tarafından oynanabilen oyunun anlamıdır. Doğru, sıradan bir okun yedi yaşındaki çocukları uzun süre cezbetmesi pek olası değil, özellikle de bu tür oyunların ilkiyse. Ancak, algoritmaya zaten aşina olan on yaşından büyük okul çocuklarının ilgisini çekebilir, çünkü en ilginç bulmacalar elbette daha karmaşık seviyelerde bulunur. Robozzle neredeyse sağlar sınırsız olanaklar yeni görevler oluşturmak ve aramak için, bu nedenle temelleri öğrenmek için değil, sürekli tekrar ve uygulama için en uygunudur.

    Kargo Botu

    Oynaması kolay başka bir oyun giriş seviyeleri hangi okul öncesi çocuklar rahat hissedecekler. İçinde çok az metin olduğu için, çocukların ilk görevleri tamamlamak ve kutuları daha az hareketle bir yerden bir yere kaydırmak için harfleri tek tek ayırt etmeleri yeterlidir. Yetişkinler bile karmaşık kombinasyonları uzun süre düşünebilir. Diğer eğitim ve eğlence uygulamaları Cargo-Bot çok güzel bir resimle öne çıkıyor. Bu arada, Cargo-Bot tamamen iPad'de programlandı.

    Scratch'i bu listeye dahil etmek tamamen adil değil çünkü bu bir oyun değil, çocuklara kodlama öğretmek için özel olarak tasarlanmış bir ortam ve onu dışarıda bırakamazsınız çünkü harika bir eğitim aracı. Scratch'in yazarlığı Massachusetts Institute of Technology'ye aittir ve toplulukta bilgilerin çoğu Rusçaya çevrilmiştir, bu nedenle Scratch çok geniş bir izleyici kitlesine açıktır.

    Scratch'in olanakları, içinde herhangi bir görev ve seviye olmamasına rağmen gerçekten etkileyici, ancak bir hayal gücü denizi ve kullanımı için araçlar var. Çocuğun her projede hedefi kendi belirlemesi gerektiğinden, o zaman evrensel çözümler hayır, ancak algoritmalaştırmayı öğreten oyunlarda yeterli olmayan yaratıcılığa yer var. Scratch, tanıdık yollarda robotları ve maymunları kovalamaktan bıkan 8 yaş ve üzeri çocuklar için idealdir.

    Oldukça tozlu olsa bile klasikleri unutmamalıyız. CeeBot eğitici oyunlar, 2003 yılında eğitim kurumları için özel bir geliştirme olarak ortaya çıktı. Başlangıçta, geliştiriciler, ana özelliği karakterleri kontrol etmek için kendi programlarınızı yazmanız gereken yeni bir gezegenin kolonileştirilmesi hakkında bir oyun olan Colobot'u yarattılar.

    CeeBot, çok görevli bir oyun eğitimidir. detaylı talimatlar. Yeni bir gezegende yerel faunayı yok eden programlanabilir robotlarla ilgili hikaye elbette çocuklar için uygun değil, ancak bilgisayar bilimiyle zaten ilgilenen ve bir algoritmanın ne olduğunu hayal eden gençler için iyi bir rehber olacak. Arka planda CeeBot görünüyor modern oyunlar soluk, ama çocuk karakterleri başka nerede kontrol edecek, yaratacak kendi programları, C ++ sözdizimine mümkün olduğunca yakın mı?

    CodeCombat zaten ciddi çünkü bu oyunda gerçek kodu öğreniyorlar ve kazanan hazır bir programcı olacak. Karakteriniz için komutlar yazacağınız bir programlama dili seçersiniz (oyun Python, JavaScript, Lua veya CoffeScript gibi birkaç deneysel dil sunar) ve kristal toplamak için bir yolculuğa çıkarsınız.

    Oyun için sekiz yaşından büyük kız ve erkek çocuklar ekilebilir. Rusça eğitim ve ipuçları, 9,99 $ karşılığında her ay tamamlamanız gereken yeni seviyeler alabilirsiniz (ilk 70'i ücretsizdir). Oyun okullarda kullanılabilir, öğretmenler için ayrı bonuslar vardır.

    Oyunda, her seviyeye başlamadan önce çocuk, "bu kodun kendi kendine öğrenmeyeceğini" hatırlatan, programlama hakkında eğlenceli ve motive edici sözler okuyacak. CodeCombat, rahatlama ve öğrenmenin en iyi kombinasyonlarından biri olan normal rpg ve nişancı oyunlarından daha fazla bağımlılık yapar.

    Hoşumuza gitse de gitmese de, öğrenme giderek daha çok bir oyun haline geliyor. Özellikle ilkokul çağındaki çocuklar söz konusu olduğunda veya okul öncesi yaş. British Higher School of Design'da öğretim görevlisi olan Dmitry Karpov bir liste hazırladı faydalı kaynaklar erken yaşlardan itibaren bilgisayar bilimi öğretmek için.

    Ana okul sınavına hazırlananlar için

    Günümüzde çocuklar, çeşitli multimedya deneyimlerinin mevcudiyeti için kendilerini tamamen benzersiz bir bilgi ortamında bulmaktadır. Bu nedenle oyunları birkaç grupta toplamanızı tavsiye ederim.

    Bu uygulama koleksiyonu, programlamanın temellerini öğrenmeye adanmıştır. Örneğin düşünmeyi ve dikkati geliştirmek için bulmacalar, labirentler ve basit oyunlardan oluşan bir seçkiyi ayrı ayrı toplayabilirsiniz. İkinci grup- çizimler, müzik uygulamaları, dijital yaratıcılığa ilgi geliştirmek için basit video editörleri. Üçüncü grup uygulamalar - sözel ve işitsel kültürü geliştiren etkileşimli kitaplar, masallar, sesli kitaplar. Kelime dağarcığını genişletirler ve uyumlu bir şekilde metinle ilgilenen bir kişi oluştururlar.

    Yeni bir bilgi alanı - bilgisayar bilimi (uygulamalı programlama ve tasarım bilimi) - erken yaşta, 4-6 yaşlarında başlatılmalıdır.

    Çocuk zaten etrafındaki dünya hakkında fikir oluşturduğunda. Oyun her zaman öğrenmekle ilgili olmuştur. Ve bugün ana eğitim aracı, bir çocuğun dijital bilgi dünyasına kişisel bir rehber olan bir gadget'tır (tablet veya bilgisayar).

    Code.org- güzel arayüz ve ağırlık basit oyunlarÖ temel prensipler programlama dillerinin çalışması. Çocuklar için çok gerekli, kar amacı gütmeyen bir eğitim projesi.

    Pastel Boya Fiziği Deluxe- oyun tam anlamıyla bir şaheserdir, çocukta mühendislik düşüncesini geliştirir, çeşitli sistemler ve fiziksel motorlar koşullarında programlamayı anlamaya hazırlar. Programlama hakkında değil, en önemli eğitim disiplini olan yinelemeli bir süreçle problem çözme mantığı hakkında.

    Lightbot- eski Flash'ta bir oyun, ancak güzel grafikler ve robotun hareketi için algoritmalar oluşturmaya yönelik basit eğitim materyalleri. Öğrencinin senaryoya olan ilgisini ve karakterin adım adım davranışını anlamasını geliştirir.

    Kod Dövüşü- Piyasada kıdemli, Python, JavaScript, Lua ve egzotik CoffeScript kodlarının oyun tabanlı öğrenimiyle uğraşan.

    kod maymunu- maymunla oyun yoluyla sözdizimi ilkelerini öğrenmek.

    Ceebot- C++ komutlarını kullanarak karakter yönetimi.

    Kargo Botu okul öncesi çocuklar ve onların ipad'leri için basit bir uygulama.

    Oyuncu, her seviye için "oyun" şefi tarafından verilen bulmacaları çözer. Örneğin bulmacalar sayesinde en basit komutlara dayalı olarak modüler fonksiyonları ve bunların kombinasyonlarını nasıl oluşturacağınızı öğrenebilirsiniz.

    Çizik- geleceğin programcısının düşünme gelişiminin bir klasiği.

    Kodu Oyun Laboratuvarı- Microsoft Araştırma ekibinden büyük bir eğitim projesi. PC sürümü ücretsiz, Xbox sürümü ise yaklaşık 5 ABD Doları tutarındadır. Güzellik, oyun tasarımı dünyasının çocuğu için cazibesinde, modülerliğinde, sanal dünyalar yaratma kategorilerinde düşünmesindedir. Kodlama ve programlama için belki daha az kullanışlıdır, ancak oyun uygulama tasarımının temellerini öğrenmek için daha iyidir.

    Seksek iPad'de olması gereken bir uygulamadır. Güzel tasarım ve temel kodlama kavramlarının temel öğrenimi.

    resim dünyası- Rusya Bilimler Akademisi'nin görev tanımına göre geliştirilen bu Rus projesini belirtmekte fayda var ama tasarımı beğenmedim. Uygulamanın avantajları - Rus dili. Ancak bu, programlamanın temellerini öğrenmede çok tartışmalı bir avantajdır çünkü İngilizce bilgisi öğrenme sürecini hızlandırır.

    RoboZZle- okun hareketi için bir algoritma derlemek için bir uygulama. Çocuğa pratikte algoritma teorisini anlamayı öğretir.

    kodlanabilir- küçük çocuklar için uygundur. Oyun sırasında sevimli küresel karakterlerin davranışları için basit senaryolar oluşturabilecekler.

    Doğal olarak, bu her şeyin sadece küçük bir kısmı. Ancak programlama dünyasını bu uygulamalardan tanıyabilirsiniz.

    Giderek küçük yaştaki çocuklar oyun geliştirmeye ilgi duymaya başlıyor. Çağımızda bilgi bol miktarda, hatta belki de bol miktarda bulunabilir. Bu kılavuz, genç okuyucuların veya ebeveynlerinin oyun geliştirme dünyasını tanımalarına yardımcı olacaktır. Ve bu aslında ne anlama geliyor? İlk olarak, yeni başlayanlar için uygun teknolojilere odaklanacağım. İkinci olarak, sıfır olabileceğini varsayarak teknik bilginizin seviyesi hakkında spekülasyon yapmayacağım. Bu nedenle, yeterince akıllı olmadığınızı düşünürsem veya küçümseyici konuşursam - bu öyle değil! Tersine, bir şey tam olarak net değilse, bana bildirin, ben de her şeyi açıklığa kavuşturmaya çalışacağım.

    Çok genç yaş - ne kadar?

    Muhtemelen en yaygın soru. Oyun geliştirmeyle tanışmak için benim (veya çocuğumun) kaç yaşında olması gerekiyor? Cevaplamak imkansız çünkü tüm çocuklar farklı. En alt basamakta (doğru araçları kullanarak), gerçekten kendini adamış 6 yaşındaki bir acemi, şimdiden bazı başarılar elde edebilir. Yelpazenin diğer tarafında, 12 yaşında, bu başarılar için zaten yeterli eğitim geçmişi ve zihinsel yetenekler olmalıdır. Gerçek yaş ortada bir yerde.

    Başlamak için öğrenilmesi gereken birkaç kritik şey var.

    Birincisi motivasyondur. Genellikle başarıya engel olan zihinsel yetenekler değil, motivasyon eksikliğidir. Çocuğunuz yaratmayı seviyorsa (oynamayı sevmekle oyun yapmayı sevmek aynı şey değildir) ve deneme yanılmaya hazırsa, çocuğunuz için idealdir. oyun geliştirme!

    İkincisi beklenti yönetimidir. Burada, yaştan bağımsız olarak potansiyel geliştiricilerin çoğunu kaybediyoruz. Oyun geliştirmek dünyanın en zor işi değil ama oldukça karmaşık. Çocuğunuz yakında Call Of Duty veya NHL gibi büyük ölçekli modern oyunlar üzerinde çalışmayacak, MMO projeleri yapmayacak. Çok mütevazı bir şeyle başlamalı ve yavaş yavaş ilerlemelisiniz.

    Çocuk ne yapacağına kendini ikna ederse yeni minecraft, onu çok acı bir başarısızlık beklemektedir. Öte yandan, "bir gün yeni bir Minecraft yapacağım" zihniyeti harika çalışabilir. Buradaki farkı anlamak çok önemlidir. Diğer tüm becerilerde olduğu gibi, bu da kademeli olarak geliştirilmelidir. Bir görevi çok ciddiye almaya çalışmak, yalnızca başarısızlığa ve hayal kırıklığına yol açacaktır. Referans olarak, ben de 8 yaşında Atari BASIC'te programlamaya başladım.

    Zaten oyun geliştirme nedir?

    Burada biraz daha derine iniyoruz teknik yönler. Oyun geliştirme, büyük bir yaratım yaratmayı amaçlayan birçok beceriyi ifade eden genel bir terimdir. Bir araba üreticisi olduğunuzu hayal edin. Bunun için bir beceri yeterli değil, bir araba yapmak için mühendislere, tasarımcılara, montajcılara, test uzmanlarına ve diğer birçok uzmana ihtiyacınız var. Ancak, gerekli görevlerin tam listesi bir kişi tarafından gerçekleştirilebilir. Tek kişi tarafından yazılan, çizilen ve yayınlanan epeyce başarılı oyun var. Ancak, bunların nadir vakalar olduğunu anlamak önemlidir. Tüm geliştirme sürecinin tek bir göreve indirgenmediğinden bahsediyorum, birkaç tane var. Ve bir çocuk bir şeyi severse, diğeri bundan hoşlanmayabilir. Programları seçerken, grafikleri ve ses örneklerini kontrol ederken bunu akılda tutmanız önemlidir, böylece her şeyi kendiniz yapmak zorunda kalmazsınız.

    Modern oyunların kredilerinde, projeyle ilişkili yüzlerce kişinin adı ve özelliği belirtilmiştir. Ancak, başlamak için yalnızca iki göreve ihtiyacınız var: bir oyun ve içindekileri yapmak.

    Monopoly'i örnek olarak alalım. Önce bir oyun yaparız: oyun alanının tasarımını belirleriz, zarlar için kurallar koyarız, oyun kartları yazarız, vs. Ardından oyun içeriği oluşturuyoruz: sahadaki resimler, kartlardaki çizimler, plastik evler vb.

    Video oyunlarında da durum aynı. İlk görev genellikle programlama olarak adlandırılır, ikincisi ise oyunu grafik, animasyon, ses ve müzikle doldurmaktan oluşur. Bütün bunlar tamamen farklı beceriler gerektirir, ancak kural olarak kişi onlarsız yapamaz. Makalemiz programlamaya odaklanacak - çocuklar oyun geliştirmeye ilgi duyduklarında, düşündükleri şey bu. Bir çocuk oyunlar için grafik çizmek istiyorsa, büyük olasılıkla zaten bir defterde çizim yapıyordur! Ve bu arada bu doğru yaklaşım çünkü bir "sanatçı" ile "oyun sanatçısı" arasındaki fark çok az.

    programlama nedir?

    Bu nedenle, oyun geliştirme hakkında konuştuğumuzda, büyük olasılıkla programlamayı kastediyoruz. Ne olduğunu? Basitçe söylemek gerekirse, bilgisayara ne yapması gerektiğini söyleme sanatıdır. Oyun geliştirme bağlamında bu, "oyuncu yukarı düğmesine basarsa şunu yap" veya "sağlık sıfıra düşerse şunu yap" gibi şeyler yapmak anlamına gelir.

    Oyunları nasıl programladığınız zaten zor bir sorudur ve bunun acısını çekmeniz gerekir. Her şeyin çocuğunuza bağlı olduğunu anlamak daha da önemlidir. Hepimiz farklı düşünüyoruz ve fikirlerimizi farklı şekillerde ifade ediyoruz. Birisi, bir başkası için tamamen çekici olmayan bir stil seçebilir.

    Temel olarak, bir bilgisayara ne yapacağını söylemenin üç yolu vardır (sıklıkla bunların bir kombinasyonu söz konusudur):

    Yeni başlayanlar ve genel olarak geliştiriciler arasında ortak bir yaklaşım (örneğin, popüler ticari Unreal Engine 4, Blueprints görsel programlama arayüzüne sahiptir). Öğeleri sürükleyip bırakarak ve ardından bunları bir akış şeması gibi birbirine bağlayarak oyun ekranını şekillendirirsiniz. Çocuğunuz görsel düşünürse, bu en iyi seçimdir.

    Komut dosyası dilleri

    Burada görevi bilgisayara küçük metin dosyaları kullanarak açıklarsınız. Çoğu zaman hala kullanırsın görsel düzenleyici, yukarıdaki resimde olduğu gibi, ancak bilgisayarın doldurmadan ne yapacağını bilmesini sağlayın metin alanları ve şemalar oluşturmak değil, kod yardımıyla.

    Bu metin parçası, bilgisayara "whale.png" görüntüsünü yüklemesini ve ekranda göstermesini söyler.

    Geleneksel programlama dilleri

    Son olarak, birçok oyun geleneksel dillerde yazılmıştır: C++, Java, C# ve diğerleri. Genç oyun geliştiricilere geleneksel veya daha doğrusu derlenmiş dillerle başlamalarını birkaç nedenden dolayı tavsiye etmediğimi hemen söyleyeceğim.

    Sahip olabileceğiniz ana soru şudur: komut dosyası oluşturma ve derlenmiş diller arasındaki fark nedir? Farklılıkların çoğu, bu makalenin kapsamı dışındaki teknik ayrıntılarla ilgilidir, ancak genel olarak hepsi karmaşıklığa bağlıdır. Derlenmiş bir dille çalışmak, betik dillerinde düşünmeniz gerekmeyen pek çok şeyi içerir: derleme (yazdığınız metni bilgisayarın anlayacağı bir şeye dönüştürmek), bağlama (burada kısaca açıklamak zor) ve daha fazla.

    Daha önemli fark amaçtır. Komut dosyası dilleri, temel olarak bir geliştiricinin hayatını kolaylaştırmak için belirli sorunları çözmeyi amaçlar. Kısacası betik dillerini öğrenmek ve kullanmak çok daha kolaydır.

    Sonunda, genellikle görsel programlama ve betik dillerini birleştiren geliştirme araçları bulacaksınız.

    IDE, kütüphane, ne???

    Tamam, bu son tanışma anı. Metinde pek anlaşılır olmayan birçok terim ve ifade olacağı için bunları kısaca açıklayacağım.

    Dil. Programlama dilinden bahsediyorum. Birbirimizle farklı dillerde iletişim kuruyoruz ve bilgisayarla da farklı dilleri konuşabiliyorsunuz. Yukarıdaki örnek Lua dilini göstermektedir.

    IDE. Entegre Geliştirme Ortamı, aynı anda birçok görevden sorumlu olan bir uygulamadır. Açıklanan tüm programlar bir IDE içermez; çeşitli işler farklı bir yazılıma ihtiyacınız olabilir. Genellikle geliştirme ortamı şunları içerir: Metin düzeltici, programlama dili ve bir dizi başka araç.

    Kütüphane. Bunun sizin için çok iş yapan biri olduğunu hayal edin. Kural olarak, ekranda görüntülemek gibi "basit şeyler" bile dilin parçası değildir. Bu şeyler başka insanlar tarafından yaratılıyor ve kütüphaneler olarak kullanıma sunuluyor. Bazı durumlarda (GameMaker veya Construct'ta) tüm bunlar zaten sizin için bir araya getirilmiştir. Örneğin Lua'da kütüphaneyi kendiniz seçmelisiniz. Her yaklaşımın artıları ve eksileri vardır. Gamemaker, yeni başlayanlar için pek çok şeyi basitleştirir, ancak Lua, kitaplığı daha uygun bir kitaplıkla değiştirmenize olanak tanır.

    Sprite. Bu, oyuncu karakteri gibi oyunda kullanılan grafiklerdir. Hareketli grafik bir resim olabilir veya birçok animasyon içerebilir. Karakterin tam anlamı motordan motora değişir, ancak oyunda her zaman görünür, hareket eden bir nesnedir. Super Mario Brothers'ta bunlar Mario, kaplumbağalar, ateş topları vb. Aynı zamanda, dünyanın kendisi - gökyüzü, borular vb. - mutlaka karakterlerden oluşmaz.

    HTML5. Burada her şey hemen netleşemez. HTML 5, web sayfaları için biçimlendirme dili olan HTML'nin en son sürümüdür. Bir bilgisayar veya telefon tarayıcısına bir site yüklediğinizde, bir HTML belgesi görürsünüz. Ancak HTML5 aynı zamanda web sitelerinin çalışmasını sağlayan teknolojilerin çoğu için genel bir terimdir. Bu, HTML'nin kendisini, CSS'yi (başka bir dili tanımlayan dış görünüş sayfalar) ve JavaScript, mantıktan sorumlu betik dili. Teknik olarak bu tamamen doğru olmasa da, insanlar sıklıkla HTML, HTML5 ve JavaScript'i birbirinin yerine kullanır. HTML5 oyun oluşturmak için kullanılabilir ve tarayıcının kendisinde çalışması gerekmez.

    Hata ayıklayıcı. Bir oyun olması gerektiği gibi çalışmadığında nedenini anlamak zor olabilir. Bazı paketlerde, bunun için sözde bir hata ayıklayıcı, sorunları veya "hataları" tanımlamak için bir araç vardır. Yeni başlayanlar için bu oldukça gelişmiş bir araçtır, ancak ihtiyaç duyulduğunda hata ayıklayıcının üzerinde fazla durulamaz.

    Çocuklara uygun oyun geliştirme araçları

    Öyleyse, makalenin özüne geçelim - çocuğunuzu oyun geliştirme dünyasıyla tanıştırabilecek araçlar. Bu hiçbir şekilde her şeyi içeren bir liste değildir! Her paragrafta size program paketinde neler olduğunu anlatacağım, nasıl çalıştığını göstermek için bir örnek kullanacağım, artıları ve eksileri açıklayacağım, varsa fiyatı belirteceğim ve eğitim literatürüne bağlantılar sağlayacağım. Unutulmaması gereken bir nokta kaldı... seçeneklerin her biri yararlı olabilir, "en iyi" seçenek yoktur. Çocuğunuzun tercihlerine göre seçin. İlk seçenek işe yaramazsa, başka bir şey deneyin.

    Liste belirli bir sıraya göre oluşturulmamıştır.

    Çizik

    Bu, Massachusetts Institute of Technology tarafından finanse edilen ve 8 ila 16 yaş arası çocuklara programlama öğretmeyi amaçlayan bir projedir. Program 2006'da doğdu ve o zamandan beri etrafında geniş bir topluluk topladı. Tüm aile için çekiciliğe özel önem verilir. Scratch'in çalışması için sadece bir tarayıcıya ihtiyacı var, sadece siteye gidin ve programlamaya başlayın. Scratch, Harvard ve Yale'in giriş niteliğindeki bilgisayar bilimi kursu CS50'ye dahildir. Sonuçları kaydetmek için kayıt gereklidir, ancak basittir ve e-posta onayı bile gerektirmez.

    Scratch, görsel programlama araçları kategorisine aittir. Çocuk, oyuncuları sahneye alır ve lego şeklindeki programlama blokları yardımıyla onları kontrol eder. Bloklar, gerçek programlama dillerinin yapısının iyi bir analogu olarak işlev görür, bu nedenle onları daha sonra anlamak daha kolay olacaktır. Pek çok belge mevcuttur ve kelimenin tam anlamıyla binlerce örnek program vardır.

    Scratch'in belki de en çekici özelliği, başlamak için ihtiyacınız olan tüm içeriğe sahip olmasıdır. Aynı zamanda, kendi seslerinizi ve indirdiğiniz sesleri ve grafikleri yüklemek de mümkündür, bu da programlamadan varlık oluşturmaya veya tersine geçişi basitleştirir.

    Yukarıda mavi bir köpeğe iliştirilmiş bir komut dosyası var. İki bölümden oluşur, ilki yeşil bayrağa basılarak tetiklenir. Köpek ekranda belirli bir yerde belirir, ardından adım adım sola doğru hareket eder. İkinci komut dosyası, başka bir köpekle çarpışmayı bekler, ardından köpeği orijinal konumuna döndürür, sahneyi değiştirir ve nesneyi gizler. Her karakterin ayrı bir yazısı vardır. Bloklar programlama paletinde seçilir.

    Bloklar, Scratch'te programlama için kullanılır. Resim, Görünüm kategorisini gösterir. Gördüğünüz gibi, kategori seçimi oldukça geniştir.

    Scratch hepsi bir arada bir çözümdür, başlamak için başka bir şeye ihtiyacınız yoktur. Dahil birçok sahne, arka plan ve ses var.

    Scratch tamamen ücretsizdir ve sponsorluk yoluyla mevcuttur.

    Kitaplar (evet, Rusça var):

    • Genç bir programcının ilk kitabı. Scratch'te program yazmayı öğrenmek — Yulia Torgasheva
    • Scratch ortamında yaratıcı görevler. 5-6 sınıf. Çalışma Kitabı - Julia Pashkovskaya
    • Çocuklar için programlama. Scratch ve Python için Resimli Kılavuz, Carol Vorderman

    Scratch ayrıca 5-8 yaş arası çocuklar için ScratchJr adlı bir iPad uygulamasına sahiptir. Ayrıca tamamen ücretsiz. Hiçbir şey satın almanıza veya indirmenize gerek yok, programı tanımak için kayıt olmanıza bile gerek yok, bu nedenle Scratch listedeki en uygun fiyatlı seçenek olarak adlandırılabilir.

    Yapı2

    Construct2, görsel programlamaya dayalı başka bir motordur. Oyunlar bir sürükle ve bırak arayüzünde oluşturulur ve mantık, akış şemaları gibi bir olay sistemi tarafından kontrol edilir. İşlevsellik yeterli değilse, JavaScript kullanarak kendi eklentilerinizi oluşturabilirsiniz, ancak bu zaten oldukça karmaşıktır ve hiç gerekli değildir - Construct2 olay odaklı olacak şekilde tasarlanmıştır. Çalışmanın nihai sonucu HTML5'tir, mobil cihazlar (Android, iOS, Windows Mobile), tarayıcılar ve masaüstü sistemleri dahil olmak üzere farklı platformlara aktarılabilir.

    Construct2, Scratch'ten çok daha karmaşıktır, bu da iki önemli anlama gelir. İlk olarak, dik öğrenme eğrisi onu küçük çocuklar için uygun hale getirmez ve bir öğretim yaklaşımını vurgulamaz. Öte yandan, bu, temelleri öğrenmek için değil, oyun oluşturmak için nispeten basit bir araçtır. Bu, çocuğunuzun yakında herhangi bir kısıtlamayla karşılaşmayacağı anlamına gelir. Construct2'de birçok ticari oyun yaratılmıştır.

    Construct2, ayrıntılı yardım bilgileri ve bir PDF kılavuzu da dahil olmak üzere pek çok belgeye sahiptir. Topluluk çok aktif, destek için her zaman foruma başvurabilirsiniz.

    Yapı altında bir bilgisayarda kurulur Windows kontrolü. Mac açık şu an desteklenmiyor.

    Construct2'de programlama böyle görünür. Oyun karakterinin giriş verilerine verdiği tepkiyi anlatan kod şu şekildedir; basit bir atıcının hazırlanmış bir örneğinden alınmıştır.

    Bir nesneye hızlı bir şekilde önceden tanımlanmış davranış eklemenizi sağlar.

    Construct2 hepsi bir arada bir çözümdür, başlamak için başka bir şeye ihtiyacınız yoktur. En başından beri, oyun kaynaklarıyla dolu değil, ancak Ücretsiz indirin ağır bir varlık paketi (dikkatle, bağlantı doğrudan, arşiv 38 MB ağırlığında). Ücretli sürümler için ek varlıklar sağlanır.

    Kendi eklentilerinizi yapmak istiyorsanız, JavaScript SDK'sına (ücretsiz olarak mevcuttur) ve Construct'ta bulunmadığından bir metin düzenleme aracına ihtiyacınız olacaktır.

    Construct2 farklı sürümlerde mevcuttur:

    • Ücretsiz sürüm - oluşturulan oyunlar yalnızca tarayıcıda çalıştırılabilir, daha az varlık ve oyunların karmaşıklığına ilişkin bir dizi kısıtlama vardır. Kısıtlamalar olmamalıdır büyük sorun en azından ilk başta.
    • Kişisel sürüm - 129 ABD doları, iPhone, Android ve masaüstü sistemleri için oyunlar, daha fazla ses, müzik, karakter ve diğer varlıklar yapabilir.
    • İşletme sürümü, esasen kişisel sürümle aynıdır, yalnızca daha pahalıdır ve 5.000 ABD doları kar eşiğini aştıktan sonra satın alınması gerekir (bu sorunu yaşıyorsanız, bu iyi!).

    Rusça kitap bulamadım. Giriş kursunun bir çevirisi var. Rusçada 2 ders oluşturun.

    oyun yapımcısı

    GameMaker, görsel programlamayı kendi GML betik diliyle birleştiren hepsi bir arada hibrit bir sistemdir. Başlangıçta oyunlar yalnızca Windows'ta çalışır, ancak ücretli sürümde tarayıcılar, iOS, Android, Windows Phone ve diğer platformlar için de oluşturulabilir.

    GameMaker'da programlama, Construct2 tarzında akış şemalarına dayalı olabilir. Betik dili GML'de kod yazmak mümkündür. Bu hem artı hem eksi. Bir yandan esnek bir sistemdir, diğer yandan anlaşılması daha zordur. GameMaker'ın kendi dili olduğu için öğrendiğiniz becerilerin çoğu, başka bir geliştirme aracına geçerken o kadar yararlı olmayacaktır. Tabii ki, programlamanın temel kavramları dilden dile değişmez, bu nedenle bu özellikle ciddi bir sorun değildir.

    Gerekli varlıklara ek olarak, araçların kalitesi değişiklik gösterse de, GameMaker tam anlamıyla ihtiyaç duyabileceğiniz her şeye sahiptir. Programlamaya ek olarak, tek bir uygulamada grafik, ses ve seviyeleri kendiniz oluşturabilirsiniz. GameMaker'da oluşturulan oyunlar arasında çok başarılı projeler var - örneğin, Spelunky ve Hotline Miami'nin orijinal versiyonu (çocuklar için değil).

    Bu, listedeki en zor programlardan biridir ve ergenliğe kadar almamak en iyisidir. Ancak daha büyük çocuklar için çok fazla esneklik ve oyunları paylaşma ve sonunda satma yeteneği sunar. Her şey çocuğa bağlıdır, bu yüzden burada bir şey tavsiye etmek zordur, sadece aynı Scratch ile karşılaştırıldığında burada her şeyin çok daha karmaşık olduğunu unutmayın.

    GameMaker, ister kod düzenleme, ister görüntü oluşturma ve düzenleme, harita tasarımı veya başka herhangi bir şey olsun, ihtiyacınız olan her şeyi içerir. Ayrıca yerleşik bir hata ayıklayıcı da vardır. Doğru, standart versiyonda çok fazla çalışma örneği yok. Aslında, hiç yoklar. Bununla birlikte, aktif bir topluluk sayesinde, internette kolayca bir sürü örnek ve ders bulabilirsiniz. Malzemelerin kalitesi büyük ölçüde değişebilir ve Yoyo Games'in kendisi bunlarla ilgilenmez, bu nedenle iyi dersler daha fazla aramak zorunda kalacak.

    GameMaker lisanslarında işler o kadar basit değil çünkü fiyat yapısı değişti, ancak tüm materyaller güncellenmedi.

    • İlk sürüm, kaynakların ve komut dosyalarının kullanımını ciddi şekilde sınırlar. Ancak, Standart sürüme yükseltmek için yalnızca ürün anahtarının gönderileceği postanın onaylanması gerekir.
    • Ayrıca, işbirliği işlevine sahip 100$'lık bir Professional sürümü de var (henüz buna ihtiyacınız yok). Bu sürümün temel farkı, diğer platformlara aktarımı desteklemek için ayrı modüller satın alabilmenizdir (her biri 200 ABD doları). Örneğin Android ve iOS için geliştirme yapmak istiyorsanız toplamda 500$ ödemeniz gerekecek.
    • Ve son olarak, mevcut tüm platformlarla birlikte Ana sürümün maliyeti 800 ABD dolarıdır.

    Acemi bir geliştirici için basit bir kayıtlı sürüm yeterlidir. Professional'a göz kulak olursanız, genellikle Steam'de indirimdedir.

    Tüm yerleşik araçları kullanmanın gerekli olmadığını lütfen unutmayın. Karakterleri başka bir programda çizebilir veya başka kaynaklardan grafik alabilirsiniz.

    Lua ve AŞK

    Lua bir betik motorudur ve LÖVE oyun oluşturmak için bir kütüphanedir. Lua başlangıçta "programcı olmayanlar" için bir programlama diliydi ve bunlar gibi ticari oyunlar için bir betik dili olarak hızla popüler oldu. Bu seçeneğin, örneğin GML'ye göre büyük bir avantajı vardır. Lua her yerde kullanılır ve birçok kişi tarafından bilinir, bu yüzden onu bilmek faydalı olacaktır. Öğrenme açısından, dil oldukça basittir.

    LÖVE, Lua ile oyun oluşturmak için bir kütüphanedir. 2B oyunlar oluşturmak için gereken hemen hemen tüm işlevleri sağlar - grafik görüntüleme, ses çalma, giriş verilerini yönetme, dosya yükleme vb.

    LÖVE ve Lua tek başına yeterli değil, ayrıca senaryo yazmak ve düzenlemek için bir metin editörüne, grafik ve ses kaydı oluşturmak için bir yazılıma, seviye tasarımı için bir harita editörüne ve bunun gibi şeylere ihtiyacınız olacak. Neyse ki, tüm bunlar ücretsiz olarak mevcut ve aşağıda örnekler vereceğim. Her şeyi ayrı ayrı indirmeniz yeterlidir. LÖVE herhangi bir varlıkla birlikte gelmez, ancak Open Game Art ve FreeSound gibi kaynaklar bu konuda size yardımcı olacaktır. Yine, her şeyi kendiniz indirmeniz gerekiyor.

    LÖVE'nin ana dezavantajı destek eksikliğidir. mobil platformlar. Şu anda, kütüphane sadece bilgisayarlar için oyun yapmanıza izin veriyor, ancak gelecekte mobil cihazlar da vaat ediliyor.

    LÖVE kütüphanesi Lua'yı içerir, bu yüzden önce sadece buraya, ardından yeni başlayanlar için dokümantasyon için buraya gidiyoruz. Ancak, yine de bir metin düzenleyiciye ve grafik ve ses için programlara ihtiyacınız var.

    Basit yazım için iki popüler seçenek vardır: Notepad++ ve Sublime Text .

    Bununla birlikte, Lua'daki geliştirme için, onu kullanmanızı tavsiye ederim - daha çok kod tamamlama, hata ayıklama ve benzeri şeyleri destekleyen bir IDE'dir. Ah evet, aynı zamanda ücretsiz.

    Ücretsiz Tiled düzenleyici, seviyeler ve haritalar oluşturmak için harikadır.

    Alternatifler hakkında - Lua, Corona, Gideros ve Marmalade Quick gibi birçok popüler geliştirme aracında betik dili olarak kullanılır. Hepsi LÖVE'den daha zor, o yüzden tavsiye ederim. Bununla birlikte, Lua bilgisinin ne kadar yararlı olabileceğini gösterme konusunda harika bir iş çıkarıyorlar.

    Lua ve LÖVE ücretsiz, ZeroBrane için ne istersen ödersin.

    Kitaplardan sadece biri programlamayı özellikle LÖVE'de anlatıyor.

    • Lua Programlama - Roberto Jeruzalimski

    Kütüphanede malzeme aramak aşk kelimesini yaymayı zorlaştırıyor, bu yüzden isteklerinize lua ekleyin.

    Python ve PyGame

    Bu, dil ve kitaplığın başka bir birleşimidir. PyGame birçok yönden LÖVE'ye benzer ve yeni başlayanlar için dosttur. 3B dünyasında oyun geliştirmeden daha iyi bilinmesine rağmen, popüler bir betik dili olan Python'u kullanır. Genellikle BT uzmanları tarafından görevleri otomatikleştirmek için kullanılan Python bilgisi, oyun geliştirmenin dışında bile işe yarayacaktır. Bu dilde birçok önemli oyun yazılmıştır.

    PyGame ses, grafik ve girdi işleme gibi beklenen işlevselliğe sahiptir. Metin düzenleyici ve varlık oluşturma ile ilgilenmeniz gerekir. Ancak, LÖVE'den farklı olarak, bazı varlıklar ve numuneler zaten PyGame ile paketlenmiştir.

    LÖVE için ipuçlarını kullanın, bu araçların çoğu burada da yardımcı olacaktır.

    Tabii ki, ZeroBrane'i saymazsak - bir analog olarak, kendinizi PyCharm'a alıştırmanızı tavsiye ederim (var ücretsiz sürüm). En kolay düzenleyici değildir, ancak her zaman normal Notepad++ veya Sublime Text ile çalışabilirsiniz.

    Python ve PyGame ücretsizdir. PyCharm'ın ücretsiz bir sürümü var.

    Stencyl, "oyun yapmanın en kolay ve en hızlı yolu" olduğunu iddia eden görsel bir programlama araç setidir ve bu pekâlâ doğru olabilir! İşlevsellik açısından Construct2'ye benzer, bir sahne inşa ederek ve ona davranışlar sağlayarak programlıyorsunuz. Yerleşik bir grafik düzenleyiciye sahip hepsi bir arada bir çözümdür, ancak görüntüleri içe aktarma özelliği de dahildir. Stencyl'de komut dosyaları yazamazsınız, ancak programın işlevselliğinden yoksunsanız Haxe dilini kullanarak uzantılar oluşturabilirsiniz. Bununla birlikte, bu, çocuğun mevcut yeteneklerinin ötesine geçebilir - bu durumda, mağazada bulunan uzantılar kullanışlı olacaktır.

    Stencyl, Windows, Linux ve Mac üzerinde çalışır ve varsayılan olarak yalnızca Flash uygulamaları oluşturur. iOS ve Android dahil olmak üzere diğer platformlar ücretlidir. Program, kitte çok fazla varlığa sahip değildir, ancak bunlara hızlı erişim sağlar, ayrıca çevrimiçi yardım çok iyidir.

    Hepsi bir arada bir çözümdür. Haxe uzantılı programlamayla ilgilenmiyorsanız, ihtiyacınız olan her şey ya kutudadır ya da doğrudan uygulamadaki bağlantılardan edinilebilir.

    • Stencyl'in kullanımı ücretsizdir, ancak sonuç yalnızca Flash oyunlar olacaktır. Piyasaya sürülen oyunlar, açılış sırasında bir Stencyl açılış ekranı ile sağlanır.
    • 99 $ karşılığında, masaüstü sistemler için uygulamalar oluşturabileceğiniz bir Studio sürümü mevcuttur. Stencyl açılış ekranı eksik.
    • 199 $ karşılığında iOS ve Android için oyunlar yapabilirsiniz.

    Lego Akıl Fırtınası

    Bunun çok, çok pahalı bir şey olduğunu hemen açıklığa kavuşturmama izin verin. Ancak çocuğunuz robotikle ilgileniyorsa veya sadece hevesli bir Lego hayranıysa, onu programlama ile tanıştırmanın doğru yolu budur. Mindstorm Lego, robotlar oluşturmak için bir kurucudur. Kit, robotun davranışını ayarlayan programlanabilir bloklarla birlikte gelir. Mindstorm kademeli bir öğrenme ilerlemesi sunar: önce robot yapı taşlarından birleştirilir, ardından bir uygulama (iPad veya masaüstü sistemleri için) kullanarak onu kontrol etmeyi öğrenebilir ve ardından programlama mantığını başlatabilirsiniz.

    Lego Mindstorm, kreasyonlarınızı kendi başınıza kontrol etmenize veya akış şemalarını kullanarak EV3 uygulamasında programlamanıza olanak tanır. İsteğe bağlı olarak düşük seviyeli programlama yapmanıza izin veren araçlar da vardır.

    Bu nokta konu dışı, ancak kendi elleriyle bir şeyler yaratmayı tercih eden çocuklar için uygun bir programlama öğrenme aracı olarak Mindstorm'dan bahsetmeye karar verdim. Maddi nesneler örneğinde neden-sonuç ilişkilerinin gözlemlenmesi çok yararlı olabilir.

    Hazır ateş püskürten ejderha Mindstorm, montajı bir ay

    Masraflı! Çok pahalı!

    • Eksik yerelleştirmeye sahip temel bir set 22.000 ruble'den bulunabilir
    • Eklentiler için daha fazla ödemeniz gerekecek
    • ABD'den 350 $ artı kargo karşılığında alınabilir

    Elektronik formda (pdf dosyalarına bağlantılar) kılavuz ve eğitim materyali mevcuttur.

    Artık tam olarak "oyun programlama" değil, ama kesinlikle uygun yol ihtiyaç duyduğu birçok beceriye aşinalık. Ve evet, ailem bana bunu çocukken vermiş olsaydı, onları Yılın Ebeveyni ödülüne aday gösterirdim. Kızım büyüdüğünde ona böyle bir tane alacağım ... belki kendime bir hediye olsa da?

    Özel Mansiyonlar

    Her liste bir yerde bitmeli ve bu bir istisna değil. Aşağıda, herhangi bir nedenle ana noktalara girmeyen her şey var. Yukarıdaki önerilerden hiçbiri size uymuyorsa, bu seçeneklere mutlaka göz atın.

    Minecraft modları

    Çocuklarınız oynuyorsa bilgisayar oyunları, Minecraft'a zaten aşina olabilirler. Modlama, orijinal oyunun modifikasyonudur ve Minecraft bu konuda özellikle popülerdir. Modlar, kodlamayı öğrenmenin veya en azından bunu yapmak için motive etmenin uygun bir yolu olabilir. Minecraft için modlar yapar Çok birçok insan. Dezavantajı, Java ile yazılmış olmaları ve bu dilin küçük çocuklar için uygun olmamasıdır. Ancak, oyuna gereken ilgi ile denemeye değer. Daha fazlasını öğrenebilirsiniz.

    OyunSalata

    Stencyl ve Construct2 gibi görsel bir programlama aracıdır. Ticari oyunlar oluşturmak için kullanıldı, ücretsiz bir sürümü mevcut, ücretli olanlar diğer platformlara açık erişime sahip. Şahsen ben GameSalad kullanmadım.

    koda

    Codea, iPad'in kendisinde iPad için oyun geliştirmeye yönelik bir uygulamadır. Maliyeti 10$'dır, Lua'yı kullanır ve kendi öğrenmesi kolay kitaplığını sağlar. Bir bilgisayara bağlanmak için bir kod düzenleyici, bir hata ayıklayıcı ve araçlar vardır. Bir Mac'e bağlanabilir ve tamamen piyasaya sürülebilen bir oyun yapabilirsiniz. Bir iPad'de yazmak hiç eğlenceli değil, bu nedenle kablosuz bir klavye neredeyse bir zorunluluktur. Tonlarca örnek içerir ve iPad'i olan çocuklar için harikadır (özellikle sahip oldukları tek şey bu olduğunda).

    Kodu veya Project Spark

    Bu, oyun yapmakla ilgili bir oyundur. Aslında bu, değiştirilebilen, herhangi bir şeye dönüşebilen bir oyundur. Kodu, Microsoft'tan görsel bir programlama dilidir. Project Spark, XBox One için yayınlanan Kodun değiştirilmiş bir sürümüdür. Geleneksel programlamadan çok uzak, ancak fikirlerin çoğu (ve nihai sonuç!) aynı.

    Kod Dövüşü

    İlginç bir konsept, karakterin programlama tarafından kontrol edildiği bir tarayıcı oyunudur. Oyunda ilerledikçe size daha zor şeyler öğretiliyor. Temel olarak, bir oyun oynayarak kodlamayı öğrenirsiniz. Başlangıçta Javascript öğretmek için oluşturuldu, ancak daha sonra diğer diller eklendi. Tamamen ücretsiz olduğuna ikna oldum, bu yüzden denemenize gerek yok.

    alice

    Alice, entegre bir geliştirme ortamına sahip bir programlama öğrenme aracıdır. İşte yazarların kendi sözleri:

    Alice, animasyonla kolayca çalışabileceğiniz, hikayeler anlatabileceğiniz, oyunlar veya videolar oluşturabileceğiniz yenilikçi bir 3B ortamdır. Bu, öğrencileri nesne yönelimli programlama ile tanıştırmak için tasarlanmış ücretsiz olarak dağıtılan bir eğitim yazılımıdır. Animasyonlu videolar ve basit video oyunları oluşturarak temel programlama kavramlarını öğretir. Alice'de sanal dünya 3B nesnelerle (insanlar, hayvanlar, arabalar) doludur ve öğrenciler bunları canlandırmak için programlar yazarlar.

    Alice, Carnegie Mellon Üniversitesi tarafından desteklenmektedir ve tamamen ücretsizdir.

    RPG YAPICI

    RPGMaker Ace, jRPG türünde belirli bir oyun türü oluşturmak için tasarlanmış GameMaker benzeri bir üründür. Sloganı kelimenin tam anlamıyla: "Bir çocuk için yeterince basit, bir geliştirici için yeterince güçlü." RPGMaker ile birkaç ticari oyun yapılmıştır. Türün hayranıysa, çocuğunuz için mükemmeldir. 70 $'a mal olur, ancak genellikle Steam'de indirimdedir.

    Çözüm

    Elbette ayrıntılara girmedim ama mevcut seçeneklerin çoğunu inceledim. Listeye eklemeye değer bir şey olduğunu düşünüyorsanız, bana bildirin! Makaleyi herhangi bir bilgi düzeyine sahip kişiler için anlaşılır hale getirmeye çalıştım ama elbette bununla baş edemedim. Bir şey net değilse, yazın. Hatırlanması gereken en önemli şey, tüm çocukların farklı olduğu ve aynı yaklaşımın herkes için işe yaramadığıdır. Çocuğunuz için en iyi olduğunu düşündüğünüz şeyi seçin ve bir şeyler yolunda gitmezse, her zaman birçok başka seçeneğin olduğunu bilin!