Robotik Programlama

Robotik kodlama robotomuzun istenilen amaca yönelik işlemleri yapma sürecidir diyebiliriz kısaca. Bu aşamada robot somut bir nesne olmak zorunda değildir. Bir yazılım ve görsel veya sanal bir yapıda da olabilir. Bu tasarım ve programlama süreci bittiğinde elektronik devreleri olan robotumuza yazılım yüklemesi yapıp onun somut şekilde istenilen biçimde hareket etmesini veya istediğimiz işleri yapmasını sağlayabiliriz.

Bu süreçte planlama, tasarım, deneme yanılma gibi bir çok yöntem kullanılır. Ve amaca yönelik düşünsel, zihinsel algoritma süreçleri yapılır. Arkasından sanal ortamda denemeler süreci başlar, daha sonra da robotumuzun yazılım bölümüne yüklenir ve işlemcisinin bu veriyi işlemesi sağlanır. Algılayıcılar, hareketler ve işlemler bu süreçte biraz deneme yanılma yöntemleri ile biraz da test aşamalarına göre aslında oldukça eğlenceli ve öğrenmeyi pekiştirici bir gelişim zamanıdır.

Çocuklar robotik kodlamaya nasıl başlamalılar?

Öncelikle kendi hayatlarından küçük örnekleri düşünerek başlamaları önemlidir. Programlama ve algoritma mantığı aslında hayatımızın her noktasında vardır. Yemek yapmaktan tutun da dolabımızı yerleştirmek, dişlerimizi fırçalamak gibi küçük detaylarda bile algoritma ve programlama mantığı yatmaktadır. Bunlara dikkat vermek bile güzel bir başlangıç olacaktır.

Sonrasında Çocuklarımızın özellikle küçük yaşlarda programlama ve soyut düşünce kavramları henüz gelişmediği için görsel programlama ile başlamaları onlar için çok daha iyi olacaktır. Görsel programlama araçları ve uygulamaları Code.org, Eba Blocky ve Scratch başta olmak üzere görsel programlamayı oldukça olumlu etkileyen ve geliştiren yapılara sahiptir. Burada öğrenci yaptığı algoritma ve kodlamanın görsel sonuçlarını aldığı için çok daha somut bir hale gelmiş olur. Bu somut görünüm dene yap öğrenme biçimi açısından da oldukça önemlidir.

Dikkat edilmesi gereken konu görsel programlamaya tamamen alışıp gerçek program satırları yazma konusunda zorluk çekmektir. Her ne kadar düşünme ve algoritma kurma becerisini geliştirse de normal programlamaya geçildiğinde zorluk çekmemek için görsel programlama ile birlikte kod satırlarını da anlamaya çalışması gerekmektedir.

Ayrıca bu konuda bir çok yarışma düzenlenmektedir. Bu yarışmalara seyirci olarak da olsa katılıp oradaki ortamı ve insanların birbirine desteğini görme çok olumlu sonuçlar olarak geri dönmektedir. Öğrencilerimizin en çok çekindiği nokta yalnız kalma, destek görememe gibi korkulardır. Ama bu tür yarışmalarda herkes birbirini rakip olarak değil aynı konularda ilgilenen bireyler olarak gördükleri için yardım ve desteği esirgememektedir.

Çocuklar robotik kodlama öğrenmesi neden önemli?

Artık çağımız gereği her şey elektronik ve dijitalleşme yönünde ilerliyor. Geleceğin mesleklerinin bir çoğu yazılım ve uygulamaları üzerine olacaktır. Bugün robotlar sadece hayatımızı kolaylaştıran birer araç olarak görünse de arabalardan evlere bir çok alanda her şey robotlaşmaya başlamıştır. Ve bunların yazılımını yapacak kişiler bugünün çocukları olacaktır.

Robotlar hayatımızın vazgeçilmez birer parçası olmaya günden güne yaklaşıyor. Belki yakın bir zamanda şoförsüz araçlar, ameliyat yapan robotlar gibi bir sürü yeni teknoloji gelişecektir. Bu yüzden şimdiden bu geniş meslek alanına adım atmaları ve meraklı olmaları onları akranlarına nazaran epey önde başlatacaktır bir çok yarışta.

Ayrıca sadece robotik değil yazılım alanı her konuda kendini önemli derecede hissettirecektir. Yaşamımızı daha kaliteli hale getirmek, daha sağlıklı ve kişisel gelişimimize önem göstermeye zaman bırakacak bu kolaylıklar robotlar sayesinde olacaktır.

Dünyada robotik kodlama ne durumda?

Şu an günümüzde çocukların en çok ilgisini çeken bir alandan bahsediyoruz. Zaten z kuşağı olarak bahsettiğimiz bu nesil yarı robotikleşme sürecinde doğmuştur ve çok küçük yaşlarda akıllı telefonlar, bilgisayarlar ve hayatımızın her alanına giren robotlarla erken yaşlarda tanışma fırsatı bulmuş durumda. Bu açıdan dünyada oldukça yaygın ve gün geçtikçe de popülerliğini daha arttırarak giden bir ivme içinde. Özellikle elektronik alanlarda gelişmiş ülkelerde bu konuya önem veriliyor. Japonya, Kore, Çin, Almanya, Amerika gibi gelişmiş ülkeler bu konuda oldukça iyi durumda. Biraz kültürleri incelediğimizde dizilerinde, filmlerinde bile bu konulara çok yer verdiklerini görürüz. Bu hem özendirici hem de gelecek nesiller için inovaktif gelişim açısından yeni fikirler uyandırıcı şekilde tasarlanıyor.

Elbette bunların sonuçlarını alıyor meyvelerini de topluyorlar. Zaten yirmibirinci yüzyılda teknoloji içinde doğmuş çocukların ilgisini daha da çekip daha güzel işler çıkarmasına yardımcı oluyor. Türkiye de bu aşamada çağın gereklerini yakalama konusunda çalışmalarına devam ediyor. Daha çok imkan ve özendirme ile zekasına oldukça güvendiğim toplumumuz da çeşitli başarılara imza atıyor ve atmaya da devam edecektir.

Bu konuyu kavramakta zorlanan ama istekli olan öğrenciler için öneriler

Eğer kişi gerçekten içsel olarak istekli ve zevk alarak yapıyorsa ilerlemesi oldukça kolaydır. Ama zorlama ve dışsal motivasyon yüzünden yapmak zorunda hissediyorsa zorlanabilir. Genel olarak bu konuda zorlanan öğrenciler için önerilerim matematik ve mantık alanlarında da ilgili olmaları. Yine felsefe ile ilgilenmeleri de onların düşünme kapılarını zorlayacak ve algılarını geliştirecektir.

Programlamanın temeli mantık örgüsünü iyi kurmaktır. Bu da sadece yazılım konusunda değil hayatında bir çok alanda uygulamalı olarak karşımıza çıkar. En basidinden yağmur yağıyorsa şemsiye alırız. Bu bir mantık örgüsüdür. Veya yemek yaparken bile farkında olmadan bir işlemler sıralaması yani algoritma oluştururuz. İşte en ufak detaylarda bile yazılımın ve robotik kodlamanın ipuçları saklıdır. Önemli olan bunların farkına varıp günlük hayatını bile kodlamaya dönüştürebileceğini farketmesi yeterli.

Görsel kodlama ile başlaması ve bunu ilerletirken mantık yapısını da anlaması zorlanan öğrenciler açısından aslında çok da zor olmadığını farketmelerini sağlar. Zaten o korku ve kaygıyı aştıktan sonra zevkle yapmaya başladıkları an arkası çorap söküğü gibi gelecektir.

Python Programlama

Bu bölümde python programlama ile ilgili dersler ve ipuçları olacaktır. Aşama aşama konular ve açıklamları ayrıca önemli ipuçlarının bulunacağı bu bölümle ilgili sorularınızı yorum bölümünden sorabilirsiniz.

Öncelikle python hakkında genel bilgilendirme yapalım.

Python Nedir?

Tahmin edebileceğiniz gibi Python (C, C++, Perl, Ruby ve benzerleri gibi) bir programlama dilidir ve tıpkı öteki programlama dilleri gibi, önünüzde duran kara kutuya, yani bilgisayara hükmetmenizi sağlar.

Bu programlama dili Guido Van Rossum adlı Hollandalı bir programcı tarafından 90’lı yılların başında geliştirilmeye başlanmıştır. Çoğu insan, isminin Python olmasına aldanarak, bu programlama dilinin, adını piton yılanından aldığını düşünür. Ancak zannedildiğinin aksine bu programlama dilinin adı piton yılanından gelmez. Guido Van Rossum bu programlama dilini, The Monty Python adlı bir İngiliz komedi grubunun, Monty Python’s Flying Circus adlı gösterisinden esinlenerek adlandırmıştır. Ancak her ne kadar gerçek böyle olsa da, Python programlama dilinin pek çok yerde bir yılan figürü ile temsil edilmesi neredeyse bir gelenek halini almıştır.

Dediğimiz gibi, Python bir programlama dilidir. Üstelik pek çok dile kıyasla öğrenmesi kolay bir programlama dilidir. Bu yüzden, eğer daha önce hiç programlama deneyiminiz olmamışsa, programlama maceranıza Python’la başlamayı tercih edebilirsiniz.

Neden Python?

Python programlarının en büyük özelliklerinden birisi, C ve C++ gibi dillerin aksine, derlenmeye gerek olmadan çalıştırılabilmeleridir. Python’da derleme işlemi ortadan kaldırıldığı için, bu dille oldukça hızlı bir şekilde program geliştirilebilir.

Ayrıca Python programlama dilinin basit ve temiz söz dizimi, onu pek çok programcı tarafından tercih edilen bir dil haline getirmiştir. Python’ın söz diziminin temiz ve basit olması sayesinde hem program yazmak, hem de başkası tarafından yazılmış bir programı okumak, başka dillere kıyasla çok kolaydır.

Python’ın yukarıda sayılan özellikleri sayesinde dünya çapında ün sahibi büyük kuruluşlar (Google, YouTube ve Yahoo! gibi) bünyelerinde her zaman Python programcılarına ihtiyaç duyuyor. Mesela pek çok büyük şirketin Python bilen programcılara iş imkanı sağladığını, Python’ın baş geliştiricisi Guido Van Rossum’un 2005 ile 2012 yılları arasında Google’da çalıştığını, 2012 yılının sonlarına doğru ise Dropbox şirketine geçtiğini söylersek, bu programlama dilinin önemi ve geçerliliği herhalde daha belirgin bir şekilde ortaya çıkacaktır.

Python programlama dili ve bu dili hakkıyla bilenler sadece uluslararası şirketlerin ilgisini çekmekle kalmıyor. Python son zamanlarda Türkiye’deki kurum ve kuruluşların da dikkatini çekmeye başladı. Bu dil artık yavaş yavaş Türkiye’deki üniversitelerin müfredatında da kendine yer buluyor.

Sözün özü, pek çok farklı sebepten, başka bir programlama dilini değil de, Python programlama dilini öğrenmek istiyor olabilirsiniz.

print() fonksiyonu için tıklayınız.

input() fonksiyonu için tıklayınız.

Örnek Python soruları ve cevapları

Bu bölüm Algoritma sayfasındaki soruların çözümlerini içermektedir.

Dolap düdük ve kapaklar sorusu için python kodu aşağıdadır.

Devamı...

Bash Programlama

Kabuk Programlamaya Giriş

Her kabuğun kendine özgü programlama dili yapısı vardır. Bash kabuğu ise güçlü programlama özellikleriyle karmaşık programların rahatça yazılmasına izin verir. Mantıksal operatörler, döngüler , değişkenler ve modern programlama dillerinde bulunan pek çok özellik bash kabuğunda da vardır ve işleyiş tarzları da hemen hemen aynıdır.

Genellikle, bir programı oluşturacak olan komutlar bir dosyaya yazılırlar ve ardından bu dosya çalıştırılır. Herhangi bir editör yardımıyla yazılan program, daha sonra kabuk altında çalıştırılır. Bir kabuk programı diğerlerini çalıştırabilir. Bu düzende kabuk programlarını daha karmaşık komutların biraraya gelmiş ve yapısallaşmış haline benzetebiliriz.

Bash’in en büyük dezavantajı, derlenerek çalıştırılan dillere göre (C, C++ gibi) daha yavaş olması, sistem kaynaklarını biraz daha fazla tüketmesidir.

Devamı...

C/C++ Programlama

C Programlama oldukça eski fakat hala güncelliğini ve gücünü koruyan bir programlama dilidir. Bilgisayarın donanımını kontrol edebildiği için işletim sistemleri dahil bir çok uygulama ve oyun bu programlama dili ile geliştirilir. C programlama derken elbette C++ programlamıyı da içine almaktadır. En azından bu sayfada.

Her programlama dilinde olduğu gibi ekrana bir merhaba yazdırarak başlayalım.

Devamı...

Algoritma

Bir işin veya programın yapılması için adımlara bölünmüş halidir. Aslında hayatımızın her noktasında algoritmaları kullanırız farkında olmadan. Yemek yapmaktan araba kullanmaya kadar hepsi birer algoritma içerir. Bu başlığımızda algoritma kurma yöntemlerini inceleyeceğiz. Takıldığınız konuları discussions bölümünde sorabilirsiniz.

Programlama soruları

Bu bölümde programlama ile ilgili sorular sorulacaktır. Çözümlerine ilgili programlama sayfalarından ulaşabilirsiniz.

Kullanıcıya hikayesindeki karakterlerin isimleri sorulur ve o isimlerle hikaye yazdırılır.

Kullanıcıya yaşı sorulur ve doğum tarihi hesaplanır.

Kullanıcıya iki tam sayı sorulur ve arasında dört işlem yaptırılıp ekrana yazdırılır.

Kullanıcıya havanın sıcaklığı santigrat cinsinden sorulur ve fahrenayta çevrilir.

Kullanıcıya çap sorulur ve dairenin çevresi ve alanı hesaplanır.

Kullanıcıya eşkenar üçgenin bir kenarı sorulur gelen yanıta göre eşkenar üçgenin alanı hesaplanır.

Kullanıcıya elindeki türk parası miktarı sorulur, gelen yanıta göre ne kadar dolar ve euro alacağı söylenir.

Kullanıcıdan üç sayı istenir ve büyükten küçüğe yazdırılır.

Kullanıcıdan tek harflik cinsiyet bilgisi istenir buna göre bir cümle kurulur.

Kullanıcıdan elindeki Türk Lirası miktarı sorulur. Gelen yanıta göre ne kadar japon yeni alabileceği söylenir.

Kullanıcıya kürenin çapı sorulur, gelen yanıta göre hacmi hesaplanır.

Kullanıcıya notu sorulur. 50 den büyükse geçtin, 50 den küçükse kaldın yazdırılır.

Suyun sıcaklığı sorulur, 0 dan küçükse katı, 0-100 arasında sıvı, 100 den büyükse gaz yazdırılır.

Devamı...