KONULAR:
1.1. BLOK TABANLI PROGRAMLAMA ORTAMI
1.2. TEMEL ALGORİTMALAR
1.3. HATA AYIKLAMA
1.4. PROGRAMI GELİŞTİRME
1.5. KARAR YAPILARI
1.6. PROJE OLUŞTURMA
NELER ÖĞRENECEKSİNİZ?
- Blok tabanlı programın kurulumu
- Blok tabanlı programlama yazılımı araçlarını kullanma
- Verilen problemin çözümü için algoritma geliştirme
- Algoritma hatalarını tespit edip düzeltme
- Blok tabanlı programlama aracında sunulan bir programı verilen ölçütlere göre geliştirip düzenleme
- Bir algoritmayı uyarlamak için en uygun karar yapılarını seçme
- Blok tabanlı programlama yazılımını kullanarak özgün projeler hazırlama
TEMEL KAVRAMLAR
problem, kodlama, blok tabanlı programlama, algoritma, hata ayıklama, oyun, dekor, kukla, kostüm, animasyon.
HAZIRLIK ÇALIŞMALARI
- Günümüzde kodlama öğrenmek neden önemlidir?
- Günümüzde yaygın olarak kullanılan blok tabanlı yazılım araçları nelerdir?
1.1. BLOK TABANLI PROGRAMLAMA ORTAMI
Programlama, herhangi bir problemin çözümü için gerekli olan işlemleri komutlar kullanarak bilgisayarın anlayacağı şekilde adım adım ve mantıklı bir sırada bilgisayara aktarma işlemidir. Kod yazarak programlama yapılabileceği gibi herhangi bir soyut kod veya komut yazmayı gerektirmeden “sürükle / bırak” yöntemi kullanılarak da programlama yapılır. Bunun için blok tabanlı programlama yazılımları kullanılır. Blok tabanlı programlama yazılımının sunduğu hazır bloklar sürükle / bırak yöntemi ile bir araya getirilerek kodlama gerçekleşir.
Programı yüklemek için buraya tıklayınız. “mBlock PC version”u indirerek bilgisayarınıza kurunuz.
Programı bilgisayara yüklemeden online olarak kullanmak için buraya tıklayınız.
Programı telefon veya tablete kurmak için yandaki linke tıklayınız: Android IOS
1.1.3. Blok Tabanlı Programlama Yazılımı Arayüzü

- Bloklar: Program içinde yer alan ve kodlama alanına sürüklenebilen blokların yer aldığı bölümdür.
- Kodlama Alanı: Seçilen karaktere kod yazılan ve kodlama için kullanılacak olan blokların bulunduğu bölümdür.
- Sahne: Hazırlanan projenin önizlemesinin yapıldığı bölümdür.
- Aygıtlar: Onlarca devre kartından bir tanesinin seçilip programlanabildiği bölümdür.
- Dekorlar: Sahnenin arka planının ayarlandığı bölümdür.
- Arka Plan: Sahnenin arka planının ayarlandığı bölümdür.
- Sekmeler: Bloklar ve Python sekmelerinin yer aldığı bölümdür. Bloklar sekmesi altında kodlamada
kullanılacak olan bloklar, Python sekmesinde ise programlama dili kodları görülür. - Kısayollar: Sahnenin ekrandaki pozisyonunun ayarlanmasını sağlayan araçlardan oluşan bölümdür.
- Git (yeşil)-Dur (kırmızı) Nesneleri: Sahnede yer alan projenin başlatılıp durdurulması için kullanılan bölümdür.
- Menü Çubuğu: “Dünya sembolü”, “Dosya”, “Proje Adı”, “Kaydet”, “Yayınla”, “Kullanım Kılavuzu”
ve “Örnek Programlar” nesnelerinin yer aldığı bölümdür. - Dünya sembolü: Blok tabanlı programlama yazılımının dil seçiminin yapılmasını sağlar.
Dosya menüsünde yer alan;
- Yeni Proje: Yeni bir proje oluşturmak için kullanılır.
- Aç: Kayıtlı projeyi yüklemek için kullanılır.
- Farklı Kaydet: Hazırlanan çalışmayı çevrimiçi ortama kaydetmek için kullanılır.
- Bilgisayarınızdan açın: Bilgisayar ortamında kayıtlı olan dosyayı çevrimiçi ortama aktarır.
- Bilgisayarınıza kaydedin: Çevrimiçi ortamda hazırlanan çalışmayı bilgisayara kaydeder.
- Paylaş: Hazırlanan çalışmayı ağ ortamında dağıtmayı sağlar.


1.2. TEMEL ALGORITMALAR
İnsanoğlu yaşamı boyunca “problem” olarak tanımlanan çeşitli sorunlar ve çözülmesi gereken durumlarla karşılaşmış ve problemlere çözüm bulmak için çeşitli yollar aramıştır. Bir problemi çözmek için kullanılabilecek alternatif yollar arasından en doğru olanı seçmeye problem çözme denir.
Bir problemi çözmek için izlenecek adımlar aşağıdaki gibidir.
- Problemi Tanımlama: Problemin ne olduğunun net bir şekilde tespit edildiği aşamadır.
- Problemi Anlama: Çözümün daha kolay olması için problemin doğru anlaşılıp en iyi şekilde analiz edildiği aşamadır.
- Alternatif Çözüm Yolları Belirleme: Bir problemin çözümü için birden fazla yol vardır. Bunların neler olabileceğinin tespit edildiği aşamadır.
- En Uygun Çözümü Seçme: Belirlenen alternatif yollardan en uygun çözüm yolunun seçildiği aşamadır.
- Çözümü Uygulama: Seçilen çözüm yönteminin değerlendirilip uygulamaya konulduğu aşamadır.
- Çözümü Test Etme: Uygulanan çözümün değerlendirildiği aşamadır. Seçilen çözüm yolunun beklentileri yerine getirip getirmediği test edilir. Herhangi bir hata ile karşılaşılması durumunda bu hataları gidermek amacıyla işlem adımları yeniden gözden geçirilir
Problem çözmek için kullanılabilecek iki farklı yöntem vardır.
- Deneme yanılma ya da tahminde bulunma yoluyla çözme
- Algoritma geliştirme yoluyla çözme
Günlük hayatta çok çeşitli problemlerle karşılaşılır. Örneğin “Hangi mesleği seçmeliyim?”, “Okula
hangi yoldan gitmeliyim?”, “Yemeği ne kadar sürede pişirmeliyim?” vb. sorunlar günlük hayatta karşılaşılabilecek problemlerdir. Bu problemler öngörülebilir olmadığı gibi problemlerin tek bir çözümleri de bulunmaz. Bu tür problemleri belli adımları takip ederek çözmek mümkün değildir. Kişiler ve problemler için çözüm önerileri değişebileceğinden deneme yanılma ya da tahminde bulunarak problemi
çözmek gerekir.
Bilgisayarlar aracılığıyla çözülmesi istenen problemlerde ise çözüm adımlarının belirgin bir şekilde ortaya konulması gerekir. Bunun için algoritmalardan yararlanılır.
Algoritmaların aşağıdaki özelliklere sahip olması gerekir:
Uygulanabilir olmalıdır.
Her algoritmanın bir başlangıcı ve sonu olmalıdır.
Girdi ve çıktıları açık ve anlaşılır olmalıdır.
Kullanılan ifadeler açık ve net olmalıdır.
Gereksiz tekrarlardan kaçınılmalı ve hızlı olmalıdır.
Örnek 1: 2 kişilik sade Türk kahvesi hazırlama algoritması aşağıdaki gibi olacaktır:
Adım 1- Başla
Adım 2- Cezveye iki fincanlık su koy
Adım 3- Cezveye 2 tatlı kaşığı kahve koy
Adım 4- Ocağı yak
Adım 5- Cezveyi ocağa koy
Adım 6- Kahveyi karıştır
Adım 7- Bir süre kahvenin olmasını bekle
Adım 8- Kahve köpürmeye başladı mı? Hayır ise 6. Adıma git
Adım 9- Kahveyi fincanlara doldur
Adım 10- Bitir
Örnek 2: Girilen sayının karesini bulan algoritmayı yazınız.
Adım 1- Başla
Adım 2- Sayıyı oku
Adım 3- Sayının karesini hesapla
Adım 4- Sonucu ekrana yaz
Adım 5- Bitir
Örnek 3: İki sayıyı çarpıp sonucu ekrana yazdıran algoritmayı yazınız.
Adım 1- Başla
Adım 2- Birinci sayıyı oku
Adım 3- İkinci sayıyı oku
Adım 4- İki sayıyı çarp
Adım 5- Çarpımı ekrana yaz
Adım 6- Bitir
Örnek 4: Bir öğrencinin matematik dersinden aldığı iki notun ortalamasını hesaplayan algoritmayı yazınız.
Adım 1- Başla
Adım 2- Birinci notu oku
Adım 3- İkinci notu oku
Adım 4- Ortalamayı hesapla
Adım 5- Ortalamayı ekrana yaz
Adım 6- Bitir
Örnek 5: Klavyeden girilen iki sayının büyük olanından küçük olanını çıkaran algoritmayı yazınız.
Adım 1- Başla
Adım 2- Oku sayi1
Adım 3- Oku sayi2
Adım 4- Eğer sayi1>sayi2 ise sonuc=sayi1-sayi2
Adım 5- Değilse sonuc=sayi2-sayi1
Adım 6- Yaz sonuc
Adım 7- Bitir
Örnek 6: Sabah kalkınca ve gece yatmadan önce günde iki kez mutlaka dişler fırçalanmalıdır. Dişler fırçalanırken izlenmesi gereken adımlar aşağıdaki algoritmalarda verilmiştir. Bir işi veya problemi çözmenin birçok yolu vardır ve problem çözerken farklı algoritmalar ile karşılaşılabilir. Önemli olan en doğru algoritmayı seçmektir.

Uygulama:


Uygulama:


Uygulamanın daha kısa adımlarla aynı sonucu verdiğini gözlemlemek için aşağıdaki kodları yazıp çalıştırınız.

Uygulama: Yeşil bayrağa tıklandığında klavyeden girilmesi istenen iki sayıyı toplayan programı blok tabanlı programlama yazılımını kullanarak hazırlayınız.

1.3. HATA AYIKLAMA
Hata ayıklama, problem çözme sürecinin bir parçası olan değerlendirme aşamasının en temel işlevidir. Süreçte yer alan veya olabilecek hataların analizi yapılır. Rastlanan hataları ortadan kaldırmak için düzeltmeler yapılarak hatalar ayıklanır.
Programcılar, programlama sırasında birtakım hatalar (bug) yapabilirler. Programlardaki hataların
bulunup düzeltilmesi işlemine hata ayıklama (debugging) denir. İngilizcede bug “böcek”, debug ise “böcekten arındırma” anlamlarına gelir. Bilgisayardaki program hataları “bug”, programdaki hataların arındırılması işlemi ise “debug” olarak adlandırılır.
Uygulama:


Uygulama:



1.4. PROGRAMI GELİŞTİRME
Blok tabanlı programlama yazılımı kullanılarak hazırlanmış olan herhangi bir projenin belirlenen ölçütler doğrultusunda geliştirilmesi mümkündür. Projeye yeni kuklalar eklenebilir, kuklalara çeşitli komutlar uygulanarak var olan bir program üzerinden farklı senaryolar geliştirilebilir.
Uygulama:
Önceden hazırlanmış olan “Gökyüzü dünyası” programında kuşlar sağa / sola hareket ettikleri ve üzerlerine tıklandığında 2 saniye boyunca ekranda mesaj verdikleri görülür. Bu uygulamayı açıp aşağıdaki ölçütler doğrultusunda programı geliştiriniz.
Ölçütler:
a) Program çalıştırıldığında gökyüzünde sürekli olarak bubbles sesi çalsın.
b) Kuşun üzerine her tıklandığında mesajın ardından ses çalsın.
c) Programa yeni bir kukla olarak cin (Jinee) kuklası eklensin ve kuşlarda olduğu gibi kenara geldiğinde sekerek yönünü değiştirsin.
- Adım: “Gökyüzü dünyası” adlı projeyi açınız.
- Adım: Program çalıştığı süre boyunca ses çalması istendiğinden Sürekli tekrarla bloku arasına Ses
blokunda yer alan “bubbles sesini bitene kadar çal” komutunu ekleyiniz.

Uygulama: Klavyeden boşluk tuşuna basıldığında Görsel 1.29’daki gibi bir kare çizen programı aşağıdaki adımları takip ederek gerçekleştiriniz.


1.5. KARAR YAPILARI
Günlük hayatta karşılaşılan birçok olayın gerçekleşmesi bir koşula bağlıdır. Örneğin hava yağmurluysa şemsiye kullanılır veya acıkınca yemek yenir vb. gibi olayların gerçekleşmesi koşula bağlıdır. Programlama esnasında da duruma göre değişen işlemler yapılması gerekebilir. Bu tür durumlarda karar yapılarından yararlanılır. Karar yapıları, programların farklı durumlarına göre iki ya da daha fazla seçenek arasından seçim yaparak işlemin gerçekleştirilmesini sağlayan mantıksal yapılardır.

Yaya, eğer yeşil ışık yanıyorsa karşıya geçecek, yanmıyorsa yeşil ışık yanana kadar beklemeye de-
vam edecektir (Şekil 1.1).
“Eğer” ile başlayan ve bir karar verilmesi gereken durumlarda kontrol yapıları kullanılır. Blok tabanlı programlama yazılımında algoritmaya uygun karar yapılarını seçmek için Kontrol (Eğer ise, Eğer ise değilse), Algılama (Yaklaşıyor mu, fareye basılı mı?) ve Operatörler ( Eşit mi?, 1 ile 10 arasında rastgele sayı tut) bloklarındaki komutlardan yararlanılır.
Uygulama: Öğrencilerden Bilişim Teknolojileri dersinden aldığı notları söylemeleri istenmektedir. Geçme notunun 50 olduğu sistemde öğrencinin aldığı not, 50 ve üzerindeyse “Tebrikler, geçtiniz”, değilse “Daha
çok çalışmalısın” mesajını veren uygulamayı verilen adımları takip ederek gerçekleştiriniz.

Uygulama:


1.6. PROJE OLUŞTURMA
Uygulama: Yeşil bayrağa tıklandığında davul eşliğinde dans edip dans sırasında klavyeden boşluk tuşuna basıldığında kostüm rengi değişen kişi uygulamasını aşağıdaki adımları takip ederek gerçekleştiriniz (Görsel 1.34).








