AP Computer Science Principles sınavının en ayırt edici bileşeni, öğrencinin sıfırdan bir program geliştirdiği Create Performance Task'tır. Bu performans görevi, toplam sınav puanının %30'unu oluşturur ve iki ayrı görevden ilkidir. Çoğu aday, kodlama becerisinin yeterli olduğunu düşünerek sınava hazırlanır. Oysa rubrik incelendiğinde görülür ki, sınav komitesi yalnızca işleyen bir program değil, soyutlama yoluyla yaratılmış bir çözüm ve özgün bir yenilik arar. Bu makalede, Create Performance Task'ın puanlama kriterlerini açıkça parçalara ayıracak, her birrow abstraction, program function ve innovation başlıklarının tam olarak ne istediğini inceleyecek, ardından adayların sıklıkla düştüğü tuzakları ve bunlardan kaçınma yollarını göstereceğiz.
Create Performance Task yapısı: Üç bileşen, tek bir değerlendirme
Create Performance Task toplamda altı puan üzerinden değerlendirilir. Bu altı puan, üç ayrı bileşenin her birinden iki puan alınarak hesaplanır. Bileşenler birbirinden bağımsız görünse de, gerçek sınav değerlendirmesinde birbirine bağlı bir anlatı oluşturur. Yani video, yazılı yanıtlar ve program kodu üç farklı pencereden aynı hikâyeye bakmalıdır.
Bileşen 1: Program video
Video bileşeni, geliştirdiğiniz programın 30 saniyelik bir çalışma kaydını içerir. Bu kısımda izleyiciye yalnızca programın ne yaptığını göstermeniz yeterli değildir. Rubrik burada procedure and feature ifadesini kullanır: programınızın hangi prosedürü yerine getirdiği ve bu prosedürün neden anlamlı bir işlev gördüğü görünür olmalıdır. Yani video çekerken sadece ekran kaydı yapmak yerine, programın çıktısını ve bu çıktının kullanıcıya sağladığı değeri gösteren bir sahne dizisi kurmalısınız.
Bileşen 2: Yazılı yanıtlar (Written responses)
Yazılı yanıtlar üç ayrı parçadan oluşur ve toplamda belirli bir kelime sınırı vardır. Birinci yanıt, programınızın genel yapısını ve kullandığınız veri kavramlarını açıklar. İkinci yanıt, kodunuzdaki önemli bir soyutlama parçasının neden ve nasıl çalıştığını açıklar. Üçüncü yanıt ise programınızın innovation yönünü — yani neden mevcut bir çözümden farklı veya daha iyi olduğunu — ele alır. Her üç yanıtta da ortak bir kural geçerlidir: kodu anlatmak ile kodu açıklamak aynı şey değildir.
Bileşen 3: Program kodu
Program kodu bileşeni, en az 20 satır aktif kod içermelidir. Pasif yorum satırları veya boşluklar bu sayıya dahil edilmez. Ayrıca kodunuzda kullanılan liste, döngü, koşullu ifade ve fonksiyon gibi yapılar, yazılı yanıtlarda bahsettiğiniz soyutlama düzeyiyle tutarlı olmalıdır. Rubrik, kodun developed yani öğrenci tarafından geliştirilmiş olmasını zorunlu kılar. Başkasının kodunu küçük değişikliklerle sunmak bu kriteri karşılamaz.
Puanlama rubriği: Altı puanın anatomisi
Create Performance Task'ın puanlama tablosu, her bir bileşen için 0 ile 2 arasında puan verildiğini gösterir. Bu sayılar toplanarak toplam altı puan elde edilir. Ancak burada kritik bir nokta vardır: dört veya daha üstü puan alabilmek için üç bileşenin her birinden en az 1 puan almanız gerekir. Yani iki bileşende 2 puan, bir bileşende 0 puan aldığınızda toplam 4 puan olsa bile, bu puan geçerli sayılmaz. Bu kural, öğrencilerin tüm bileşenlere eşit özen göstermesini sağlar.
| Puan | Program Function & Complexity | Data Abstraction | Procedural Abstraction | Innovation & Impact |
|---|---|---|---|---|
| 2 | Program belirli bir karmaşıklık gösterir, tüm gereksinimleri karşılar | Bileşik bir veri yapısı (liste veya sözlük) açıkça tanımlanmış ve kullanılmıştır | Fonksiyon kendi parametre ve dönüş değerine sahiptir; kodun diğer bölümlerinden bağımsız çalışır | Program, gerçek bir dünya problemini çözer veya mevcut bir yaklaşımı anlamlı biçimde geliştirir |
| 1 | Program çalışır ancak sınırlı işlevsellik veya düşük karmaşıklık gösterir | Veri yapısı mevcuttur ancak soyutlama düzeyi eksiktir | Fonksiyon vardır ancak parametre veya dönüş değeri yeterince tanımlanmamıştır | Program bir problem çözer ancak innovation boyutu zayıftır |
| 0 | Program çalışmaz veya hiçbir önemli işlev gerçekleştirmez | Bileşik veri yapısı yoktur veya kullanılmamıştır | Kendine ait fonksiyon yoktur; kod doğrudan ana bloğa yazılmıştır | Program veya açıklama eksiktir |
Abstraction kriteri neden en sık kaybedilen puandır
Create Performance Task'ta en çok puan kaybı yaşanan alan abstraction kriteridir. Bunun temel nedeni, adayların çoğunun abstraction kavramını yanlış anlamasıdır. Abstraction, bir şeyi saklamak değil, bir şeyi temsil etmektir. Bir fonksiyon yazıp içindeki detayları gizlemek abstraction değildir; fonksiyonun ne yaptığını, neden yazıldığını ve hangi veri kümesi üzerinde çalıştığını temsil eden bir isim ve açıklama vermektir.
Data abstraction'da liste kullanımı
Data abstraction kriterinde 2 puan alabilmek için programınızda en az bir bileşik veri yapısı — çoğu durumda bir liste — kullanmalısınız. Liste kullanmak tek başına yeterli değildir; listenin programınızdaki rolü yazılı yanıtta açıkça tanımlanmalıdır. Örneğin, bir quiz uygulamasında soruları tek tek değişkenlerde tutmak yerine bir listede tutmak, o listenin bir soyutlama olduğunu kabul etmek demektir. Soru listesi, tek tek soru değişkenlerinin karmaşıklığını tek bir veri yapısında toplar ve böylece programcının bu listeyle nasıl çalışacağını bilmesi yeterlidir. Listenin içeriği değişse bile, programın soru listesiyle nasıl etkileşeceği aynı kalır.
Procedural abstraction'da fonksiyon tasarımı
Procedural abstraction kriteri, özellikle fonksiyonların parametre ve dönüş değeri açısından değerlendirilmesini içerir. 2 puan alan bir fonksiyon şu özelliklere sahip olmalıdır: girdi olarak ne aldığı açıkça belirtilmeli, bu girdiyi nasıl işlediği fonksiyon içinde tanımlanmış olmalı ve sonuç olarak ne döndürdüğü yazılı yanıtta ifade edilmelidir. Örneğin, calculate_average(scores) fonksiyonu bir liste alır, listedeki sayıların ortalamasını hesaplar ve bu ortalamayı döndürür. Bu fonksiyonun abstraction gücü, fonksiyonu çağıran kodun ortalamanın nasıl hesaplandığını bilmesine gerek olmamasından gelir.
Innovation kriteri: Yaratıcılık mı yoksa özgünlük mü
Innovation kriteri, adayların en çok tereddüt ettiği ancak en az anladığı kriterdir. Rubrik burada yaratıcı bir fikir beklemez; özgün bir uygulama ve gerçek bir etki ister. Yani programınız tamamen orijinal bir konsept olmak zorunda değildir. Var olan bir fikri alıp, belirli bir kullanıcı grubunun ihtiyacına göre özelleştirmeniz innovation için yeterlidir.
Bir örnekle açıklayalım: Diyelim ki standart bir not takip uygulaması yazdınız. Bu uygulamanın innovation puanı düşük kalır çünkü mevcut bir çözümün aynısıdır. Ancak aynı not takip uygulamasını, yalnızca görsel öğrenen öğrenciler için tasarlanmış bir renk kodlu sistemle birleştirir ve bu sistemin öğrenme verimliliğine nasıl katkı sağladığını açıklarsanız, innovation puanınız yükselir. Kriter, uygulamanızın niçin mevcut çözümlerden farklı olduğunu ve kimlere değer kattığınızı açıklamanızı bekler.
Yazılı yanıtlarda en yaygın hatalar ve düzeltme yolları
Create Performance Task'ın yazılı yanıtları, sınav sonrasında öğretmen tarafından değil, College Board tarafından uzaktan puanlanır. Bu süreçte yanıtlarınızın doğrudan rubrike karşılık gelip gelmediği değerlendirilir. İşte adayların en sık yaptığı beş hata:
- Genel açıklama yapmak: Yanıtta "Ben bir oyun yaptım ve bu oyunda puan toplama sistemi var" gibi genel ifadeler kullanmak, rubrike özgü kanıt sağlamaz. Her ifadenin kodunuzdaki hangi bölümü karşıladığını göstermeniz gerekir.
- Soyutlama düzeyini kaçırmak: "Kodumda bir liste kullandım" demek yeterli değildir. Listenin neden bu bağlamda bir soyutlama olduğunu, listenin programınızın karmaşıklığını nasıl yönettiğini açıklamalısınız.
- Video ve yazılı yanıt arasında tutarsızlık: Videoda gösterdiğiniz özelliğin yazılı yanıtta farklı anlatılması, rubrik değerlendirmesinde çelişki olarak algılanır. Tüm bileşenlerde aynı program parçasından ve aynı işlevden bahsedin.
- Yetersiz kelime kullanımı: Kelime sınırının çok altında kalan yanıtlar, kriterlerin yeterince açıklanmadığı gerekçesiyle düşük puan alır. Her kriter için en az 3-4 cümle ayırın.
- Kod satırlarını yanıtlarda tekrarlamak: Kodu kopyalayıp yapıştırmak yerine, kodun ne yaptığını ve neden önemli olduğunu açıklayın. Rubrik, açıklamanın kendisini değerlendirir, kodu değil.
Explore Performance Task ile ilişki: Neden iki görev de önemli
AP CSP'deki ikinci performans görevi olan Explore Performance Task, öğrencinin bir computing innovation araştırmasını içerir. Create görevindeki programınızın innovation kriterini güçlendirmek istiyorsanız, Explore görevinde araştırdığınız innovation ile Create görevinde geliştirdiğiniz program arasında bilinçli bir bağlantı kurabilirsiniz. Bu bağlantı rubrike aykırı değildir; aksine, computing alanındaki gelişmelerin birbirini nasıl etkilediğini gösteren bir computing mindset işaretidir.
Create Performance Task için dört haftalık hazırlık planı
Etkili bir hazırlık planı, performans görevinin her bileşenini ayrı ayrı güçlendirmeyi hedeflemelidir. Aşağıdaki plan, beş haftalık bir zaman dilimi için tasarlanmıştır:
- Hafta 1-2: Tasarım ve planlama. Programınızın ne yapacağını belirleyin. Hangi veri yapılarını kullanacağınızı ve bunların neden bir soyutlama oluşturduğunu yazılı olarak not edin. Innovation boyutunu düşünün: Bu program kimlere, nasıl bir fark yaratacak?
- Hafta 2-3: Kod geliştirme. Programı yazarken her fonksiyonun ne yaptığını ve hangi soyutlama düzeyinde çalıştığını düşünerek ilerleyin. Kodda en az bir liste ve bir fonksiyon bulundurun.
- Hafta 3: Yazılı yanıtlar. Her bir yazılı yanıt için rubrik kriterlerini yanınızda bulundurun. Yazdığınız her cümlenin rubrikteki hangi ifadeye karşılık geldiğini işaretleyin.
- Hafta 4: Video ve son düzenleme. Videoyu çekmeden önce, ekranda hangi özelliğin görüneceğini planlayın. Video, yazılı yanıtlarda bahsettiğiniz program parçasını göstermelidir. Tüm bileşenleri bir arada okuyarak tutarsızlık olup olmadığını kontrol edin.
AP CSP Create Performance Task ve AP Computer Science A farkı
AP Computer Science A sınavı, Java programlama dilinde nesne yönelimli programlama becerilerini ölçer ve ağırlıklı olarak çoktan seçmeli sorular ile Free Response Questions'tan oluşur. Create Performance Task bu sınavda yoktur. AP CSP ise program geliştirme sürecinin kendisini, soyutlama kullanımını ve innovation düşüncesini değerlendirir. Bu iki sınav birbirini dışlamaz; aksine, AP CSP'nin geniş kavramsal çerçevesi üzerine AP CSA'nın derin teknik becerileri inşa edilebilir. Üniversiteler genellikle AP CSP'yi sosyal bilimler veya işletme bölümlerine başvuran öğrenciler için, AP CSA'yı ise mühendislik veya bilgisayar bilimi bölümlerine başvuran öğrenciler için önerir.
| Özellik | AP CSP | AP CSA |
|---|---|---|
| Ağırlık | Kavramsal anlayış, soyutlama, innovation | Java syntax, algoritma, veri yapıları |
| Performans görevi | Create + Explore Performance Tasks (%30) | Yok (Free Response Questions mevcut) |
| Program dili | Serbest (Python, JavaScript, vb.) | Java (zorunlu) |
| Sınav formatı | Çoktan seçmeli (70 soru) + 2 performans görevi | Çoktan seçmeli (40 soru) + 4 FRQ |
| Önerilen alan | Dijital okuryazarlık, genel STEM | Mühendislik, bilgisayar bilimi |
Bu karşılaştırma, AP CSP'nin teknik kodlama becerisinden çok hesaplamalı düşünme ve problem çözme yaklaşımı üzerine odaklandığını açıkça ortaya koyar. Dolayısıyla Create Performance Task'ta başarılı olmak için kod yazma yetkinliğinizin yanı sıra, neden bu kodun belirli bir soyutlama düzeyinde yazıldığını ve kim için çözüm ürettiğinizi açıklayabilmeniz gerekir.
AP Özel Ders'in one-to-one AP Computer Science Principles programında, Create Performance Task'ın her bir rubrik kriterini öğrencinin kendi programı üzerinden analiz ediyoruz. Böylece abstraction için hangi veri yapısının seçildiği, procedural abstraction için fonksiyonun neden o parametrelere sahip olduğu ve innovation için programın hangi gerçek dünya problemini çözdüğü, öğrenci tarafından yazılıp puanlandırılana kadar birlikte çalışılır. Hedefiniz 5 üzerine ise, her bir bileşenin 2/2 puan aldığı bir portföy hazırlamak kaçınılmazdır — ve bu, rastgele kod yazarak değil, rubrike bilinçli biçimde yaklaşarak mümkündür.