Bölüm 1 — Ek Sorular
Her ana başlık için 10 çoktan seçmeli değerlendirme sorusu. Bölüm sonu sınav veya pekiştirme amaçlıdır.
Ana Başlık 1 için 10 Soru
SORU 1: Algoritma için en uygun tanım hangisidir?
A) Rastgele seçilen renk listesi
B) Belirli bir hedefe giden sonlu, açık ve sıralı adımlar
C) Yalnızca fare tıklaması
D) CSS dosyasının adı
E) FPS değerinin kendisi
Doğru cevap: B
Genel açıklama: Bu soru ana başlık kazanımını ölçer. İlgili Konu: 1.1
SORU 2: Aşağıdaki yaklaşımlardan hangisi oyun sketch’inde daha sağlam bir geliştirmedir?
A) Konu dışı teknolojiye (biçim/dil dışı) sapıp temel kuralı atlamak
B) Öğrenilen p5.js API’si ile ölçülebilir bir oyun kuralı eklemek
C) draw içinde createCanvas tekrarlamak
D) Skoru her frame koşulsuz artırmak
E) Hata ayıklamadan uzun kodu olduğu gibi bırakmak
Doğru cevap: B
Genel açıklama: Geliştirme, öğrenilen araçlarla kural eklemeyi hedefler; alandan kopuk şıklar elenir. İlgili Konu: Pekiştirme
SORU 3: Yaratıcı kodlamanın eğitimdeki temel katkısı nedir?
A) Görsel çıktıyla kavramı hemen gözlemlenebilir kılmak
B) Klavyeyi tamamen kaldırmak
C) Matematığı yasaklamak
D) Yalnızca sunucu tarafı yazmak
E) Renk körlüğünü zorunlu kılmak
Doğru cevap: A
Genel açıklama: Bu soru ana başlık kazanımını ölçer. İlgili Konu: 1.3
SORU 4: “Basit bir oyun yap” ifadesi neden doğrudan talimat sayılmaz?
A) Çünkü alt adımlara bölünmeden uygulanamaz
B) Çünkü p5.js desteklemez
C) Çünkü tarayıcı kapanır
D) Çünkü frameCount yasaktır
E) Çünkü değişken kullanılamaz
Doğru cevap: A
Genel açıklama: Bu soru ana başlık kazanımını ölçer. İlgili Konu: 1.4
SORU 5: «Programlama, p5.js ve İlk Sketch» bağlamında hangisi daha iyi bir sonraki adım geliştirmedir?
A) Konu dışı bir CSS animasyonu eklemek
B) Mevcut sketch’e ölçülebilir bir kural (skor, sınır, durum) eklemek
C) Tuvali silip boş bırakmak
D) setup’ı tamamen kaldırmak
E) Rastgele sözdizimi hatası bırakmak
Doğru cevap: B
Genel açıklama: Geliştirme mevcut öğrenilen API ile kural ekler. İlgili Konu: 1.uygulama
SORU 6: Aşağıdaki hangi seçenek tipik bir çeldirici bug senaryosudur?
A) dist ile isabet, ardından skoru bir kez artırmak
B) draw içinde koşulsuz skor artışı
C) createCanvas’ı setup içinde bir kez çağırmak
D) background ile frame temizlemek
E) keyIsDown ile sürekli hareket
Doğru cevap: B
Genel açıklama: Koşulsuz artış her frame şişer — görünür bug. İlgili Konu: 1.uygulama
SORU 7: Kod okuma: if (x > width) { x = 0; } ne yapar?
A) Y’yi sıfırlar
B) X tuval sağını aşınca sola sarar
C) FPS’i sıfırlar
D) Fareyi kilitler
E) Diziyi temizler
Doğru cevap: B
Genel açıklama: Yatay sarma (wrap) kalıbı. İlgili Konu: 1.uygulama
SORU 8: Bu ana başlıkta (Programlama, p5.js ve İlk Sketch) hangi uygulama en uygundur?
A) Öğrenilen API’yi bilinçli yok sayıp rastgele hazır kütüphane çağırmak
B) Anlatılan kavramı küçük bir sketch’te görünür çıktıyla denemek
C) Konuyu yalnızca okuyup hiç kod yazmamak
D) Tuval boyutunu her frame rastgele değiştirmek
E) Hata ayıklamadan uzun kod kopyalamak
Doğru cevap: B
Genel açıklama: Seçenek konu başlığıyla örtüşür; diğerleri alandan kopuk. İlgili Konu: 1.uygulama
SORU 9: console.log ayıklamada asıl faydası nedir?
A) Tuval çözünürlüğünü artırır
B) Ara değerleri görüp yanlış varsayımı yakalamayı sağlar
C) Otomatik çarpışma ekler
D) draw’ı durdurur
E) Kaynakça üretir
Doğru cevap: B
Genel açıklama: Gözlemlenebilir ara durum. İlgili Konu: 1.uygulama
SORU 10: Bir fonksiyonu parametreli yazmanın faydası?
A) FPS’i kilitlemek
B) Aynı mantığı farklı argümanlarla yeniden kullanmak
C) setup’ı kaldırmak
D) HTML’i silmek
E) Rengi yasaklamak
Doğru cevap: B
Genel açıklama: Modülerlik ve yeniden kullanım. İlgili Konu: 1.uygulama
Ana Başlık 2 için 10 Soru
SORU 1: p5.js tuvalinde (0,0) noktası nerededir?
A) Sağ alt köşe
B) Sol üst köşe
C) Tuval merkezi
D) Tarayıcı başlığı
E) CSS margin
Doğru cevap: B
Genel açıklama: Bu soru ana başlık kazanımını ölçer. İlgili Konu: 2.1
SORU 2: setup ile draw farkı nedir?
A) İkisi de yalnızca bir kez çalışır
B) setup bir kez, draw her frame tekrarlanır
C) draw yalnızca farede çalışır
D) setup rengi yasaklar
E) Fark yoktur
Doğru cevap: B
Genel açıklama: Bu soru ana başlık kazanımını ölçer. İlgili Konu: 2.2
SORU 3: Aşağıdaki yaklaşımlardan hangisi oyun sketch’inde daha sağlam bir geliştirmedir?
A) Konu dışı teknolojiye (biçim/dil dışı) sapıp temel kuralı atlamak
B) Öğrenilen p5.js API’si ile ölçülebilir bir oyun kuralı eklemek
C) draw içinde createCanvas tekrarlamak
D) Skoru her frame koşulsuz artırmak
E) Hata ayıklamadan uzun kodu olduğu gibi bırakmak
Doğru cevap: B
Genel açıklama: Geliştirme, öğrenilen araçlarla kural eklemeyi hedefler; alandan kopuk şıklar elenir. İlgili Konu: Pekiştirme
SORU 4: fill(255, 0, 0) tipik olarak neyi ayarlar?
A) Tuval boyutunu
B) Sonraki şekillerin iç rengini (kırmızı)
C) FPS’i sıfırlar
D) Klavyeyi kilitler
E) Dosya adını değiştirir
Doğru cevap: B
Genel açıklama: Bu soru ana başlık kazanımını ölçer. İlgili Konu: 2.4
SORU 5: «Koordinat Sistemi, Çizim, setup ve draw» bağlamında hangisi daha iyi bir sonraki adım geliştirmedir?
A) Konu dışı bir CSS animasyonu eklemek
B) Mevcut sketch’e ölçülebilir bir kural (skor, sınır, durum) eklemek
C) Tuvali silip boş bırakmak
D) setup’ı tamamen kaldırmak
E) Rastgele sözdizimi hatası bırakmak
Doğru cevap: B
Genel açıklama: Geliştirme mevcut öğrenilen API ile kural ekler. İlgili Konu: 2.uygulama
SORU 6: Aşağıdaki hangi seçenek tipik bir çeldirici bug senaryosudur?
A) dist ile isabet, ardından skoru bir kez artırmak
B) draw içinde koşulsuz skor artışı
C) createCanvas’ı setup içinde bir kez çağırmak
D) background ile frame temizlemek
E) keyIsDown ile sürekli hareket
Doğru cevap: B
Genel açıklama: Koşulsuz artış her frame şişer — görünür bug. İlgili Konu: 2.uygulama
SORU 7: Kod okuma: if (x > width) { x = 0; } ne yapar?
A) Y’yi sıfırlar
B) X tuval sağını aşınca sola sarar
C) FPS’i sıfırlar
D) Fareyi kilitler
E) Diziyi temizler
Doğru cevap: B
Genel açıklama: Yatay sarma (wrap) kalıbı. İlgili Konu: 2.uygulama
SORU 8: Bu ana başlıkta (Koordinat Sistemi, Çizim, setup ve draw) hangi uygulama en uygundur?
A) Öğrenilen API’yi bilinçli yok sayıp rastgele hazır kütüphane çağırmak
B) Anlatılan kavramı küçük bir sketch’te görünür çıktıyla denemek
C) Konuyu yalnızca okuyup hiç kod yazmamak
D) Tuval boyutunu her frame rastgele değiştirmek
E) Hata ayıklamadan uzun kod kopyalamak
Doğru cevap: B
Genel açıklama: Seçenek konu başlığıyla örtüşür; diğerleri alandan kopuk. İlgili Konu: 2.uygulama
SORU 9: console.log ayıklamada asıl faydası nedir?
A) Tuval çözünürlüğünü artırır
B) Ara değerleri görüp yanlış varsayımı yakalamayı sağlar
C) Otomatik çarpışma ekler
D) draw’ı durdurur
E) Kaynakça üretir
Doğru cevap: B
Genel açıklama: Gözlemlenebilir ara durum. İlgili Konu: 2.uygulama
SORU 10: Bir fonksiyonu parametreli yazmanın faydası?
A) FPS’i kilitlemek
B) Aynı mantığı farklı argümanlarla yeniden kullanmak
C) setup’ı kaldırmak
D) HTML’i silmek
E) Rengi yasaklamak
Doğru cevap: B
Genel açıklama: Modülerlik ve yeniden kullanım. İlgili Konu: 2.uygulama
Ana Başlık 3 için 10 Soru
SORU 1: let skor = 0 ile const MAX = 10 için doğru ifade hangisidir?
A) İkisi de her frame yeniden tanımlanmalıdır
B) let yeniden atanabilir; const aynı bağa yeni değer atanamaz
C) const yalnızca string tutar
D) let yalnızca draw içinde geçerlidir
E) Fark yalnızca değişken adının uzunluğudur
Doğru cevap: B
Genel açıklama: const ile kurulan bağ yeniden atanamaz; let güncellenebilir. İlgili Konu: 3.1
SORU 2: can > 0 && !bitti ne zaman true olur?
A) can 0 ve bitti true iken
B) can pozitif ve bitti false iken
C) Yalnızca can negatifken
D) Yalnızca bitti true iken
E) Her frame zorunlu true
Doğru cevap: B
Genel açıklama: && her iki yanın true olmasını ister; !bitti bitmemiş demektir. İlgili Konu: 3.2
SORU 3: Aşağıdaki hangi satır karşılaştırma yapar (atama değil)?
A) x = 5
B) x === 5
C) x = x + 1
D) const x = 5
E) x += 5
Doğru cevap: B
Genel açıklama: === sıkı eşitlik üretir; tek = atamadır. İlgili Konu: 3.2
SORU 4: if / else if / else zincirinde else ne zaman çalışır?
A) Her zaman ilk if ile birlikte
B) Önceki tüm koşullar false ise
C) Yalnızca fare tıklanınca
D) Yalnızca setup içinde
E) Hiçbir zaman; sözdizimi hatasıdır
Doğru cevap: B
Genel açıklama: else kalan durumları yakalar. İlgili Konu: 3.3
SORU 5: skor = skor + 1 ile skor == skor + 1 farkı nedir?
A) İkisi de skoru bir artırır
B) İlki atar; ikincisi (genelde false) karşılaştırma üretir
C) İkisi de string birleştirir
D) İkincisi FPS’i artırır
E) İlki yalnızca const ile çalışır
Doğru cevap: B
Genel açıklama: == karşılaştırır; artırması beklenen yerde atama kullanılmalıdır. İlgili Konu: 3.2
SORU 6: Boolean ifade sonucu olarak hangisi doğrudur?
A) 3 < 2 → true
B) 10 >= 10 → true
C) "a" === "b" → true
D) true && false → true
E) !true → true
Doğru cevap: B
Genel açıklama: 10, 10’a büyük eşittir. İlgili Konu: 3.2
SORU 7: || operatörü için doğru örnek hangisidir?
A) can > 0 || can > 0 yalnızca can negatifken true
B) tusA || tusB — en az biri true ise true
C) || her zaman false döndürür
D) || yalnızca sayıları toplar
E) || atama operatörüdür
Doğru cevap: B
Genel açıklama: VEYA: taraflardan biri yeterli. İlgili Konu: 3.2
SORU 8: Oyun kodunda skor artışı hangi bağlamda daha güvenlidir?
A) draw içinde koşulsuz skor = skor + 1
B) Tetikleyici olay/koşul sağlandığında bir kez artırma
C) Yalnızca dosya adını değiştirerek
D) createCanvas her frame çağrılarak
E) background rengini skor yapmak
Doğru cevap: B
Genel açıklama: Koşulsuz artış her frame şişer. İlgili Konu: 3.3
SORU 9: else if atlanırsa ne olur?
A) Önceki if true olsa bile else if çalışır
B) Önceki dal true ise sonraki else if denenmez
C) Program çöker
D) draw durur
E) Tuval silinir
Doğru cevap: B
Genel açıklama: Zincir kısa devre eder. İlgili Konu: 3.3
SORU 10: Aşağıdaki hangisi tipik bir mantık hatasıdır (sözdizimi değil)?
A) Eksik süslü parantez
B) Duvara çarpınca hizX = hizX yazıp yönü tersine çevirmemek
C) Tanımsız fonksiyon adı
D) let yerine geçersiz anahtar sözcük
E) String’i kapatmamak
Doğru cevap: B
Genel açıklama: Kod çalışır ama istenen oyun kuralı oluşmaz. İlgili Konu: 3.3
Ana Başlık 4 için 10 Soru
SORU 1: Daireye tıklama testi için en doğru yaklaşım hangisidir?
A) mouseX === daireX tek başına yeterli
B) dist(mouseX, mouseY, daireX, daireY) <= yaricap
C) frameCount > yaricap
D) keyIsDown(LEFT_ARROW)
E) background(daireX)
Doğru cevap: B
Genel açıklama: Mesafe yarıçaptan küçük/eşitse isabet vardır. İlgili Konu: 4.1
SORU 2: Skorun bir basışta birden fazla artmasını önlemek için ne yapılır?
A) Artışı draw içinde mouseIsPressed ile sürekli yapmak
B) Artışı mousePressed (veya kenar tetiklemeli) olayda bir kez yapmak
C) frameRate(1) zorunlu kılmak
D) createCanvas’ı kaldırmak
E) Skoru const yapmak ve hiç artırmamak
Doğru cevap: B
Genel açıklama: draw + basılı tutma tekrarlı artış üretir. İlgili Konu: 4.1
SORU 3: mouseX / mouseY neyi verir?
A) Tuval genişliğini
B) İmlecin tuval üzerindeki konumunu
C) Son kaydedilen dosya yolunu
D) FPS değerini
E) Yalnızca son ellipse yarıçapını
Doğru cevap: B
Genel açıklama: Sistem değişkenleri imleç konumudur. İlgili Konu: 4.1
SORU 4: İsabet sonrası hedef yenilemede tipik adım nedir?
A) setup’ı silmek
B) Yeni rastgele daireX / daireY atamak
C) draw’ı yorum satırı yapmak
D) Yalnızca stroke kalınlığını artırmak
E) dist fonksiyonunu tanımlamaktan vazgeçmek
Doğru cevap: B
Genel açıklama: Hedef yeni konuma taşınır. İlgili Konu: 4.2
SORU 5: text(skor, 20, 30) ne işe yarar?
A) Tuval boyutunu değiştirir
B) Skoru ekrana yazar
C) Fareyi kilitler
D) Diziyi sıralar
E) setup’ı iki kez çağırır
Doğru cevap: B
Genel açıklama: text metin çizer. İlgili Konu: 4.1
SORU 6: Yarıçap 40 iken dist(...) === 40 durumu ne anlama gelir?
A) Kesinlikle isabet yok
B) Sınır üzerinde (genelde isabet kabul edilebilir)
C) Tuval dışına çıkılmıştır
D) mousePressed zorunlu false
E) FPS 40’tır
Doğru cevap: B
Genel açıklama: <= ile sınır dahil edilir. İlgili Konu: 4.1
SORU 7: Daire Tıklama’da random(width) kullanımı için doğru gerekçe?
A) FPS’i sabitlemek
B) Hedefi yatayda rastgele konumlandırmak
C) dist’i devre dışı bırakmak
D) const zorunluluğu
E) Konsolu temizlemek
Doğru cevap: B
Genel açıklama: Rastgele X üretir. İlgili Konu: 4.2
SORU 8: Aşağıdaki hangi hata isabeti yanlış negatif yapar (vurduğu hâlde saymama)?
A) Yarıçapı olduğundan büyük yazmak
B) Yarıçapı olduğundan küçük yazmak veya merkez koordinatını yanlış tutmak
C) fill rengini değiştirmek
D) textSize artırmak
E) noStroke() kullanmak
Doğru cevap: B
Genel açıklama: Geometri uyuşmazlığı isabeti kaçırır. İlgili Konu: 4.1
SORU 9: mouseIsPressed ile mousePressed() farkı?
A) Fark yoktur
B) İlki sürekli durum; ikincisi basış olayı (fonksiyon)
C) İkisi de yalnızca klavye içindir
D) mousePressed yalnızca setup’ta çalışır
E) mouseIsPressed string döndürür
Doğru cevap: B
Genel açıklama: Durum vs olay ayrımı kritiktir. İlgili Konu: 4.1
SORU 10: Geliştirme: skora ek olarak can sistemi eklemek için en uygun yer?
A) Yalnızca HTML dosya adı
B) İsabet/kaçırma koşullarına bağlı değişken güncellemesi
C) createCanvas parametresini can yapmak
D) ellipse yarıçapını can sanmak
E) CSS class adı
Doğru cevap: B
Genel açıklama: Oyun kuralı koşula bağlanır. İlgili Konu: 4.2
Ana Başlık 1 — Açık Uçlu
A1. «Programlama, p5.js ve İlk Sketch» konusundaki merkezi kavramı kendi cümlelerinizle açıklayın ve bunu somut bir mini oyun / sketch örneğine bağlayın.
A2. «Programlama, p5.js ve İlk Sketch» için küçük bir varyasyon tasarlayın (yeni kural, sınır durumu veya görsel geri bildirim). Hangi fonksiyonlar değişir? Madde madde yazın.
A3. Bu ana başlıkta sık yapılan bir yanlış varsayımı (yanlış indeks, sıra, durum veya veri modeli) seçin; neden hatalı olduğunu ve doğru yaklaşımı iki–üç cümleyle yazın.
Ana Başlık 2 — Açık Uçlu
A1. «Koordinat Sistemi, Çizim, setup ve draw» konusundaki merkezi kavramı kendi cümlelerinizle açıklayın ve bunu somut bir mini oyun / sketch örneğine bağlayın.
A2. «Koordinat Sistemi, Çizim, setup ve draw» için küçük bir varyasyon tasarlayın (yeni kural, sınır durumu veya görsel geri bildirim). Hangi fonksiyonlar değişir? Madde madde yazın.
A3. Bu ana başlıkta sık yapılan bir yanlış varsayımı (yanlış indeks, sıra, durum veya veri modeli) seçin; neden hatalı olduğunu ve doğru yaklaşımı iki–üç cümleyle yazın.
Ana Başlık 3 — Açık Uçlu
A1. «Değişkenler, Operatörler ve Koşullu İfadeler» konusundaki merkezi kavramı kendi cümlelerinizle açıklayın ve bunu somut bir mini oyun / sketch örneğine bağlayın.
A2. «Değişkenler, Operatörler ve Koşullu İfadeler» için küçük bir varyasyon tasarlayın (yeni kural, sınır durumu veya görsel geri bildirim). Hangi fonksiyonlar değişir? Madde madde yazın.
A3. Bu ana başlıkta sık yapılan bir yanlış varsayımı (yanlış indeks, sıra, durum veya veri modeli) seçin; neden hatalı olduğunu ve doğru yaklaşımı iki–üç cümleyle yazın.
Ana Başlık 4 — Açık Uçlu
A1. «Fare Girdisi ve Daire Tıklama Oyunu» konusundaki merkezi kavramı kendi cümlelerinizle açıklayın ve bunu somut bir mini oyun / sketch örneğine bağlayın.
A2. 03-daire-tiklama örneğini temel alarak bu ana başlığa özgü bir kural veya görsel geri bildirim ekleyin; değişen satırları madde madde yazın.
A3. Bu ana başlıkta sık yapılan bir yanlış varsayımı (yanlış indeks, sıra, durum veya veri modeli) seçin; neden hatalı olduğunu ve doğru yaklaşımı iki–üç cümleyle yazın.