Scratch ile blok tabanlı programlama.
Konu Anlatımı
6. Sınıf Bilişim Teknolojileri ve Yazılım – Blok Tabanlı Programlama (Scratch) Konu Anlatımı
Günümüzde teknoloji hayatımızın her alanına girmiş durumdadır. Kullandığımız telefonlar, bilgisayarlar, tabletler ve hatta akıllı ev aletleri bile yazılımlar sayesinde çalışır. Peki bu yazılımlar nasıl oluşturulur? İşte programlama tam da bu sorunun cevabıdır. 6. Sınıf Bilişim Teknolojileri ve Yazılım dersinin 2. ünitesi olan Programlama ünitesinde, Blok Tabanlı Programlama (Scratch) konusuyla birlikte yazılım dünyasına ilk adımlarımızı atıyoruz. Bu yazıda, Scratch programını sıfırdan öğrenecek, temel kavramları anlayacak ve kendi projelerinizi oluşturabilecek seviyeye geleceksiniz.
Programlama Nedir?
Programlama, bilgisayara belirli bir görevi yerine getirmesi için komutlar verme işlemidir. Bilgisayarlar kendi başlarına düşünemez veya karar veremezler; ancak insanların yazdığı komutları (programları) çok hızlı bir şekilde uygulayabilirler. Bir programcı, çözmek istediği problemi küçük adımlara böler ve bu adımları bilgisayarın anlayabileceği bir dilde yazar. Bu sürece kodlama veya programlama denir.
Programlama dilleri, insanlar ile bilgisayarlar arasındaki iletişimi sağlayan araçlardır. Python, Java, C++ gibi metin tabanlı dillerin yanı sıra, özellikle yeni başlayanlar için tasarlanmış blok tabanlı programlama dilleri de bulunmaktadır. Blok tabanlı programlama dilleri, kod yazmak yerine hazır blokları sürükleyip bırakarak program oluşturmayı sağlar. Bu sayede yazım hataları en aza iner ve programlama mantığını öğrenmek çok daha kolay hale gelir.
Blok Tabanlı Programlama Nedir?
Blok tabanlı programlama, komutların metin olarak yazılması yerine görsel bloklar halinde ekranda sürüklenip birbirine eklenmesiyle program oluşturma yöntemidir. Her blok belirli bir komutu temsil eder. Bloklar, yapboz parçaları gibi birbirine geçerek anlamlı bir program oluşturur. Bu yöntem özellikle çocuklar ve programlamaya yeni başlayanlar için idealdir çünkü karmaşık söz dizimi (syntax) kurallarıyla uğraşmak yerine doğrudan algoritma ve problem çözme becerilerine odaklanmayı sağlar.
Blok tabanlı programlamanın en popüler araçlarından biri Scratch programıdır. MIT (Massachusetts Institute of Technology – Massachusetts Teknoloji Enstitüsü) tarafından geliştirilen Scratch, dünya genelinde milyonlarca öğrenci tarafından kullanılmaktadır. Türkiye MEB müfredatında da 6. Sınıf Bilişim Teknolojileri ve Yazılım dersinde Scratch, blok tabanlı programlama aracı olarak öğretilmektedir.
Scratch Nedir?
Scratch, MIT Media Lab tarafından geliştirilen, ücretsiz ve açık kaynaklı bir blok tabanlı programlama ortamıdır. Scratch sayesinde hikâyeler, oyunlar, animasyonlar ve etkileşimli projeler oluşturabilirsiniz. Program, 8-16 yaş aralığındaki öğrenciler için tasarlanmıştır ancak her yaştan insan tarafından kullanılabilir. Scratch'e scratch.mit.edu adresinden ücretsiz olarak erişebilir, çevrimiçi ortamda projelerinizi oluşturabilir ve paylaşabilirsiniz. Ayrıca bilgisayarınıza indirerek çevrimdışı (internet bağlantısı olmadan) da kullanabilirsiniz.
Scratch'in en büyük avantajlarından biri, projelerinizi diğer kullanıcılarla paylaşabilmeniz ve başkalarının projelerini inceleyerek yeni şeyler öğrenebilmenizdir. Bu, bir öğrenme topluluğu oluşturarak programlamayı daha eğlenceli hale getirir.
Scratch Arayüzü ve Temel Bileşenler
Scratch programını açtığınızda karşınıza kullanıcı dostu bir arayüz gelir. Bu arayüzün temel bileşenlerini tanımak, programlama sürecinde size büyük kolaylık sağlayacaktır. Scratch arayüzü birkaç ana bölümden oluşur ve her bölümün kendine özgü bir işlevi vardır.
Sahne (Stage)
Sahne, programınızın çalıştığı ve sonuçlarını gördüğünüz alandır. Sahne 480 birim genişliğinde ve 360 birim yüksekliğindedir. Sahnenin tam ortası (0, 0) koordinat noktasıdır. X ekseni yatay, Y ekseni ise dikey konumu belirler. Sahne üzerinde karakterleriniz (kuklalar) hareket eder, arka plan değişir ve tüm görsel çıktılar burada görüntülenir.
Kuklalar (Sprites)
Kuklalar, Scratch projelerinde hareket eden, konuşan ve etkileşimde bulunan karakterlerdir. Scratch'i ilk açtığınızda varsayılan kukla olarak turuncu bir kedi karakteri karşınıza gelir. Scratch kütüphanesinden yeni kuklalar ekleyebilir, kendiniz çizebilir veya bilgisayarınızdan resim yükleyebilirsiniz. Her kuklanın kendi kod blokları, kostümleri ve sesleri olabilir. Bir projede birden fazla kukla kullanarak karmaşık sahneler ve etkileşimler oluşturabilirsiniz.
Blok Paleti (Block Palette)
Blok paleti, kullanabileceğiniz tüm komut bloklarının listelendiği bölümdür. Bloklar kategorilere ayrılmıştır ve her kategori farklı bir renkle gösterilir. Bu renk kodlaması, blokları hızlıca bulmayı ve ayırt etmeyi kolaylaştırır.
Kodlama Alanı (Scripts Area)
Kodlama alanı, blokları sürükleyip bırakarak programınızı oluşturduğunuz çalışma alanıdır. Blok paletinden seçtiğiniz blokları bu alana taşıyarak birbirine bağlarsınız. Bloklar mıknatıs gibi birbirine yapışır ve yukarıdan aşağıya doğru sırayla çalışır.
Scratch Blok Kategorileri
Scratch'te bloklar farklı kategorilere ayrılmıştır. Her kategori belirli türdeki komutları içerir. 6. Sınıf Bilişim Teknolojileri ve Yazılım Blok Tabanlı Programlama (Scratch) konusunda bu kategorileri iyi bilmek çok önemlidir.
Hareket Blokları (Mavi)
Hareket blokları, kuklanın sahne üzerindeki konumunu ve yönünü değiştirmek için kullanılır. "10 adım git", "15 derece sağa dön", "x: 0, y: 0 konumuna git" gibi komutlar bu kategoride yer alır. Hareket blokları sayesinde kuklanızı sahne üzerinde istediğiniz yöne ve konuma taşıyabilirsiniz. Örneğin, bir oyun karakterinin sağa-sola hareket etmesini veya bir topun zıplamasını bu bloklarla sağlayabilirsiniz.
Görünüm Blokları (Mor)
Görünüm blokları, kuklanın görsel özelliklerini değiştirmek için kullanılır. Kuklanın konuşma balonu göstermesi, kostüm değiştirmesi, boyutunun büyüyüp küçülmesi, görünür veya gizli olması gibi işlemler bu bloklar aracılığıyla yapılır. "Merhaba! de 2 saniye", "sonraki kostüme geç", "boyutu 10 değiştir" gibi komutlar görünüm kategorisinde bulunur.
Ses Blokları (Pembe)
Ses blokları, projelerinize ses efektleri ve müzik eklemek için kullanılır. Scratch kütüphanesindeki hazır sesleri çalabilir, kendi seslerinizi kaydedebilir veya bilgisayarınızdan ses dosyası yükleyebilirsiniz. "Miyav sesini çal", "ses seviyesini 50 yap" gibi komutlar bu kategoride yer alır.
Olaylar Blokları (Sarı)
Olaylar blokları, programınızın ne zaman başlayacağını veya belirli bir durumda ne yapacağını belirler. En sık kullanılan olay bloğu "yeşil bayrak tıklandığında" bloğudur. Bu blok, sahnenin üstündeki yeşil bayrak simgesine tıklandığında programın çalışmasını başlatır. Ayrıca "boşluk tuşu basıldığında", "bu kukla tıklandığında" gibi olaylar da tanımlanabilir. Olaylar blokları, programınızın tetikleyicileridir ve genellikle kod dizisinin en başına yerleştirilir.
Kontrol Blokları (Turuncu)
Kontrol blokları, programın akışını yönetmek için kullanılır. Döngüler, koşullu ifadeler ve bekleme komutları bu kategoride yer alır. Kontrol blokları, programlamanın en temel yapı taşlarıdır ve projelerinizi daha akıllı ve işlevsel hale getirir.
Döngüler: Bir işlemi birden fazla kez tekrarlamak için kullanılır. "10 kere tekrarla" bloğu, içindeki komutları 10 kez çalıştırır. "Sürekli tekrarla" bloğu ise komutları program durdurulana kadar sürekli olarak tekrarlar. Döngüler, aynı kodu tekrar tekrar yazmak yerine daha kısa ve etkili programlar oluşturmamızı sağlar.
Koşullu ifadeler: Belirli bir koşulun sağlanıp sağlanmadığını kontrol eder ve buna göre farklı işlemler yapar. "Eğer … ise" bloğu, koşul doğruysa içindeki komutları çalıştırır. "Eğer … ise / değilse" bloğu ise koşul doğruysa bir grup komutu, yanlışsa başka bir grup komutu çalıştırır. Bu yapı, programlara karar verme yeteneği kazandırır.
Bekleme: "1 saniye bekle" bloğu, program akışını belirtilen süre kadar duraklatır. Bu, animasyonlarda ve zamanlama gerektiren projelerde sıklıkla kullanılır.
Algılama Blokları (Açık Mavi)
Algılama blokları, kuklanın çevresini algılamasını sağlar. "Kenara değdi mi?", "fare imlecine olan uzaklık", "… rengine değiyor mu?" gibi sorular bu bloklar aracılığıyla sorulur. Algılama blokları genellikle kontrol bloklarıyla birlikte kullanılarak etkileşimli projeler oluşturulmasını sağlar. Örneğin, bir oyunda karakterin duvara çarptığını algılamak için algılama blokları kullanılır.
İşlemler Blokları (Yeşil)
İşlemler blokları, matematiksel hesaplamalar ve mantıksal karşılaştırmalar yapmak için kullanılır. Toplama, çıkarma, çarpma, bölme gibi aritmetik işlemler; büyüktür, küçüktür, eşittir gibi karşılaştırma işlemleri; ve (ve), veya (veya), değil (değil) gibi mantıksal işlemler bu kategoride yer alır. "1 ile 10 arasında rastgele sayı seç" bloğu da bu kategoride bulunur ve oyunlarda rastgele olaylar oluşturmak için sıklıkla kullanılır.
Değişkenler (Koyu Turuncu)
Değişkenler, verileri saklamak ve kullanmak için kullanılır. Bir değişken, bir sayıyı veya metni hafızada tutan bir kutu gibi düşünülebilir. Örneğin, bir oyunda oyuncunun puanını saklamak için "puan" adında bir değişken oluşturabilirsiniz. Değişkenlerin değeri program çalışırken değiştirilebilir. "Değişkenimi 0 yap", "değişkenimi 1 değiştir" gibi komutlarla değişkenlerin değerini kontrol edebilirsiniz.
Scratch'te İlk Programımız
Şimdi Scratch'te basit bir program oluşturalım. Amacımız kedi karakterinin sahne üzerinde hareket etmesi ve "Merhaba!" demesidir. Adım adım ilerleyelim.
Adım 1: Scratch'i açın. Varsayılan kedi kuklası zaten sahnede olacaktır.
Adım 2: Olaylar kategorisinden "yeşil bayrak tıklandığında" bloğunu kodlama alanına sürükleyin.
Adım 3: Görünüm kategorisinden "Merhaba! de 2 saniye" bloğunu alın ve yeşil bayrak bloğunun altına yerleştirin.
Adım 4: Hareket kategorisinden "10 adım git" bloğunu ekleyin.
Adım 5: Yeşil bayrak simgesine tıklayarak programınızı çalıştırın. Kedi önce "Merhaba!" diyecek, ardından 10 adım ileri gidecektir.
Tebrikler! İlk Scratch programınızı oluşturdunuz. Bu basit örnek, blokların nasıl birbirine bağlandığını ve sırasıyla çalıştığını göstermektedir.
Algoritma Kavramı
Algoritma, bir problemi çözmek veya bir görevi yerine getirmek için izlenen adımların sıralı listesidir. Programlama yapmadan önce çözmek istediğimiz problemi analiz eder ve adım adım bir çözüm planı oluştururuz. Bu plana algoritma denir. Algoritma, günlük hayatta da sıklıkla karşılaştığımız bir kavramdır. Örneğin, bir yemek tarifi aslında bir algoritmadır: malzemeleri hazırla, soğanları doğra, yağı ısıt, soğanları kavur gibi adımlar sırasıyla takip edilir.
Scratch'te program oluştururken de önce algoritmamızı belirler, ardından bu algoritmayı bloklar kullanarak kodlarız. İyi bir algoritma, programın doğru ve verimli çalışmasını sağlar.
Döngüler (Tekrarlama Yapıları)
Döngüler, programlamada en önemli kavramlardan biridir. Bir işlemi birden fazla kez yapmak istediğimizde döngüleri kullanırız. Scratch'te üç tür döngü bloğu bulunur.
Sürekli tekrarla: Bu döngü, program durdurulana kadar içindeki komutları sürekli olarak çalıştırır. Örneğin, bir animasyonda karakterin sürekli yürümesi veya bir oyunda sürekli olarak kullanıcı girdisinin kontrol edilmesi için kullanılır.
… kere tekrarla: Bu döngü, içindeki komutları belirtilen sayı kadar tekrarlar. Örneğin, "4 kere tekrarla" döngüsü içine "100 adım git" ve "90 derece sağa dön" bloklarını koyarsanız, kukla bir kare çizer. Bu, döngülerin gücünü gösteren güzel bir örnektir.
… olana kadar tekrarla: Bu döngü, belirli bir koşul sağlanana kadar içindeki komutları tekrar eder. Koşul sağlandığında döngü sona erer ve program bir sonraki bloktan devam eder.
Koşullu İfadeler (Karar Yapıları)
Koşullu ifadeler, programlara karar verme yeteneği kazandırır. Gerçek hayatta da sürekli kararlar veririz: hava yağmurluysa şemsiye al, değilse güneş gözlüğü tak. Programlamada da benzer mantık kullanılır.
Scratch'te iki tür koşullu ifade bloğu vardır. "Eğer … ise" bloğu, koşul doğruysa içindeki komutları çalıştırır; koşul yanlışsa hiçbir şey yapmaz. "Eğer … ise / değilse" bloğu ise koşul doğruysa bir grup komutu, yanlışsa farklı bir grup komutu çalıştırır.
Örneğin, bir oyunda karakterin kenara değip değmediğini kontrol edebilirsiniz: eğer kenara değdiyse, karakterin yönünü değiştirin; değilse ileri gitmeye devam etsin. Bu sayede karakter sahne sınırları içinde hareket eder.
Değişkenler ve Puanlama Sistemi
Oyunlarda ve etkileşimli projelerde puan, süre, can gibi bilgileri saklamak için değişkenler kullanılır. Değişken oluşturmak için "Değişkenler" kategorisine gidip "Bir değişken oluştur" butonuna tıklamanız yeterlidir. Değişkene anlamlı bir isim vermeniz önerilir; örneğin "puan", "süre" veya "can" gibi.
Bir puan sistemi oluşturmak için şu adımları izleyebilirsiniz: Yeşil bayrak tıklandığında "puan" değişkenini 0 yapın. Oyuncu doğru bir işlem yaptığında "puan" değişkenini 1 artırın. Yanlış bir işlem yaptığında ise 1 azaltın veya aynı bırakın. Bu şekilde oyuncunun performansını takip eden bir puanlama sistemi oluşturmuş olursunuz.
Scratch'te Proje Örnekleri
6. Sınıf Bilişim Teknolojileri ve Yazılım Blok Tabanlı Programlama (Scratch) konusunda öğrendiklerimizi pekiştirmek için çeşitli projeler yapabiliriz.
Proje 1 – Kedi ve Fare Oyunu: Fare imleci ile kontrol edilen bir fare karakteri ve otomatik hareket eden bir kedi karakteri oluşturun. Kedi fareyi yakalarsa oyun bitsin. Bu projede hareket blokları, algılama blokları, döngüler ve koşullu ifadeler bir arada kullanılır.
Proje 2 – Geometrik Şekiller Çizme: Kalem eklentisini kullanarak kuklanın sahne üzerinde geometrik şekiller çizmesini sağlayın. Döngüler kullanarak kare, üçgen, altıgen gibi şekiller çizdirilebilir. Örneğin, 3 kere tekrarla döngüsü içinde "100 adım git" ve "120 derece dön" komutlarıyla eşkenar üçgen çizebilirsiniz.
Proje 3 – Basit Hesap Makinesi: Kullanıcıdan iki sayı ve işlem türü isteyen, ardından sonucu hesaplayıp ekranda gösteren bir hesap makinesi projesi oluşturabilirsiniz. Bu projede algılama bloklarından "sor ve bekle" bloğu, değişkenler ve işlemler blokları kullanılır.
Proje 4 – Animasyonlu Hikâye: Birden fazla kukla ve arka plan kullanarak etkileşimli bir hikâye oluşturun. Kuklalar sırayla konuşsun, sahne değişsinler ve arka plan müziği çalsın. Bu projede görünüm blokları, ses blokları ve olaylar blokları yoğun olarak kullanılır.
Hata Ayıklama (Debug) Nedir?
Program yazarken hata yapmak çok doğaldır. Yazılan programdaki hataları bulma ve düzeltme işlemine hata ayıklama (debug) denir. Scratch'te hata ayıklama, blokların sırasını kontrol etmek, yanlış değerleri düzeltmek ve eksik blokları eklemek şeklinde yapılır.
Hata ayıklama sürecinde şu adımları izleyebilirsiniz: Önce programı çalıştırın ve beklenen sonucu verip vermediğini kontrol edin. Eğer beklenenden farklı bir sonuç alıyorsanız, blokları tek tek inceleyerek hatanın kaynağını bulun. Bir bloğa tıklayarak sadece o bloğu çalıştırabilir ve doğru çalışıp çalışmadığını test edebilirsiniz. Hata ayıklama, programcılığın en önemli becerilerinden biridir ve pratik yaptıkça gelişir.
Scratch'te Mesaj Gönderme ve Alma
Scratch'te birden fazla kukla arasında iletişim kurmak için mesaj gönderme ve alma mekanizması kullanılır. Bir kukla "mesaj gönder" bloğuyla bir mesaj yayınlar, diğer kuklalar "mesajı aldığımda" bloğuyla bu mesajı alır ve belirli komutları çalıştırır. Bu özellik, özellikle çok karakterli projelerde koordinasyonu sağlamak için çok faydalıdır.
Örneğin, bir hikâye projesinde birinci karakter konuşmasını bitirdiğinde bir mesaj gönderir, ikinci karakter bu mesajı alınca kendi konuşmasına başlar. Bu sayede karakterler arasında düzenli bir diyalog oluşturulur.
Scratch'te Koordinat Sistemi
Scratch sahnesi bir koordinat düzlemi üzerine kurulmuştur. Sahnenin tam ortası (0, 0) noktasıdır. X ekseni yatay ekseni temsil eder ve -240 ile 240 arasında değer alır. Y ekseni dikey ekseni temsil eder ve -180 ile 180 arasında değer alır. Kuklanın sahnedeki konumunu x ve y değerleriyle belirleyebilirsiniz.
Koordinat sistemini anlamak, kuklaları doğru konumlara yerleştirmek ve hareketlerini kontrol etmek için çok önemlidir. Matematik dersinde öğrendiğiniz koordinat düzlemi bilgisi, Scratch'te doğrudan uygulanmaktadır. Bu, dersler arası bağlantı kurmanın güzel bir örneğidir.
Scratch Projelerini Paylaşma
Scratch'in en güzel özelliklerinden biri, oluşturduğunuz projeleri çevrimiçi olarak paylaşabilmenizdir. Scratch web sitesinde bir hesap oluşturduktan sonra projelerinizi "Paylaş" butonuyla herkese açık hale getirebilirsiniz. Diğer kullanıcılar projelerinizi görebilir, yorum yapabilir ve hatta projenizi "remix" ederek kendi versiyonlarını oluşturabilirler.
Paylaşım yaparken projenize açıklayıcı bir başlık ve talimatlar eklemeyi unutmayın. Projenizin nasıl çalıştığını ve nasıl kullanılacağını açıklamak, diğer kullanıcıların projenizi daha iyi anlamasını sağlar.
Programlama ile Kazanılan Beceriler
Blok tabanlı programlama öğrenmek, sadece kod yazmayı değil, aynı zamanda pek çok önemli beceriyi de geliştirir. Programlama sayesinde problem çözme becerisi kazanırsınız; çünkü her program bir problemi çözmek için yazılır. Algoritmik düşünme yeteneğiniz gelişir; problemleri adımlara ayırmayı ve mantıksal bir sırayla çözmeyi öğrenirsiniz. Yaratıcılığınız artar; kendi oyunlarınızı, hikâyelerinizi ve animasyonlarınızı tasarlarsınız. Eleştirel düşünme beceriniz güçlenir; hata ayıklama sürecinde programınızı analiz eder ve iyileştirirsiniz. İş birliği yapma yeteneğiniz gelişir; projelerinizi arkadaşlarınızla paylaşır ve birlikte çalışırsınız.
Önemli İpuçları ve Dikkat Edilmesi Gerekenler
Scratch'te çalışırken bazı ipuçlarına dikkat etmeniz, daha başarılı projeler oluşturmanızı sağlayacaktır. Projelerinizi düzenli olarak kaydetmeyi unutmayın; beklenmedik bir durumda çalışmanızı kaybetmemek için bu çok önemlidir. Blokları düzenli ve okunaklı bir şekilde yerleştirin; böylece kodunuzu daha sonra kolayca okuyabilir ve düzenleyebilirsiniz. Projelerinize yorum blokları ekleyerek kodun ne yaptığını açıklayın; bu hem kendiniz hem de projenizi inceleyen diğer kişiler için faydalıdır.
Ayrıca karmaşık projeleri küçük parçalara bölerek geliştirmek iyi bir stratejidir. Önce temel işlevleri oluşturun, ardından yeni özellikler ekleyin. Her yeni özellik ekledikten sonra programı test edin ve hatasız çalıştığından emin olun.
Sonuç
6. Sınıf Bilişim Teknolojileri ve Yazılım Blok Tabanlı Programlama (Scratch) konusu, öğrencilerin programlama dünyasıyla tanışmasını sağlayan temel bir konudur. Scratch sayesinde programlamanın temel kavramlarını eğlenceli ve görsel bir şekilde öğrenebilirsiniz. Döngüler, koşullu ifadeler, değişkenler, olaylar ve koordinat sistemi gibi kavramlar, ilerleyen yıllarda öğreneceğiniz daha karmaşık programlama dillerinin de temelini oluşturur. Scratch ile projeler geliştirdikçe hem teknik becerileriniz hem de yaratıcılığınız gelişecektir. Unutmayın, programlamayı öğrenmenin en iyi yolu bol bol pratik yapmaktır. Kendi projelerinizi oluşturun, başkalarının projelerini inceleyin ve her gün biraz daha fazlasını keşfedin!
Örnek Sorular
6. Sınıf Bilişim Teknolojileri ve Yazılım – Blok Tabanlı Programlama (Scratch) Çözümlü Sorular
Aşağıda 6. Sınıf Bilişim Teknolojileri ve Yazılım Blok Tabanlı Programlama (Scratch) konusuyla ilgili 10 adet çözümlü soru yer almaktadır. İlk 6 soru çoktan seçmeli, son 4 soru açık uçludur.
Soru 1 (Çoktan Seçmeli)
Scratch programında "yeşil bayrak tıklandığında" bloğu hangi blok kategorisine aittir?
A) Hareket
B) Kontrol
C) Olaylar
D) Algılama
Cevap: C) Olaylar
Çözüm: "Yeşil bayrak tıklandığında" bloğu, programın ne zaman başlayacağını belirleyen bir tetikleyicidir. Bu tür tetikleyici bloklar Scratch'te Olaylar kategorisinde yer alır. Hareket blokları kuklanın pozisyonuyla, kontrol blokları döngü ve koşullarla, algılama blokları ise çevresel etkileşimlerle ilgilidir.
Soru 2 (Çoktan Seçmeli)
Scratch sahnesinin tam ortasındaki koordinat değeri aşağıdakilerden hangisidir?
A) x: 240, y: 180
B) x: 0, y: 0
C) x: -240, y: -180
D) x: 100, y: 100
Cevap: B) x: 0, y: 0
Çözüm: Scratch sahnesi bir koordinat düzlemi üzerine kurulmuştur. Sahnenin tam ortası başlangıç noktası olan (0, 0) koordinatıdır. X ekseni -240 ile 240, Y ekseni ise -180 ile 180 arasında değer alır.
Soru 3 (Çoktan Seçmeli)
Aşağıdaki Scratch blok dizisinin çalıştırılması sonucunda kukla kaç adım ilerler?
"3 kere tekrarla" → içinde: "10 adım git"
A) 3 adım
B) 10 adım
C) 13 adım
D) 30 adım
Cevap: D) 30 adım
Çözüm: "3 kere tekrarla" döngüsü içindeki "10 adım git" komutu 3 kez çalıştırılır. Toplam ilerleme: 3 × 10 = 30 adımdır.
Soru 4 (Çoktan Seçmeli)
Scratch'te bir kuklanın kostüm değiştirmesi için hangi blok kategorisi kullanılır?
A) Hareket
B) Ses
C) Görünüm
D) İşlemler
Cevap: C) Görünüm
Çözüm: Kostüm değiştirme, kuklanın görsel özelliklerini değiştirmeyle ilgili bir işlemdir. "Sonraki kostüme geç" veya "kostümü … olarak değiştir" blokları Görünüm kategorisinde bulunur. Hareket blokları konum, ses blokları ses dosyaları, işlemler blokları ise matematiksel hesaplamalarla ilgilidir.
Soru 5 (Çoktan Seçmeli)
Aşağıdakilerden hangisi Scratch'te bir döngü bloğu değildir?
A) Sürekli tekrarla
B) 10 kere tekrarla
C) … olana kadar tekrarla
D) Eğer … ise
Cevap: D) Eğer … ise
Çözüm: "Sürekli tekrarla", "10 kere tekrarla" ve "… olana kadar tekrarla" blokları döngü bloklarıdır; komutları tekrar tekrar çalıştırırlar. "Eğer … ise" bloğu ise bir döngü değil, bir koşullu ifade (karar yapısı) bloğudur. Koşul sağlanırsa içindeki komutları yalnızca bir kez çalıştırır.
Soru 6 (Çoktan Seçmeli)
Scratch'te bir oyunda oyuncunun puanını saklamak için aşağıdakilerden hangisi kullanılır?
A) Kostüm
B) Sahne
C) Değişken
D) Arka plan
Cevap: C) Değişken
Çözüm: Puan, süre, can gibi değerleri program boyunca saklamak ve güncellemek için değişkenler kullanılır. Kostüm kuklanın görsel halidir, sahne programın çalıştığı alandır, arka plan ise sahnenin görsel temasıdır. Bunların hiçbiri veri saklamak için uygun değildir.
Soru 7 (Açık Uçlu)
Blok tabanlı programlama ile metin tabanlı programlama arasındaki farkları açıklayınız. Blok tabanlı programlamanın avantajları nelerdir?
Cevap:
Blok tabanlı programlamada komutlar görsel bloklar şeklinde sunulur ve sürükle-bırak yöntemiyle birbirine eklenir. Metin tabanlı programlamada ise komutlar klavyeyle yazılır ve belirli söz dizimi (syntax) kurallarına uyulması gerekir.
Blok tabanlı programlamanın avantajları şunlardır: Yazım hatası (syntax error) yapma riski çok azdır çünkü bloklar hazır olarak sunulur. Görsel yapısı sayesinde öğrenmesi daha kolaydır ve başlangıç seviyesindekiler için idealdir. Renkli bloklar farklı komut türlerini kolayca ayırt etmeyi sağlar. Öğrenci, söz dizimi kurallarıyla uğraşmak yerine doğrudan algoritma ve problem çözme becerilerine odaklanabilir.
Soru 8 (Açık Uçlu)
Scratch'te "Eğer … ise / değilse" bloğunun ne işe yaradığını bir örnek üzerinden açıklayınız.
Cevap:
"Eğer … ise / değilse" bloğu, bir koşullu ifade (karar yapısı) bloğudur. Belirtilen koşul doğruysa bir grup komutu, yanlışsa farklı bir grup komutu çalıştırır.
Örnek: Bir matematik oyununda kullanıcıdan bir sorunun cevabını istiyoruz. "Eğer cevap = 5 ise" kısmına "Doğru! de 2 saniye" ve "puan değişkenini 1 artır" blokları yerleştirilir. "Değilse" kısmına ise "Yanlış! de 2 saniye" bloğu yerleştirilir. Bu sayede program, kullanıcının cevabına göre farklı tepkiler verir.
Soru 9 (Açık Uçlu)
Scratch'te döngü kullanarak bir kare çizmenin algoritmasını adım adım yazınız.
Cevap:
Kalem eklentisini aktif ettikten sonra aşağıdaki algoritma izlenir:
1. Yeşil bayrak tıklandığında başla.
2. Kalemi kaldır ve kuklanın başlangıç noktasına git.
3. Kalemi indir (çizim başlasın).
4. "4 kere tekrarla" döngüsünü başlat.
5. Döngü içinde: 100 adım git.
6. Döngü içinde: 90 derece sağa dön.
7. Döngü sona erer.
Bu algoritmada kukla her adımda 100 birim ilerler ve 90 derece döner. Bu işlem 4 kez tekrarlandığında 4 eşit kenarı ve 4 dik açısı olan bir kare çizilmiş olur. Toplamda 4 × 90 = 360 derece dönüş yapılır, yani kukla başlangıç yönüne geri döner.
Soru 10 (Açık Uçlu)
Hata ayıklama (debug) nedir? Scratch'te programınızda bir hata olduğunu fark ettiğinizde hangi adımları izlersiniz?
Cevap:
Hata ayıklama, programdaki hataları bulma ve düzeltme sürecidir. Bir programcı için en önemli becerilerden biridir.
Scratch'te bir hata fark edildiğinde şu adımlar izlenir: İlk olarak programı çalıştırarak hatanın ne olduğunu ve nerede ortaya çıktığını gözlemleriz. Ardından blokları yukarıdan aşağıya tek tek inceleyerek yanlış sıralanmış, eksik veya hatalı değer içeren blokları ararız. Şüphelendiğimiz bir bloğa tıklayarak yalnızca o bloğu çalıştırabilir ve doğru sonuç verip vermediğini test edebiliriz. Hatayı bulduğumuzda gerekli düzeltmeyi yapar ve programı tekrar çalıştırarak sorunun giderilip giderilmediğini doğrularız. Gerekirse bu süreci tekrarlayarak tüm hataları gideririz.
Çalışma Kağıdı
6. Sınıf Bilişim Teknolojileri ve Yazılım
Blok Tabanlı Programlama (Scratch) – Çalışma Kâğıdı
Ad Soyad: ______________________ Sınıf/No: ______ Tarih: ___/___/______
Etkinlik 1 – Kavram Eşleştirme
Yönerge: Sol sütundaki kavramları sağ sütundaki açıklamalarla eşleştiriniz. Kavramın yanına doğru açıklamanın harfini yazınız.
Kavramlar:
1. Algoritma ( __ )
2. Döngü ( __ )
3. Değişken ( __ )
4. Kukla (Sprite) ( __ )
5. Sahne (Stage) ( __ )
6. Kostüm ( __ )
7. Koşullu ifade ( __ )
8. Hata ayıklama ( __ )
Açıklamalar:
a) Programdaki hataları bulma ve düzeltme işlemi.
b) Bir problemi çözmek için izlenen adımların sıralı listesi.
c) Scratch'te programın çalıştığı ve sonuçların görüntülendiği alan.
d) Veri saklamak için kullanılan ve değeri değişebilen yapı.
e) Belirli bir koşula göre farklı işlemler yapılmasını sağlayan yapı.
f) Scratch projelerinde hareket eden ve etkileşimde bulunan karakter.
g) Bir işlemi birden fazla kez tekrarlamak için kullanılan yapı.
h) Kuklanın farklı görsel hallerinden her biri.
Cevaplar: 1-b, 2-g, 3-d, 4-f, 5-c, 6-h, 7-e, 8-a
Etkinlik 2 – Boşluk Doldurma
Yönerge: Aşağıdaki cümlelerdeki boşlukları uygun kelimelerle doldurunuz.
Kelime Havuzu: Scratch, blok tabanlı, koordinat, (0, 0), değişken, olaylar, kontrol, 480, 360, döngü
1. Komutların görsel bloklar halinde sürüklenip bırakılmasıyla program oluşturma yöntemine __________________ programlama denir.
2. MIT tarafından geliştirilen blok tabanlı programlama aracının adı __________________ 'tir.
3. Scratch sahnesinin genişliği __________________ birim, yüksekliği __________________ birimdir.
4. Scratch sahnesinin tam ortasının __________________ değeri __________________ 'dır.
5. "Yeşil bayrak tıklandığında" bloğu __________________ kategorisinde yer alır.
6. "10 kere tekrarla" bloğu bir __________________ bloğudur ve __________________ kategorisinde bulunur.
7. Bir oyundaki puan bilgisini saklamak için __________________ oluşturulur.
Cevaplar: 1. blok tabanlı, 2. Scratch, 3. 480 / 360, 4. koordinat / (0, 0), 5. olaylar, 6. döngü / kontrol, 7. değişken
Etkinlik 3 – Doğru / Yanlış
Yönerge: Aşağıdaki ifadelerin doğru olanlarının yanına (D), yanlış olanlarının yanına (Y) yazınız.
1. ( __ ) Scratch'te program yazmak için klavyeyle kod yazılması zorunludur.
2. ( __ ) "Sürekli tekrarla" bloğu program durdurulana kadar içindeki komutları tekrar eder.
3. ( __ ) Scratch sahnesinde X ekseni dikey, Y ekseni yatay ekseni temsil eder.
4. ( __ ) Hareket blokları Scratch'te mavi renkle gösterilir.
5. ( __ ) "Eğer … ise / değilse" bloğu bir döngü bloğudur.
6. ( __ ) Scratch'te oluşturulan projeler çevrimiçi olarak paylaşılabilir.
7. ( __ ) Bir kuklaya yalnızca tek bir kostüm tanımlanabilir.
8. ( __ ) Scratch ücretsiz bir programlama aracıdır.
9. ( __ ) Mesaj gönderme ve alma özelliği, kuklalar arası iletişimi sağlar.
10. ( __ ) Scratch'te ses blokları pembe renkle gösterilir.
Cevaplar: 1. Y, 2. D, 3. Y, 4. D, 5. Y, 6. D, 7. Y, 8. D, 9. D, 10. D
Etkinlik 4 – Blok Kategorisi Renk Eşleştirme
Yönerge: Aşağıdaki blok kategorilerinin renklerini karşılarına yazınız.
1. Hareket: __________________
2. Görünüm: __________________
3. Ses: __________________
4. Olaylar: __________________
5. Kontrol: __________________
6. Algılama: __________________
7. İşlemler: __________________
Cevaplar: 1. Mavi, 2. Mor, 3. Pembe, 4. Sarı, 5. Turuncu, 6. Açık Mavi, 7. Yeşil
Etkinlik 5 – Algoritma Yazma
Yönerge: Aşağıdaki görevler için algoritmaları adım adım yazınız.
Görev A: Scratch'te kedinin sahne üzerinde sürekli olarak sağa-sola hareket etmesini sağlayın. Kukla kenara geldiğinde yönünü değiştirsin.
Algoritma:
Adım 1: ______________________________________________________
Adım 2: ______________________________________________________
Adım 3: ______________________________________________________
Adım 4: ______________________________________________________
Adım 5: ______________________________________________________
Örnek Cevap:
Adım 1: Yeşil bayrak tıklandığında başla.
Adım 2: Sürekli tekrarla döngüsünü başlat.
Adım 3: 10 adım git.
Adım 4: Eğer kenara değdiyse sekmesini kontrol et.
Adım 5: Döngü sürekli devam eder.
Görev B: Kullanıcıdan bir sayı isteyin. Sayı 10'dan büyükse "Büyük sayı!" desin, değilse "Küçük sayı!" desin.
Algoritma:
Adım 1: ______________________________________________________
Adım 2: ______________________________________________________
Adım 3: ______________________________________________________
Adım 4: ______________________________________________________
Adım 5: ______________________________________________________
Örnek Cevap:
Adım 1: Yeşil bayrak tıklandığında başla.
Adım 2: "Bir sayı gir" diye sor ve bekle.
Adım 3: Eğer cevap > 10 ise kontrol et.
Adım 4: Doğruysa "Büyük sayı!" de 2 saniye.
Adım 5: Değilse "Küçük sayı!" de 2 saniye.
Etkinlik 6 – Kod Okuma ve Analiz
Yönerge: Aşağıdaki Scratch blok dizilerini inceleyiniz ve soruları cevaplayınız.
Blok Dizisi 1:
yeşil bayrak tıklandığında → puan değişkenini 0 yap → 5 kere tekrarla [ puan değişkenini 2 değiştir ] → puan de 2 saniye
Soru: Bu program çalıştırıldığında kukla kaç saniye sonra ve hangi değeri söyler?
Cevabınız: ____________________________________________________________
Cevap: Döngü çok hızlı çalışır. 5 × 2 = 10 olur. Kukla "10" der ve 2 saniye gösterir.
Blok Dizisi 2:
yeşil bayrak tıklandığında → x: 0, y: 0 konumuna git → 90 yönüne dön → 3 kere tekrarla [ 50 adım git → 120 derece sağa dön ]
Soru: Bu program çalıştırıldığında kukla hangi geometrik şekli oluşturur?
Cevabınız: ____________________________________________________________
Cevap: 3 kere tekrar, her seferinde 120 derece dönüş; bu bir eşkenar üçgen oluşturur (3 × 120 = 360 derece).
Etkinlik 7 – Koordinat Uygulaması
Yönerge: Aşağıdaki koordinat düzleminde verilen noktaları işaretleyiniz ve soruları cevaplayınız.
Scratch sahnesini düşünerek aşağıdaki noktaların konumlarını belirtiniz:
1. (0, 0) → Sahnenin __________________ noktası.
2. (240, 0) → Sahnenin __________________ kenarının ortası.
3. (-240, 0) → Sahnenin __________________ kenarının ortası.
4. (0, 180) → Sahnenin __________________ kenarının ortası.
5. (0, -180) → Sahnenin __________________ kenarının ortası.
Cevaplar: 1. tam orta, 2. sağ, 3. sol, 4. üst, 5. alt
Etkinlik 8 – Proje Tasarla
Yönerge: Aşağıda kendi Scratch projenizi tasarlayınız. Projenizin konusunu, kullanacağınız kuklaları, blok türlerini ve algoritmanızı yazınız.
Proje Adı: ______________________________________________________
Proje Türü: ( ) Oyun ( ) Animasyon ( ) Hikâye ( ) Diğer: ________
Kullanılacak Kuklalar:
1. ____________________
2. ____________________
3. ____________________
Kullanılacak Blok Kategorileri: (İşaretleyiniz)
( ) Hareket ( ) Görünüm ( ) Ses ( ) Olaylar ( ) Kontrol ( ) Algılama ( ) İşlemler ( ) Değişkenler
Projenin Kısa Açıklaması:
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
Algoritma (Adımlar):
Adım 1: ________________________________________________________________
Adım 2: ________________________________________________________________
Adım 3: ________________________________________________________________
Adım 4: ________________________________________________________________
Adım 5: ________________________________________________________________
Adım 6: ________________________________________________________________
Çalışma kâğıdını tamamladığınız için tebrikler!
Sıkça Sorulan Sorular
6. Sınıf Bilişim Teknolojileri ve Yazılım müfredatı 2025-2026 yılında kaç ünite?
2025-2026 müfredatına göre 6. sınıf bilişim teknolojileri ve yazılım dersi birden fazla üniteden oluşmaktadır. Sayfadaki ünite listesinden güncel bilgiye ulaşabilirsiniz.
6. sınıf blok tabanlı programlama (scratch) konuları hangi dönemlerde işleniyor?
6. sınıf bilişim teknolojileri ve yazılım dersi konuları 1. dönem ve 2. dönem olarak iki yarıyılda işlenmektedir. Her ünitenin tahmini süre bilgisi Millî Eğitim Bakanlığı'nın haftalık ders planlarında yer almaktadır.
6. sınıf bilişim teknolojileri ve yazılım müfredatı ne zaman güncellendi?
Gösterilen içerik 2025-2026 eğitim-öğretim yılı için güncellenmiştir. Millî Eğitim Bakanlığı'nın resmi sitesinde yayımlanan müfredat dokümanları esas alınmıştır.