Programlama becerisi sanılanın aksine sadece bilgisayar ya da herhangi bir taşınabilir cihazdan öğrenilmez. Kalem-kâğıt, bir eşya veya bir arkadaşınızla bile rahatlıkla programlamaya başlangıç yapabilirsiniz. Buna bilgisayarsız programlama deniliyor. Bu yazıda sizlere bilgisayarsız programlamada kullanılan kalem-kâğıt ikilisi üzerine kurulmuş bir uygulamadan bahsetmek istiyorum: CodeArt- Programming Puzzles.
Şu an için sadece iOS ortamında yer alan bu uygulama için dışarıda kalem ve kâğıtla yapılan bir etkinliğin dijital olarak hazırlanmış bir halidir diyebiliriz. Ufak, minik bir uygulama olmasına rağmen temel kavramları aktarmada güçlü bir temel atılabilir. Aktif olarak 4 seviye kullanılabilmektedir. Bunlar Basics, Functions, Turns, Mo’Functions’dur. Diğer 2 seviye (Multiple Functions, Creations) yapım aşamasında görülüyor.

Resim 1

Her seviye kendi içinde 10 ayrı bölüm bulundurmaktadır. Bu bölümler kolaydan zora doğru ilerlemektedir. Birini açmadan diğerine geçemiyorsunuz. Bölümleri en az komutla bitirirseniz 3 yıldız alıyorsunuz. Bölümlere ait başarı durumunuz ana menüde yıldız sayısı olarak gösterilmektedir (Resim 1).

Diğer tanıttığım programlama öğretimi araçlarına göre tasarımı üzerine çok çalışılmadığı görülmektedir. Seviyelerin isimleri okunamayacak kadar ufak durmaktadır. Ayrıca uygulamada herhangi bir arkaplan müziği ya da ses efektleri bulunmamaktadır. Seviyelerin girişinde bulmacaların nasıl çözüleceği ile ilgili herhangi bir yönerge de rastlanamamıştır.

Resim 2

Resim 2’de bir bulmaca görüyorsunuz. Göreviniz, bu ekranda soldaki Goal tablosundaki deseni sağdaki Current tablosunda oluşturmanız gerekiyor. Bunun için alta gördüğünüz Commands panelinde yer alan komutları Code alanına yerleştirmelisiniz. Bu işlem sürükle-bırak ya da komut üzerine tıklamayla gerçekleşiyor.

Code alanında komutları yerleştireceğiniz sınırlı sayıda boş kareler var. Bu kareler her bulmacada değişiyor. Bu da bulmacayı doğru analiz edip yeteri kadar komutla çizimi yapmanız gerektiği anlamına geliyor. Eğer fazla komut yazarsanız son kare kırmızı rengini alıyor. Bu şeklinde bir hata yaptığınız anlıyorsunuz. Code alanına yerleştirilen komutlar tutup yer değiştirilebiliyor. Bunları silmek için ilgili komutun üzerine bir kez tıklamanız yeterlidir. Yerleştirilen komut dizisi otomatik çalıştırmaktadır. Bunu Current alanında yer alan ufak dairenin komutlara göre hareket etmesiyle anlayabilirsiniz. Eğer çiziminiz başarılı ise bir uyarı ekranı karşınıza çıkıyor. Burada toplam kaç komut kullandığınız ve aldığını yıldız sayısı gösteriliyor.

Resim 3

Komut alanında ileri, geri, yukarı, aşağı ve karala komutları yer alıyor. İlerleyen seviyeler de fonksiyon kullanımı için F1 komutu da gelmektedir. Fonksiyonlar programcılıkla çok sık kullanılan bir kavramdır. Yapılmasını istediğiniz bir komut kümesini her zaman tekrar yazmak yerine bu komut kümesini önceden tanımlayıp (fonksiyon haline getirip) daha sonra yine kullanabilirsiniz. Bu sayede yazdığınız kodlar karışmamız olur. Ayrıca kodlarınız daha etkili yönetirsiniz. Resim 3’de Resim 2’deki bulmacanın fonksiyon kullanarak çözümünü görebilirsiniz. Öncekine göre daha az komut yazıldığını görüyorsunuz. Fonksiyonların işte böyle bir faydası var. Fonksiyon kullanmadaki püf noktası çizimi iyi analiz etmekten geçiyor. Eğer tekrar eden bir desen söz konusu ise rahatlıkla onu fonksiyon haline getirip kullanabilirsiniz. Fonksiyon yapımı 2 seviyede karşımıza çıkıyor. Resim 3’te görüldüğü gibi Code alanına altına ayrıca bir fonksiyon alanı geliyor. Aynı zamanda komutlar arasında da F1 görülüyor. Tekrar eden deseninize göre uygun bu fonksiyonu doldurup daha sonra uygun yerde adını (F1) çağırmalısınız. Yine fonksiyon alanı da bulmacaya göre artıp/azalmaktadır.

Resim 4

3. seviyede ileri-geri komutları gidip yerine daha mantıklı olan sağ dön-sola komutları geliyor. Böylece bir önceki seviyeye göre aynı bulmacalara daha komut yazmış oluyorsunuz.4. seviyede ise bu dönüş komutları ile fonksiyonları karışımı olan bulmacalar karşımıza çıkıyor. Resim 4’te görüldüğü gibi burada tekrar eden bir desen bulunmaktadır. Bunu farkederseniz bulmacayı çözmüşsünüz demektir. Geriye sadece programlamaya kalmıştır. Buna göre ileri-karala-ileri-karala-sağa dön deseni saat yönünde 4 defa tekrar ediyor. İşte bunun tespit etmeniz çok önemli.

CodeArt uygulamanın ilginç yanı genelde aynı gelen bulmacaların her seviyenin özelliğine göre çözülmesini beklemesidir. Bu şekilde aynı problemin farklı mekanizmalarla nasıl çözülebileceği üzerinde duruluyor. Böylece başlangıçtan ileri seviyeye yazılan komutlardaki gelişimi görmenizi sağlıyor.
Sonuç olarak tasarım olarak oldukça zayıf olan CodeArt uygulaması problem analizi, benzerlikleri/farklılıkları ayırt etme, strateji geliştirme ve algoritma kurma gibi programlama becerilerine hitap ediyor diyebiliriz.

Teknik Özellikler *
Uygulamanın AdıCodeArt – Programming Puzzles
Arayüz diliİngilizce
GeliştiriciPentaquistic Solutions
Web sitehttp://pentaquistic.com/codeart
PlatformiOS
Versiyon1.4
Boyut11.7 Mb
UyumlulukiOS 8.0+
Uygulama içi ücretÜcretsiz

* Verilen özellikler zamanla değişebilir.