Harun Reşit Zafer

bâki kalan bu kubbede bir hoş sadâ imiş

Programlama Ödevleri Nasıl Değerlendirilmeli

Öğrencilerle zaman zaman yaşadığımız bir tartışma konusu ödevlerin yazılan koda göre mi yoksa kodun çalışmasına göre mi değerlendirileceği. Çok defa doğru çalışmayan hatta derlenmeyen kodlar için puan talepleri oluyor. Hemen ifade edeyim ki programlama sınavları koda göre, programlama ödevleri ise kodun çalışmasına göre değerlendirilir. Yazılı sınav esnasında kodun genel mantığı doğru ise, bence tam puan bile alabilmeli öğrenci. Yani ufak tefek hatalar tamamen göz ardı edilebilir. Ancak ödevin amacı öğrenciye uygulama yaptırmak, yani bilgisayarın başına geçip gerçekten çalışan bir şeyler programlamasını sağlamak. Üstelik verilen süre bir-iki saat değil 1-2 hafta kadar.

Bence öğrencilerin bu itirazı yapmalarının ve kendilerini haksızlığa uğramış hissetmelerinin temel sebebi bilgisayar mühendisliği bölümlerindeki (birçok üniversitedeki) hocalar ve asistanlar arasında genel bir standardın belirlenmemiş olması. Öyle ki bazı hocalar programı test etmek yerine, kodun çıktısını isteyip kâğıt üzerinden programı değerlendirmeye çalışıyorlar. Bilgisayar teknolojileri kâğıt kullanımını giderek azaltırken bilgisayar mühendisliği bölümünde kodun çıktısını istemenin nasıl bir mantığı olabilir? Kaldı ki kodu kâğıttan bakarak (gerçekten) değerlendirmek için insanın derleyici (compiler) olması gerekmez mi?

Ayrıca kodların elektronik biçimleri olmadan, Jplag ve benzeri programlarla kopya/alıntı/çalıntı denetimi yapmak da mümkün değil.

Sonuç olarak hem öğrencilere hem de öğretmenlere bir kaç tavsiyem olacak:

Öğretmenlere

— Ödev föyleri iyi hazırlanmalı. Föyde ödevin konusu, problem, istenilen çözüm, teslim şekli ve değerlendirme kriterleri ayrı alt başlıklar halinde açıkça belirtilmeli.

— Föy formatı bölüm genelinde standart hale gelmeli. Bölümde genel bir kültür oluşmalı.

— Ödevler kopya çekmeyi zorlaştıracak şekilde hazırlanmalı. Evet, biraz üretken olmalı ve yeni şeyler üretmeliyiz. Hala hesap makinesi ödevi vermenin anlamı ne? Bu tür klasik örnekler ders anlatımı sırasında kullanılmalı ki öğrencinin anlaması da kolay olsun.

— Ödevden beklenen en az 4–5 işlev olmalı ve her birinin ayrı birer puanı olmalı. Birini yapamayan bir diğerinden puan alabilmeli. Değerlendirme sırasında her işlev ayrı ayrı test edilip değerlendirilmeli.

Öğrencilere

— Kodlarken adım adım ilerleyin. Programınızı küçük parçalara ayırın, sonra o parçaları daha küçük parçalara, yani fonksiyonlara (nesneye yönelik yazanlar için sınıf ve metotlara) bölün.

— Ödevin tamamını çalışmayacak veya kötü çalışacak şekilde kodlamak yerine daha azını tam çalışır şekilde kodlamayı tercih edin.

— Ödevlere hemen başlayın. Problemlerin büyük kısmı geç başlamaktan kaynaklanıyor aslında.

— Unutmayın, yarın işe girdiğinizde patronunuza ya da müşterilerinize hatalı çalışan programınız için “ama çok uğraşmıştım”, “sadece dosyayı kapatmayı unutmuşum”, “ufak bir pointer hatası” vb. mazeretler öne süremezsiniz.

Herkese kolay gelsin

Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedInPrint this pageEmail this to someone

1 Yorum

  1. Cok guzel oneriler.. Umarim bizim hocalar da kagittan kod isteme gelenegine son verirler bir an once.

Bir Cevap Yazın

E-posta adresiniz yayınlanmayacak

*

© 2017 Harun Reşit Zafer

Temayı tasarlayanAnders NorenYukarı ↑