Blok tabanlı programlama, Maarif Modeli'nin Bilişim Teknolojileri ve Yazılım (BTY) dersinde yılın en büyük temasının merkezinde. 5. sınıfta 24, 6. sınıfta 34 ders saati ayrılan Yazılım Tasarımı ve Programlama temasında öğrenciler blok tabanlı ortamda kendi yazılımlarını geliştiriyor.[1] Bu yazı blok tabanlı programlamanın ne olduğunu, temel blokları, BTY kazanımlarını ve araştırmaların bu yöntem hakkında ne söylediğini anlatıyor.
Blok tabanlı programlama nedir?
Blok tabanlı programlamada komutlar klavyeyle yazılmaz; renkli bloklar hâlinde sürüklenip bırakılarak birleştirilir. En bilinen örnek olan Scratch'in tasarımcıları, blokların yapboz parçası gibi yalnız sözdizimsel olarak anlamlı biçimde birbirine oturduğunu, bu yüzden metin tabanlı dillerdeki yazım hatalarının ortadan kalktığını anlatıyor. Amaç, programlamayı herkes için, özellikle gençler için erişilebilir kılmak.[2]
BTY programı belirli bir ürün adı vermiyor; "yapılandırılmış, eğitim odaklı ve öğretmen rehberliğinde kullanılmaya uygun" bir blok tabanlı yazılım geliştirme ortamı öneriyor. Öğretmen bu ortamda kodlamanın sürükle-bırak yöntemiyle yapıldığını gösteriyor; öğrenciler önce sıralı komutlarla algoritma oluşturuyor.[1]
Temel bloklar ve kavramlar
Program iki yıl boyunca şu kavramları sırayla kuruyor:[1]
| Kavram | Programdaki örnek | Sınıf |
|---|---|---|
| Komut | Bilgisayara bir işi yaptırmak için verilen yönlendirme | 5 |
| Sabit ve değişken | Oyunda oyun alanı ve kurallar sabit; oyuncu sayısı, skor, süre değişken | 5 |
| Operatör | "Okula kaç dakikada geliyorsunuz?" sorusu için çıkış ve varış saatleriyle hesap | 5 |
| Koşul | Eğer-değilse blokları | 6 |
| Döngü | Tekrar eden hareketler | 5-6 |
| Fonksiyon | Tekrar eden komut gruplarını özel blok hâline getirmek | 6 |
Değişken kavramı programda günlük hayattan kuruluyor: öğrenciler futbol, saklambaç ya da ip atlama gibi bir oyunu düşünüp oyundaki sabitleri ve değişkenleri gruplar hâlinde belirliyor.[1] Algoritma ve akış şeması tarafı için algoritma ve akış şeması.
5. sınıf kazanımları
- sınıfın programlama teması dört öğrenme çıktısından oluşuyor; son ikisi doğrudan blok tabanlı ortamla ilgili:[1]
| Kazanım | İçerik |
|---|---|
| BTY.5.6.3 | Yazılım geliştirme sürecinde kullanılan bileşenleri tanımlar, kullanır, değerlendirir |
| BTY.5.6.4 | Blok tabanlı ortamda yazılım geliştirme sürecini planlar, tasarlar, oluşturur |
Öğrenciler gruplar hâlinde kendi yazılım fikirlerini (oyun, karakter hareket ettirme gibi) seçiyor; yazılımın amacını, kullanıcısını, karakterlerini ve kontrol koşullarını planlayıp tasarımı önce kâğıt üzerinde çiziyor, sonra blok tabanlı ortamda geliştiriyor.[1] Yılın tamamı için BTY 5. sınıf konuları.
6. sınıf: fonksiyon, proje ve yapay zekâ
- sınıfta üç öğrenme çıktısı var: blok tabanlı ortamdaki bileşenlerden yararlanma (BTY.6.6.1), yazılım geliştirme sürecini yönetme (BTY.6.6.2) ve yapay zekâ destekli ürün ortaya koyma (BTY.6.6.3).[1]
Fonksiyon. Program fonksiyonu bir benzetmeyle açıyor: "Çamaşır makinesine gerekli temizlik malzemelerini yerleştirip kirli kıyafetleri koyup çalıştırdığımızda ne olur?" Ardından bir karakterin sürekli sağa ve sola dönmesini sağlayan kodda tekrar eden bölümler fark ettiriliyor, bu bölümler özel bir blokta toplanıp fonksiyon olarak çağrılıyor. Öğrenciler fonksiyonsuz uzun kodla fonksiyonlu kısa kodu karşılaştırıp rapor yazıyor.[1]
Proje. Gruplar ortak bir proje fikri belirliyor; hangi blokları kullanacaklarını, karakterlerin nasıl hareket edeceğini ve hangi matematiksel işlemlerin yapılacağını planlıyor. Hareket, koşul (eğer-değilse), döngü, değişken ve fonksiyon bloklarıyla tasarlayıp oluşturuyor; "Programınız beklendiği gibi çalışıyor mu? Hangi blokları neden kullandınız?" sorularıyla değerlendiriyor ve raporlarını EBA bilgi duvarında paylaşıyor.[1]
Yapay zekâ destekli ürün. Yılın son çalışmasında öğrenciler gerçek bir hayat problemi için yapay zekâ destekli bir blok projesi belirliyor, gereksinimleri (kullanıcı giriş ekranı, sesli komut desteği, öneri güncellemesi gibi) çıkarıyor. Öğretmen blok tabanlı uygulamalardaki görüntü tanıma, sesli komut analizi ve öneri sistemi gibi yapay zekâ eklentilerini tanıtıyor.[1] Ayrıntı: BTY yapay zekâ konuları.
Neden blok tabanlı? Araştırmalar ne diyor?
Blok tabanlı programlamanın okulda yaygınlaşmasının arkasında bilgi işlemsel düşünme fikri var. Wing bu düşünme biçimini herkesin kazanması gereken temel bir beceri olarak tanımladı;[3] Grover ve Pea'nın derlemesi de okul düzeyinde bu becerinin soyutlama, algoritmik düşünme ve hata ayıklama gibi bileşenlerini öne çıkardı.[4]
Blokların neden işe yaradığını sınayan çalışmalardan ikisi öne çıkıyor:
- Price ve Barnes (2015) aynı programlama etkinliğini iki acemi grubuna, biri blok biri metin arayüzüyle yaptırdı. Arayüz öğrencilerin tutumunu ya da algıladıkları zorluğu değiştirmedi; ama blok arayüzünü kullananlar görevden daha az uzaklaştı ve daha kısa sürede daha çok hedef tamamladı.[5]
- Weintrop ve Wilensky (2015) lise öğrencilerine blok ve metin tabanlı programlamayı karşılaştırttı. Öğrenciler kolaylığı doğal dile yakın bloklara, sürükle-bırak etkileşimine ve dilin göz atarak keşfedilebilmesine bağladı; ama blok ortamını daha az "gerçek" ve daha az güçlü de buldular.[6]
Programlama öğreniminin genel etkisine bakan meta-analiz, programlama öğrenen öğrencilerin özellikle problem çözme ve mantıksal akıl yürütme gibi yakın becerilerde kazanım gösterdiğini buldu.[7] ISTE de öğrencilerden "bilgi işlemsel düşünür" olarak problemi adımlara bölmelerini ve otomasyonu kullanmalarını bekliyor.[8]
Öğretmen ve veliler için notlar
- Blok, son durak değil. Weintrop ve Wilensky'nin bulgusu, öğrencilerin bir noktada metin tabanlı dile geçmek isteyeceğini gösteriyor; blok ortamında kurulan döngü, koşul ve değişken kavramları bu geçişin temeli.[6]
- Önce kâğıt. Program tasarımın önce kâğıt üzerinde çizilmesini ve teknolojik altyapı yoksa etkinliklerin kâğıt üzerinde yapılmasını öneriyor.[1]
- Hata, sürecin parçası. Test etme ve hata ayıklama ayrı bir öğrenme çıktısı; çalışmayan bir program öğrenmenin kendisi.[1]
Temaya göre içerikler programın resmî sayfasında yayımlanıyor.[9] 6. sınıfın tamamı için BTY 6. sınıf konuları.
Özet
- Blok tabanlı programlama, komutların yazmak yerine yapboz parçası gibi sürükle-bırak bloklarla birleştirildiği programlama.
- Temel bloklar: hareket, olay, koşul (eğer-değilse), döngü, değişken ve fonksiyon (özel blok).
- BTY'de 5. sınıfta 24, 6. sınıfta 34 ders saati; 6. sınıfta yapay zekâ destekli blok projesi de var.
- Bloklar yalnız anlamlı biçimde birleşir; yazım hatası olmadığı için öğrenci mantığa odaklanır.
- Araştırmalar blok arayüzünün acemilerde görev süresini kısalttığını, ama metin tabanlı dile geçişin ayrıca planlanması gerektiğini gösteriyor.
Sık sorulan sorular
Blok tabanlı programlama nedir?
Komutların klavyeyle yazılmak yerine renkli bloklar hâlinde sürüklenip birleştirildiği programlama yöntemidir. Bloklar yapboz gibi yalnız anlamlı biçimde birbirine oturur.
Blok tabanlı programlama örnekleri nelerdir?
Scratch en bilinen örnektir. BTY programı belirli bir ürün adı vermez; eğitim odaklı ve öğretmen rehberliğinde kullanılmaya uygun bir blok tabanlı ortam önerir.
Blok tabanlı kodlamanın avantajları nelerdir?
Yazım hatası olmaz, komutlar doğal dile yakın okunur, öğrenci hangi blokların var olduğunu göz atarak keşfeder ve mantığa odaklanır.
Blok tabanlı programlamanın dezavantajı var mı?
Araştırmalarda öğrenciler blok ortamını metin tabanlı dillere göre daha az gerçekçi ve daha az güçlü bulabiliyor; büyük projelerde blok sayısı artınca okumak zorlaşıyor.
BTY'de fonksiyon nedir?
Tekrar eden komut gruplarını tek bir özel blok hâline getirmektir. 6. sınıf programında kodu kısaltma, okunur kılma ve yeniden kullanma amacıyla işlenir.
6. sınıfta blok tabanlı programlamada ne yapılıyor?
Gruplar bir proje fikri belirleyip planlıyor, hareket, koşul, döngü, değişken ve fonksiyon bloklarıyla tasarlıyor, test ediyor; yılın son projesi yapay zekâ destekli bir blok ürünü.
Kaynaklar
Kaynakça ayarları
İkisi de varsayılan olarak kapalıdır; seçiminiz bu tarayıcıda hatırlanır.
- 1
Millî Eğitim Bakanlığı Talim ve Terbiye Kurulu Başkanlığı (2025). Bilişim Teknolojileri ve Yazılım Dersi Öğretim Programı (5 ve 6. Sınıflar), Türkiye Yüzyılı Maarif Modeli 2025. ↑ Metinde: abcçdefgğhıi
Kaynak 1Bilişim Teknolojileri ve Yazılım Dersi Öğretim Programı (5 ve 6. Sınıflar), Türkiye Yüzyılı Maarif Modeli 2025
Millî Eğitim Bakanlığı Talim ve Terbiye Kurulu Başkanlığı (2025).
Temalar, öğrenme çıktıları, ders saatleri ve yüzdeleri; öğrenme-öğretme uygulamaları ve değerlendirme önerileri.
Yazıda kullanıldığı yerler
- Giriş
- Blok tabanlı programlama nedir?
- Temel bloklar ve kavramlar · 2 atıf
- 5. sınıf kazanımları · 2 atıf
- 6. sınıf: fonksiyon, proje ve yapay zekâ · 4 atıf
- Öğretmen ve veliler için notlar · 2 atıf
- 2
Resnick, M., Maloney, J., Monroy-Hernández, A. ve diğerleri (2009). Scratch: Programming for all. Communications of the ACM, 52(11), 60–67. ↑ Metinde göster
Kaynak 2Scratch: Programming for all
Resnick, M., Maloney, J., Monroy-Hernández, A. ve diğerleri (2009). Communications of the ACM, 52(11), 60–67.
Blok tabanlı programlama ortamı Scratch'in tasarım ilkeleri; bloklar yalnız sözdizimsel olarak anlamlı biçimde birleşir.
Yazıda kullanıldığı yerler
Kaynağı aç ↗
Tümünü gör · 7 kaynak dahaDaha az göster
- 3
Wing, J. M. (2006). Computational thinking. Communications of the ACM, 49(3), 33–35. ↑ Metinde göster
Kaynak 3Computational thinking
Wing, J. M. (2006). Communications of the ACM, 49(3), 33–35.
Bilgi işlemsel düşünmenin herkes için temel bir beceri olduğu görüşü.
Yazıda kullanıldığı yerler
Kaynağı aç ↗ - 4
Grover, S. ve Pea, R. (2013). Computational thinking in K–12: A review of the state of the field. Educational Researcher, 42(1), 38–43. ↑ Metinde göster
Kaynak 4Computational thinking in K–12: A review of the state of the field
Grover, S. ve Pea, R. (2013). Educational Researcher, 42(1), 38–43.
Okul düzeyinde bilgi işlemsel düşünmenin bileşenleri (soyutlama, algoritma, hata ayıklama vb.).
Yazıda kullanıldığı yerler
Kaynağı aç ↗ - 5
Price, T. W. ve Barnes, T. (2015). Comparing textual and block interfaces in a novice programming environment. Proceedings of the 11th Annual International Conference on International Computing Education Research (ICER), 91–99. ↑ Metinde göster
Kaynak 5Comparing textual and block interfaces in a novice programming environment
Price, T. W. ve Barnes, T. (2015). Proceedings of the 11th Annual International Conference on International Computing Education Research (ICER), 91–99.
Blok arayüzü kullanan acemi programcılar görevden daha az uzaklaştı ve daha kısa sürede daha çok hedef tamamladı.
Yazıda kullanıldığı yerler
Kaynağı aç ↗ - 6
Weintrop, D. ve Wilensky, U. (2015). To block or not to block, that is the question: Students' perceptions of blocks-based programming. Proceedings of the 14th International Conference on Interaction Design and Children, 199–208. ↑ Metinde: ab
Kaynak 6To block or not to block, that is the question: Students' perceptions of blocks-based programming
Weintrop, D. ve Wilensky, U. (2015). Proceedings of the 14th International Conference on Interaction Design and Children, 199–208.
Lise öğrencilerine göre blok tabanlı programlamayı kolaylaştıran etkenler (doğal dile yakın bloklar, sürükle-bırak, dili göz atarak keşfetme) ve sakıncaları (daha az "gerçek" ve daha az güçlü algısı).
Yazıda kullanıldığı yerler
Kaynağı aç ↗ - 7
Scherer, R., Siddiq, F. ve Sánchez Viveros, B. (2019). The cognitive benefits of learning computer programming: A meta-analysis of transfer effects. Journal of Educational Psychology, 111(5), 764–792. ↑ Metinde göster
Kaynak 7The cognitive benefits of learning computer programming: A meta-analysis of transfer effects
Scherer, R., Siddiq, F. ve Sánchez Viveros, B. (2019). Journal of Educational Psychology, 111(5), 764–792.
Programlama öğreniminin diğer bilişsel becerilere aktarımını inceleyen meta-analiz.
Yazıda kullanıldığı yerler
Kaynağı aç ↗ - 8
International Society for Technology in Education (ISTE) (2016). ISTE Standards: For Students. ↑ Metinde göster
Kaynak 8ISTE Standards: For Students
International Society for Technology in Education (ISTE) (2016).
Öğrenciler için dijital vatandaş, bilgi oluşturucu, bilgi işlemsel düşünür gibi yedi rol.
Yazıda kullanıldığı yerler
Kaynağı aç ↗ - 9
Millî Eğitim Bakanlığı (2026). Bilişim Teknolojileri ve Yazılım Dersi (Türkiye Yüzyılı Maarif Modeli öğretim programı sayfası). ↑ Metinde göster
Kaynak 9Bilişim Teknolojileri ve Yazılım Dersi (Türkiye Yüzyılı Maarif Modeli öğretim programı sayfası)
Millî Eğitim Bakanlığı (2026).
Programın resmî sayfası; temalara göre içerik.
Yazıda kullanıldığı yerler
Kaynağı aç ↗
Atıf
APA 7
BÖTE Editör Ekibi. (2026, 31 Ekim). Blok Tabanlı Programlama Nedir? BTY 5 ve 6. Sınıf. BÖTE Blog. https://bote.web.tr/blog/blok-tabanli-programlama
BibTeX
@online{bote-blok-tabanli-programlama,
author = {{BÖTE Editör Ekibi}},
title = {Blok Tabanlı Programlama Nedir? BTY 5 ve 6. Sınıf},
organization = {BÖTE Blog},
year = {2026},
date = {2026-10-31},
url = {https://bote.web.tr/blog/blok-tabanli-programlama},
langid = {turkish}
} Sitene göm
Atıf kartını kendi sitenize ya da ders sayfanıza ekleyin. Kart APA 7 ve BibTeX kaydını birlikte taşır.
Her sitede çalışır, JavaScript gerektirmez; bağlantı arama motorlarınca da görülür.
<blockquote class="bote-atif" cite="https://bote.web.tr/blog/blok-tabanli-programlama">
<p><strong><a href="https://bote.web.tr/blog/blok-tabanli-programlama">Blok Tabanlı Programlama Nedir? BTY 5 ve 6. Sınıf</a></strong> · BÖTE Blog</p>
<p>BÖTE Editör Ekibi. (2026, 31 Ekim). Blok Tabanlı Programlama Nedir? BTY 5 ve 6. Sınıf. <i>BÖTE Blog</i>. https://bote.web.tr/blog/blok-tabanli-programlama</p>
<details>
<summary>BibTeX</summary>
<pre>@online{bote-blok-tabanli-programlama,
author = {{BÖTE Editör Ekibi}},
title = {Blok Tabanlı Programlama Nedir? BTY 5 ve 6. Sınıf},
organization = {BÖTE Blog},
year = {2026},
date = {2026-10-31},
url = {https://bote.web.tr/blog/blok-tabanli-programlama},
langid = {turkish}
}</pre>
</details>
</blockquote> Hazır atıf kartı; yazı güncellendiğinde kart da kendiliğinden güncellenir.
<iframe src="https://bote.web.tr/blog/embed/blok-tabanli-programlama"
title="Blok Tabanlı Programlama Nedir? BTY 5 ve 6. Sınıf: atıf kartı (BÖTE Blog)"
width="100%" height="360" loading="lazy"
style="border:0;max-width:680px"></iframe> README, GitHub, Notion ve statik site üreticileri için.
> **[Blok Tabanlı Programlama Nedir? BTY 5 ve 6. Sınıf](https://bote.web.tr/blog/blok-tabanli-programlama)** · BÖTE Blog
>
> BÖTE Editör Ekibi. (2026, 31 Ekim). Blok Tabanlı Programlama Nedir? BTY 5 ve 6. Sınıf. *BÖTE Blog*. https://bote.web.tr/blog/blok-tabanli-programlama
```bibtex
@online{bote-blok-tabanli-programlama,
author = {{BÖTE Editör Ekibi}},
title = {Blok Tabanlı Programlama Nedir? BTY 5 ve 6. Sınıf},
organization = {BÖTE Blog},
year = {2026},
date = {2026-10-31},
url = {https://bote.web.tr/blog/blok-tabanli-programlama},
langid = {turkish}
}
``` React ve Next.js bileşeni.
const bibtex = `@online{bote-blok-tabanli-programlama,
author = {{BÖTE Editör Ekibi}},
title = {Blok Tabanlı Programlama Nedir? BTY 5 ve 6. Sınıf},
organization = {BÖTE Blog},
year = {2026},
date = {2026-10-31},
url = {https://bote.web.tr/blog/blok-tabanli-programlama},
langid = {turkish}
}`;
export function BoteAtif() {
return (
<blockquote className="bote-atif" cite="https://bote.web.tr/blog/blok-tabanli-programlama">
<p><a href="https://bote.web.tr/blog/blok-tabanli-programlama"><strong>Blok Tabanlı Programlama Nedir? BTY 5 ve 6. Sınıf</strong></a> · BÖTE Blog</p>
<p>BÖTE Editör Ekibi. (2026, 31 Ekim). Blok Tabanlı Programlama Nedir? BTY 5 ve 6. Sınıf. <i>BÖTE Blog</i>. https://bote.web.tr/blog/blok-tabanli-programlama</p>
<details>
<summary>BibTeX</summary>
<pre>{bibtex}</pre>
</details>
</blockquote>
);
} Vue 3 tek dosya bileşeni (Nuxt ile de çalışır).
<script setup>
const bibtex = `@online{bote-blok-tabanli-programlama,
author = {{BÖTE Editör Ekibi}},
title = {Blok Tabanlı Programlama Nedir? BTY 5 ve 6. Sınıf},
organization = {BÖTE Blog},
year = {2026},
date = {2026-10-31},
url = {https://bote.web.tr/blog/blok-tabanli-programlama},
langid = {turkish}
}`;
</script>
<template>
<blockquote class="bote-atif" cite="https://bote.web.tr/blog/blok-tabanli-programlama">
<p><a href="https://bote.web.tr/blog/blok-tabanli-programlama"><strong>Blok Tabanlı Programlama Nedir? BTY 5 ve 6. Sınıf</strong></a> · BÖTE Blog</p>
<p>BÖTE Editör Ekibi. (2026, 31 Ekim). Blok Tabanlı Programlama Nedir? BTY 5 ve 6. Sınıf. <i>BÖTE Blog</i>. https://bote.web.tr/blog/blok-tabanli-programlama</p>
<details>
<summary>BibTeX</summary>
<pre>{{ bibtex }}</pre>
</details>
</blockquote>
</template> Svelte ve SvelteKit bileşeni.
<script>
const bibtex = `@online{bote-blok-tabanli-programlama,
author = {{BÖTE Editör Ekibi}},
title = {Blok Tabanlı Programlama Nedir? BTY 5 ve 6. Sınıf},
organization = {BÖTE Blog},
year = {2026},
date = {2026-10-31},
url = {https://bote.web.tr/blog/blok-tabanli-programlama},
langid = {turkish}
}`;
</script>
<blockquote class="bote-atif" cite="https://bote.web.tr/blog/blok-tabanli-programlama">
<p><a href="https://bote.web.tr/blog/blok-tabanli-programlama"><strong>Blok Tabanlı Programlama Nedir? BTY 5 ve 6. Sınıf</strong></a> · BÖTE Blog</p>
<p>BÖTE Editör Ekibi. (2026, 31 Ekim). Blok Tabanlı Programlama Nedir? BTY 5 ve 6. Sınıf. <i>BÖTE Blog</i>. https://bote.web.tr/blog/blok-tabanli-programlama</p>
<details>
<summary>BibTeX</summary>
<pre>{bibtex}</pre>
</details>
</blockquote> Atıf verisini JSON olarak çekip sayfaya ekler.
// Sayfanızda <div id="bote-atif"></div> bulunmalı.
const yanit = await fetch("https://bote.web.tr/blog/atif/blok-tabanli-programlama.json");
const atif = await yanit.json();
const kutu = document.getElementById("bote-atif");
const baslik = Object.assign(document.createElement("a"), { href: atif.url, textContent: atif.title });
const apa = Object.assign(document.createElement("p"), { textContent: atif.apa });
const bib = Object.assign(document.createElement("pre"), { textContent: atif.bibtex });
kutu.append(baslik, apa, bib); APA 7 metnini yazdırır, BibTeX kaydını .bib dosyasına ekler.
import requests
atif = requests.get("https://bote.web.tr/blog/atif/blok-tabanli-programlama.json", timeout=10).json()
print(atif["apa"]) # APA 7
with open("kaynaklar.bib", "a", encoding="utf-8") as bib:
bib.write(atif["bibtex"] + "\n") # BibTeX biblatex ile APA 7 biçeminde kaynakça.
% 1) BibTeX kaydını kaynaklar.bib dosyasına ekleyin:
% @online{bote-blok-tabanli-programlama,
% author = {{BÖTE Editör Ekibi}},
% title = {Blok Tabanlı Programlama Nedir? BTY 5 ve 6. Sınıf},
% organization = {BÖTE Blog},
% year = {2026},
% date = {2026-10-31},
% url = {https://bote.web.tr/blog/blok-tabanli-programlama},
% langid = {turkish}
% }
% 2) Belgede APA 7 biçemiyle kullanın:
\documentclass{article}
\usepackage[style=apa]{biblatex}
\addbibresource{kaynaklar.bib}
\begin{document}
Ayrıntı için bkz. \parencite{bote-blok-tabanli-programlama}.
\printbibliography
\end{document} Yayın tarihi:
Bu yazı faydalı oldu mu?
Yorumlar
Henüz yorum yok.




