Görsel programlama dilleri Scratch ve kitaplar

Genel Bakış

Son dönemin popüler konularında biri olan maker eğitim araçlarından bazılarını tanıtacağım bu yazının ana hedefi üretime geçmek için kodlamanın kolaylaştırıcılığını göstermeye çalışmak. Aynı zamanda kodlama öğretilirken olası programlama dillerinin en önemlilerdin biri olan görsel programlama dilleri üzerinde bir yol haritası çıkartmak. Umarım faydalı bir yazı olur. Bu yazı ilginizi çekiyorsa görsel programla dilleri hakkında yazdığım Scratch ile açılan kapılar yazısına bakmak isteyebilirsiniz.

Neden?

  • Çocuğunuz maker olmak zorunda, çünkü üretme becerisi olmayanların, oradan oraya savrulacağı bir yüzyıla giriyoruz.
  • Çocuğunuz coder olmak zorunda, ama bunu programcı olmak için değil, sistemleri anlayabilmek için yapmak zorunda.
  • Çocuğunuz hacker olmak zorunda, her zaman hack etmek için değil ama gerektiğinde ona sunulanla yetinmek zorunda kalmamak için.

Zorunda” derken, zorla yaptırın anlamında değil, onlar zaten oldukça meraklılar bunları öğrenmeye, sizin ikna olmanız gerekiyor.

Görsel Programlama Dillerinden Scratch

Neden Scratch ile Programlama?

Kolaydır

Görsel programlama dilleri , programlama geçmişi olmayan kişilerin bile sezgisel olarak programlama yapabilecekleri bir alt yapıya sahiptir. Scratch ile ilk animasyonunuzu ya da interaktif uygulamanızı kolayca yapabilirsiniz. Scratch’in uygulamadan ziyade bir programlama dili olması, çok daha ileri seviye işler de yapabilmenizi sağlar. Scratch ücretsiz olarak indirilebilir ve çok az gereksinimle birçok bilgisayara kurulabilir.

Genel olarak görsel programlama dilleri, çeşitli işlevler atanabilen karakterler üzerine kurulmuştur. Kod blokları işlevlerine göre çeşitli renklere ayrılmıştır. Bu renk sekmeleri hareket, görünüm, ses, kalem, kontrol, algılama, işlemler, olaylar, veri ve özel taşlar olmak üzere 10 ana sekmeden oluşmaktadır. Scratch’te bir yazılım oluşturmak için; bu sekmelerin altındaki kod blokları, her karakter için ayrı kodlama alanlarına sürüklenir. Scratch’in bu özelliği de yazım (syntax) hataları yapılmasına engel olur. Bu sayede Scratch; yazım hatalarını düşünmeden, sadece mantığa ve problem çözümüne vakit ayırmanızı sağlar. Scratch ve scratch ile açılan kapıdan geçen diğer programlama dillerinden bazılarını merak ediyorsanız “Scratch ile açılan kapılar” adlı yazımı okumanızda fayda var.


Yaratıcılığı teşvik eder


Scratch üzerinde resim ve ses işlemek oldukça kolaydır. Bu özellikleriyle bir projenin sadece programlama yönünden değil işitsel ve görsel medya ögeleriyle zenginleştirilmesi oldukça kolaydır. Bu özellikler, Scratch ile programlama yapan öğrencileri daha özgür bırakmakta ve öğrencilerin yaratıcılıklarını teşvik etmektedir.


Paylaşmayı teşvik eder

Bilgisayarınızda yaptığınız bir projeyi Scratch’in web sitesine kolayca gönderebilir, paylaşılan bir projeyi inceleyebilir, kodlarını görebilir ve hatta karakterlerini alabilirsiniz. Ayrıca bir projeyi remikslemek, tüm kopyasını kendi hesabınıza aktarabilmek ve proje üzerinde değişiklikler yapmak da mümkün. Scratch üzerinde şu an 14 milyondan fazla proje ve 8 milyondan fazla kayıtlı kullanıcı mevcut. scratch.mit.edu adresindeki formlar sayesinde takıldığınız herhangi bir yeri sormak ya da sizinle aynı problemlere sahip birilerini bulmak da zor değil.

 

Bu amaçla sizler için 3 adet kitap yazdık. Aşağıda bu kitapları ve bu kitabı kimler için tavsiye ettiğimizi bulabilirsiniz;

SCRATCH 6+

Bu kitap, 6 yaş ve üstü çocukların programlamaya yönelik ilgisini artırmak için çalışma kartları şeklinde hazırlandı. Her kart, arkalı önlü olarak ayrı bir uygulama içeriyor. Çalışma kartlarının içinde, kurulumdan uygulamaya kadar tüm detaylar en ince ayrıntısına kadar anlatılıyor.

2 ve 3.sınıfta rehber eşliğinde yapılabilecek kitap 4.sınıf ve üstünde programlamaya başlayabileceğiniz bir kitaptır.

SCRATCH 9+

9 yaş ve üstü öğrencileri hedef alan kitabımız 4.sınıf ve üzeri öğrencilere ek kaynak olarak önerilebilir. Programlamaya yeni başlayan öğrencilerden daha kısa bir süre giriş yapmış öğrenciler için uygun bir kitaptır. Kitabı tüm seneye yayarak kullanmak isteyen öğretmenlerimiz için diğer ek programlarla birlikte bir müfredat örneği http://abakuskitap.com/UserFiles/Image/files/scratch9yas_mufredat.pdf adresinden indirilebilir.

 

Kitap 12 bölümden oluşmakta ve bir dönen içerisinde bitirilebilmektedir. Bölüm sonlarında bulunan çalışma kağıtları ile öğrencilerin kodlama ve matematik arasındaki ilişkiyi daha rahat kurmaları amaçlanmıştır.

Arduino

Programlama konusunda biraz ilerledikten sonra artık fiziksel dünya ile etkileşime geçmenin tam zamanı Scratch ile Arduino kitabında keyes seti ya da standart temel arduino setleri ile yapabileceğiniz birçok proje mevcut. Sıralı led yaktığımız karaşimşek projesinden kamera kontrolü ile led yakıp söndürmeye ya da potansiyometre ile karakteri hareket ettirmekten motor kontrolüne kadar birçok projeyi hızlı bir şekilde yapabilirsiniz. Üstelik sürükle bırak kodlarınızın processing dilinde karşılıklarını canlı olarak görebilir ve isterseniz değişiklik yapabilirsiniz.

Raspberry Pi dünyasına giriş

Maker topluluğun hızla gelişmesine katkıda bulunan en önemli şeylerden biri kuşkusuz ucuz elektronik ürünlerdir. 35$’a bir bilgisayar kasanızın olması ilk duyduğunuzda çok uçuk gelebilir. Ama tüm dünyada 10 milyondan fazla satmış olan Raspberry Pi ile bu mümkün. Bir raspberry Pi alın eski ekranınıza ya da evdeki televizyonunuza bağlayarak ikinci bilgisayarınızı edinin. Mesele eğitim olunca en önemli şey araçlar değil araçlara ait içeriklerdr. Türkçe kaynak eksiğini görerek öğrenciler ve yeni başlayan yetişkinlerin kullanabileceği bir kitap yazma ihtiyacı duyduk. Kitabın yarıya yakınını Raspberry Pi üzerinde otomatik olarak gelen ve son dönemde hızla gelişen Python programlama diline ayırdık kitap hakkında daha detaylı bilgiye http://www.samm.com/product/1505/cocuklar-icin-raspberry-pi-ve-python-ile-programlama-kitabi.html adresinden ulaşabilisiniz.

 

Scratch ile açılan kapılar

SCRATCH İLE AÇILAN KAPILAR*

 

Bu yazımızda M.I.T. Media laboratuvarları tarafından geliştirilmiş olan Scratch programlama diline yakından bakmaya çalışacağız. Scratch programlama dilinin açık kaynak olması ile Scratch üzerinden açılan dünyadaki çeşitlik ve ilerleme hızı umarız beni olduğu kadar sizleri de heyecanlandıracaktır.

Öncelikle şunu belirtmekte fayda var. Aşağıda anlatacağım tüm programlama dilleri açık kaynak olarak devam etmekte olan projeler olup bir uygulama değil programlama dilidir.

SCRATCH

Scratch programlama dilinin ilk resmi ortaya çıkış yılı 2005. Scratch 2 versiyonu ise 2013 yılında ise çevrimiçi olarak yayınlandı. Windows, OSX ve Linux üzerinde çalışabilir. Scratch üzerinde şu anda 16 milyondan fazla proje var ve scratch.mit.edu aylık 90 milyona yakın ziyaretçi topluyor.

Scratch programa dilinin özelleşmiş bir versiyonu Raspberry Pi üzerinde de çalışmakta. Raspberry Pi üzerindeki GPIO pin’lerini Scratch ile yönetebilirsiniz.

Scratch üzerinde programınızı yapmaya başlamak için tek yapmanız gereken scratch.mit.edu adresini ziyaret etmek. Yapılmış olan projeleri inceleyebilir, yazılan  kodları görebilirsiniz. Kendi yazılımınızı baştan yazabileceğiniz gibi toplulukta paylaşılan projelerden birisine katkıda bulunarak varolan prijeler, geliştirebilirsiniz.

Scratch’in bir sonraki versiyonu açıklandığı kadarıyla, Google işbirliği ile hazırlanacak ve adı da “Scratch Blocks” olacak. Halihazırda Scratch üzerinde dikey olarak programlama, ek olarak Scratch Junior’da olduğu gibi yatay programlamaya izin verecek şekilde tasarlanıyormuş. Biz de Scratch Blok’ların çıkışını heyecanla bekliyoruz!

SCRATCHX

ScratchX, Scratch’ten ayrı deneysel bir platform. Scratch programlama diline ait deneysel uzantıları denemek amacıyla geliştirildi. ScratchX ile yaptığınız projeler sadece ScratchX ile çalışabilir.

ScratchX uzantıları: https://goo.gl/VuXK3g

ScracthX uzantıları için ekletiler: https://goo.gl/LSp5cA

SNAP!

Snap! (öncesinde BYOB) görsel bir programlama dili. Scratch programlama dilinin genişletilmiş bir versiyonu. Kendi bloklarınızı oluşturma işini Scratch’ten daha ileri seviyede yapar. Eklenen diğer birçok özellik ile lise ve üniversite seviyesinde bilgisayar bilimine giriş için kullanılabilecek oldukça etkili bir programlama dili. 2015-2016 yılında 4 ders olarak BJC(beauty and joy of computing) dersi www.edx.org adresinde yayınlandı. Bir sonraki dönem için 2016 Eylül ayında tekrar 4 ders olarak yayınlanacak. Bilgisayar bilimine ait temel algoritmalardan başlayıp veri yapıları gibi daha üst seviyelere kadar geniş bir yelpazenin işlendiği bu dersi tüm meraklılara tavsiye ederiz.

NXT, Sphero, Leap motion ve Wiimote gibi birçok araç için olan eklentileri indirin: snap.berkeley.edu

Snap! Arayüzü: https://goo.gl/HQQiz

 

Snap! üzerinde varolan bir projeyi bağımsız bir uygulama dönüştürmek için: https://goo.gl/VLPbqa

 

Scratch 2 ile yaptığınız bir projeyi Snap! Projesi haline getirmek için: https://goo.gl/b3RMlh

EDGY

Matematikteki graph kavramını duymuşsunuzdur ya da şimdiye kadar duymadıysanız bu yazı ile birlikte araştırmaya başladığınızı umuyoruz. Graph teori için geliştirilmiş pek çok araç mevcut. Bunlardan anlaşılması en kolay ve kullanıcı dostu araçlardan biri yine Snap! tabanlı bir yazılım olan Edgy. Web sitesinde birçok örneği ve öğrenciyi bulabilirsiniz.

Edgy’yi indirmek için: https://goo.gl/CRX76B

BEETLEBLOCKS

 

“Beetle Blocks” 3B tasarım ve üretim için tasarlanmış blok tabanlı görsel bir programlama dili. Beetleblocks projesi Eric Rosenbaum, Duks Koschitz, Bernat Romagosa ve  Jens Mönig tarafından geliştirilmeye devam ediyor.

Scratch programlama dili taban alınarak geliştirilen Beetle Blocks, Snap! ve ThreeJS ile tamamlanmıştır. Kodlamayı kullanarak bir böcek ile üç boyutlu şekiller oluşturabilir ardından üç boyutlu çıktısını alabilirsiniz!

Şu an alfa versiyonu olan “Beetle Blocks”  yazılımı sadece Google Chrome tarayıcı üzerine çalışmaktadır.

 

Beatleblocks web sitesi: http://beetleblocks.com/

 

TURTLESTICH

 

Siz de desenler oluşturup bunları dikiş makinesinden istediğiniz bir kumaşa nakşettirmek istemez miydiniz?  Andrea Mayr, Stalder ve  Michael Aschauer tarafından geliştirilen Turtlestich programı ile bunu yapmanız oldukça kolay.

 

Desen oluşturmak için: www.turtlestich.org

 

 

SNAP4ARDUINO

 

Maker’ların en sık kullandığı araçlardan biri şüphesiz Arduino’dur. Son zamanlarda tarayıcı üzerinden codebender.cc gibi web editörlerinin yanında Ağustos başında çıkan Arduino.cc üzerindeki web editörlerle artık Arduino programlama çok daha kolay. ScratchX üzerinde bulunan Arduino eklentisi güzel olsa da beraberinde hâla birçok sorunu barındırıyor. Bu noktada Snap!’in gücünü yanına alan Snap4Arduino Temmuz ayının sonu itibariyle s4a.cat sitesinden kendini ayırdı. Özellikle Arduino’ya yeni başlayan ya da geliştirdiği eğitsel araçlara kütüphaneler yazmak isteyenler için ön plana çıktı.

Snap4Arduino 2014 yılında Barselona’da bulunan Cititab içinden Edutec araştırma grubu tarafından yan bir proje olarak geliştirilmeye başlanmış, fakat kısa zamanda potansiyeli anlaşılarak tam zamanlı bir proje haline gelmiş. İlkokuldan liseye ve üniversiteye, sanat projelerinden kişisel projelere kadar birçok yerde kullanılıyor.

 

MBLOCK

mBlok programı MakeBlock firması tarafından Scratch 2 üzerine inşa edilmiş bir yazılım. Programın içerisinde Scratch’e ek olarak Makeblock robotik ürünlerinin yanısıra Arduino Uno, Arduino Mega, Arduino Nano, Arduino Mega işlemcilerini programlayabilirsiniz. Üstelik Arduino moduna geçtiğinide sürükle bırak yaparken aynı anda processing kodlarını gözlemleyebilir ardından da bu kodlar üzerinde değişiklik yapabilirsiniz.

 

Programı indirmek için: www.mblock.cc

Bu ve daha birçok programla dili arasında geçişler yapmak çok kolay görsel programlama dilleri bize neler vadediyor ? neden çocuklar için onları seçmeliyiz? konularını bir başka yazıda ele almaya çalışacağım.

Umarım faydalı bir yazı olmuştur.

 

*Bu yazı aynı zamanda Make dergisinde yayınlanmıştır.