Ödevler

Github Classroom üzerinden sunulan programlama ödevleri nasıl hazırlandığı aşağıdaki video'da özetlenmiştir. (Tam ekran izlemenizi öneririz.)

Öğrencilerin bu şekilde sunulan ödevler üzerinde nasıl çalışacakları ders sayfalarında anlatılmıştır. Ödevler verilmeye başlanmadan önce öğrencileri bu kılavuzu baştan sona okumaya yönlendirmek çalışma akışının sağlıklı yürümesi açısından gereklidir.

Konvansiyonlar

Ödev hazırlarken Video'da düşülen notlarda da kısaca değinildiği gibi aşağıdaki hususlara özellikle dikkat edilmelidir.

  1. Derslerde https://github.com/19 organizasyonunu kullanıyoruz.

  2. Organizasyonda adı konvansiyonel olarak . ile başlayan ve ödevlerde şablon olarak kullanılan depolar tanımlanabilir, ör. C programlama derslerinde .c şablon deposu. Ödev sorularında eğer varsa ilgili programlama diline ait böyle bir şablonu kullanın.

  3. Şablondan türetilen ödev deposunda adı çoğunlukla assignment.<UZANTI> veya <DEPO-ADI>.<UZANTI> olan ve öğrenciden ödev üzerinde çalışırken kodlaması istenen bir "ana kaynak kod" bulunmaktadır. Bu konvansiyon sayesinde öğrencinin ödevi rastgele dosyalarla yapması önlenmektedir. Ana kaynak kodda örnek girdiler de bulunabilir.

  4. Ödeve ait soru metni daima depo kökünde bulunan README.md dosyasına girilir. Ödev metinlerini kısa, açık ve anlaşılır yazmak çok önemlidir. Aksi halde öğrenciden çok fazla soru veya itiraz almanız kaçınılmazdır.

  5. Ödevleri sadece İngilizce küçük harf, rakam ve tire karakterlerinden oluşan basit isimler olarak oluşturun. Türkçe karakter ve boşluk karakterlerinden özellikle kaçının. Büyük harf kullanılmasını da önermiyoruz.

  6. Github "autograding action"ında hali hazırda bulunan bir programlama hatasından dolayı test adlarında Türkçe karakter kesinlikle kullanmayın. Boşluk veya noktalama işaretleri (en azından bir kısmını) kullanabilirsiniz.

  7. Otomatik değerlendirme testlerinde basit olarak aşağıda özetlenen 3 adımı kullanıyoruz. Bu şemanın dışına çıkabilirsiniz, fakat bu ödev değerlendirme karmaşıklığını arttırabileceğinden önermiyoruz. Basit 3 adımlı değerlendirme Classroom çalışma ortamındaki betiklerle desteklenen "streamline" edilmiş bir yapı sunmaktadır.

    • Valid?: Ödev tesliminin gerek şartları sağlayıp sağlamadığını test eden en temel adım, ör. C ödevlerinde teslim edilen kodun başarıyla derlenebilmesi.

    • Good?: Ödev teslimindeki kodların stil kurallarına ve geçerli pratiklere uygunluğunu denetleyen adım, ör. C ödevlerinde kodun uyarı üretmeden derlenebilmesi ve biçiminin (girintiler vb) doğru olması.

    • Correct?: Ödev teslimindeki kodun soruda istenen tüm koşulları sağladığını yani doğru çalıştığını denetleyen adım, ör. C ödevlerinde derlenen programın istenen çıktıyı üretmesi.

      Bu adımda diğer adımlardan farklı olarak programın standart girdi ve çıktısı sırasıyla input ve output alanlarında belirtilebilmektedir. Program girdisini ödevde öğrenciden kodlanması beklenen ana kaynak koda gömmek daha pratik olabilir. Bu nedenle output alanı input alanına göre daha fazla kullanılır.

Uyarılar

  • Ödev deposunu "Template repository" olarak ayarlamayı unutmayın. Aksi halde sonraki adımlarda depodan yararlanamazsınız.

  • Test adlarında Türkçe karakter kesinlikle kullanmayın. Bu amaçla Türkçe yerine İngilizce adlar tercih edebilirsiniz, ör. Geçerli mi? yerine Valid?. Boşluk veya noktalama işaretleri (en azından bir kısmını) kullanabilirsiniz.

  • Ödevler hakkında öğrencilerden gelen soru veya itirazları (bunlar özel iletilerle veya yüz yüze gelse bile) tüm dersler için ortak kullanılan ödev tartışma forumuna yönlendirin. Özelden soru cevaplamayın. Aksi halde süreç yönetilebilir olmaktan çıkacaktır.