Kodlama, bir bilgisayara ya da cihaza nasıl davranacağını, hangi durumlarda ne tepki vereceğini ve bu tepkiler sonucunda nelerin etkileneceğini öğretme işlemidir.

Söz konusu cihazın davranışlarını önceden belirleyip, verilen komutlara göre çalışacak yazılımı yapmak, bu yazılımı cihazın anlayacağı dile çevirmek ve cihaza yükleyerek cihazın nasıl çalışacağını ona bildirme işlemi, Türkçede aynı anlamlara gelen “kodlama ” , “programlama”, ”yazılımlama” kelimeleri ile tanımlanır.

Bu Atölyemizde;

Geleceğin bilgisayar mühendislerini, yazılım mühendislerini, teknoloji mühendislerini ve sistem mühendislerini yetiştirmeyi amaçladık.

Gelecekte ne iş yapıyor oluyorsak olalım kesinlikle yazılım bilgimiz ve kodlama bilgimizin olması gerekli.Bu gerçeği düşündüğümüzde çocuklar ve gençlerimizin şimdiden yazılımın alt yapısını öğrenmeleri onlar için mükemmel kapılar açacaktır.

Gelecekte alfabeden önce kodlama dillerini öğrenecekleri bir dünyada olacak olan çocuklarımız ve gençlerimiz bunun altyapısını şimdiden oluşturmaları gerekmektedir.

Basit algoritmik düşünme sayesinde matematik ve fen bilgisi derslerinde de faydalı bir model olduğu görülmüştür.

Eğitimin içeriğinde algoritmik düşünme becerisi yanında ilerleyen aşamalarda yazılım dillerine giriş yapmaktadırlar.

Kodlama yapıları olan “if”, “for” , “while” yapılarını öğrenen çocuklarımız program geliştirmek için lazım olan becerileri kazanmış olmaktadırlar.

Kodlama atölyesinde kazandığı alt yapı ile “3D tasarım” , “Mobil Uygulama Geliştirme” ve “Oyun Programlama” atölyelerimizde kazanacağı alt yapıyı birleştirecek olan çocuklarımız ortaya bir ürün çıkarmaya hazır hale gelecektir.

Scratch Nedir?

MIT Medya Laboratuarında geliştirilen Scratch Logo programlama dilinin en gelişmiş örneklerinden birisidir. Scratch bir grafik programlama dilidir. Okuma-yazma bilen ya da yeni öğrenmeye başlayan her çocuk Scratch’i kolaylıkla öğrenebilir.

Scratch ile çocuklar teknolojiyi çok daha akıcı bir şekilde kullanmayı ve teknoloji ile yaratmayı öğreneceklerdir. Çocukların kullandığı multi-medya araçlarının çoğu daha önceden başkaları tarafından yapılır ve bir paket olarak çocukların önüne gelir. Çocuklar multi-medya ürünlerini sadece tüketirler. 

Scratch çocukların kendi multi-medya tasarımlarını yapmalarını, karşılaştıkları gerçek hayat problemleri karşısında teknolojiyi kullanarak yaratıcı çözümler ortaya koymalarını ve kendilerini değişik şekillerde ifaderek 21. yüzyıl becerilerini kazanmalarını sağlar.      

Scratch ile bilgisayar programı yazmak için kodların bloklar halinde üst üste ve yan yana bir araya getirilmesi gerekir. Çek-Bırak özelliği sayesinde Scratch ile programlama öğrenmek çok kolaydır.

Scracth ile resim, ses, müzik gibi çeşitli medya araçlarını bir araya getirebilir, kendi animasyonlarımızı, bilgisayar oyunlarımızı tasarlayabilir ya da interaktif hikayeler anlatabiliriz.

Scratch:

  • Alçak tabanlıdır: Başlaması kolaydır.
  • Geniş duvarlıdır: Çok çeşitli projeler yapılabilir.
  • Yüksek tavanlıdır: Basit bilgilerle karmaşık projeler yapılabilir.

Scratch’in gelişmiş ve kullanması kolay bir arayüzü vardır. Scratch arayüzü 3 ana bölmeden oluşur. 

  1. Blok Paletinde karakterleri programlamak için kullanılan bloklar vardır.
  2. Kodlama alanı bilgisayar programını yazdığımız yerdir. Buraya blokları çekip bırakarak programımızı yazarız.
  3. Proje ekranı bizim sahnemizdir. Tasarladığımız her şey Scratch’in sahnesinde hayat bulur.

Oyun Programlama Atölyesi

Oyun programlama, oyun geliştirme işleminin bir alt konusudur. Profesyonel bir oyun için birçok nitelik ve yazılım bilgisi gerekir. Bunlar Yapay Zeka, veritabanı, fizik, ses programlama, simülasyon, modelleme ve grafiktir. 

Tasarım
Bu aşamada oynanış fikirleri,senaryo fikirleri bulunur. Hangi özelliklerin olacağına karar verilinir. Yapay zeka,grafik düzeyi ve senaryoya karar verilinir. Programlama diline karar verilinir.

Üretim
Bu aşamada kaynak kodu yazılır. Yazılım ve Grafikle alakalı şeylerin %95’i bu bölümde halledilir. Artık sadece yazılımcılar değil aynı şekilde oyun grafikerleri en az yazılımcılar kadar önem kazanmıştır.

Testing
Bu aşamada oyun test edilir. Buglar ve exploitler gibi şeyler aranır. Bazı şirketler bu aşamada profesyonel testerlar çalışır bunlar genellikle bir sitede veya dergide oyun editörü olan kişilerdir.

Beta
Bazı şirketler oyun piyasaya çıkmadan önce daha çok bug raporu ve öneri almak için bedava beta(open beta) sürümü çıkartır. Günümüzde çoğu şirket bunu uygular.

Onarım
Bu aşamada rapor edilen buglar ve online bir oyunsa hileler ve açıklar düzeltilir ve onarılır. ve artık yayıncıya gönderilir.

Oyun programlamanın aşamalarıyla ilgili bilgi verdikten sonra İnokids olarak biz Oyun Programlama Atölyesi ile hangi aşamada çocuklara faydalı olacağız bunu anlatabiliriz.

Bir oyunu tasarlayabilmeniz için öncelikle 3 boyutlu tasarım dersini almış olmanız gerek.3 boyutlu düşünme becerisine sahip biri kolaylıkla oyun programlamanın tasarım aşamasını yapabilir.

Üretim yani kodlama kısmında ise algoritmik düşünme becerisine sahip olmanız gerek.Tasarım ve Kodlama kısmında sahip olmamız gereken becerileri önceki atölyelerde çocuklarımıza kazandııryoruz.Kodlama Atölyemizde çocuklarımız algoritmik düşünme becerisini kazanmış,3D Tasarım Atölyesinde ise 3 boyutlu düşünme becerisini kazanmış oluyorlar.Bu iki beceriyle birlikte artık Oyun Programlama Atölyesi’ne hazırlar.

Yapay Zeka Atölyesi

Gelecekte hastalıkları önceden teşhis edeceğimiz, ameliyatları dünyanın en iyi cerrahlarından daha iyi yapabileceğimiz,iklim değişikliklerini minimuma indirgeyeceğimiz,sanal asistanları bize yardımcı olarak tahsis edeceğimiz ve buna benzer bir çok yapay zeka uygulamaları hayatımızda olacak. Ve her biri dünyayı daha güzel bir yer yapmak için olacak.

Tam da bu noktada iyi yetişmiş insanların programlayacağı yapay zeka programlara ihtiyacımız var.

Çocuklarımızın yapay zekayı anlaması ve kullanmasından daha önemli olan onu programlaması. Bunun için erken yaşta algoritma ve programlamaları geliştirmeleri mühim. İnokids eğitim modelinde en basitten başlayarak karmaşık program yapılarını öğreniyoruz. Yapay Zeka Atölyesi’ne gelmeden öncesinde algoritma ve programlama becerimizi geliştiren atölyeler aldık. Şimdi artık bağlantılar arasında ilişkiler kurmaya ve bunu programlayarak yapay zekaya öğretmeye hazırız.

Yapay Zeka Atölyemizde klasik programlamadan farklı olarak ilişkilendirmeyi öğreneceğiz. Şimdiye kadar programlamada öğrenilen standart kod yapılarından biraz daha farklı olacak bu. İşimiz zor olacak! Ama korkmuyoruz çünkü sistematik öğrenme modelimizle daha önceki atölyelerde temelimizi oluşturduk.

Haydi şimdi geleceğin Yapay Zeka’sını geliştirmek için adım atalım.

Mobil Uygulama Atölyesi

Bilişim devrimlerine göz atacak olursak “Bilgisayar” ile başlayan serüven zamanla daha komplike hale gelmiş ve bu gelişmeler daha da katlanarak devam ediyor.Dünya bilgisayardan sonra yazılım devrimine sonrasında ise www (world wide web) devrimine şahit oldu.Bu devrimlere ve değişimlere ayak uyduran ülkeler ve şirketler hayatta kaldı.Ayak uyduramayan ülkeler ise dışa bağımlı hale geldi.Web devriminden sona ise şu anda trend Mobil.Bu devrimin etkilerini de görmekteyiz ve belki de 5-10 yıl sonra bu geçişin etkilerini çok daha rahat görebileceğiz.

Artık dünya değişiyor ve eskisinden daha hızlı değişiyor.Tüm cihazlar akıllı hale geldi ve daha da akıllı hale gelecekler.Birbirleriyle haberleşebilecekleri Endüstri 4.0 devrimi bu mantık çerçevesinde oluşmaktadır.Mobil Uygulama dünyasında geliştirdiğiniz bir uygulama ile dünyanın her yerine erişebilecek ve akıllı cihazlarınıza uzaktan komutlar verebilir hale geleceksiniz.

Çocuklarımız gelecekte bu uygulamaları geliştirecek veya uygulama geliştiren şirketlerde çalışacaklar.Daha önemlisi hangi mesleği yapıyor olursa olsunlar kesinlikle bu teknolojileri anlıyor ve geliştiriyor olmak zorundalar.

Bunun için şuandan itibaren Kodlama,Roborik,3D Tasarım ve  Mobil Uygulama alanlarıyla ilgili çalışmalar yapmalı ve teknolojileri öğrenmeliler.Gelecekte bu alanlarda üretim yapabilmeleri için şimdiden temel mantığını kavramalarını öneriyoruz.