Bu ders kapsamında verilecek ödevler ile bir sınav yapıcı uygulaması gerçekleştirilecektir. Bu uygulamada soru bankası oluşturma ve sınav hazırlama gibi bölümler olacaktır. İkinci ödev sınav yapıcı bir uygulamanın ilk aşamasının devamı şeklinde olacaktır. Buna göre, aşağıdaki istenenler birinci ödevde istenenlere ek olarak gerçekleştirilmelidir:
- Soru bankasına soru ekleme: Soru bankasına farklı türden sorular eklenebilmelidir. Birinci ödevdeki çoktan seçmeli soru tiplerine ek olarak, doğru/yanlış tipinde sorular, boşluk doldurma şeklinde sorular ve klasik tipte sorular eklenebilmelidir. Sorular ile ilgili sınıfların yazılmasında ve nesnelerinin kullanımında kalıtım ve polimorfizm kullanmak zorunludur.
- Soruların ve sınavların kaydedilmesi: Soru bankasındaki tüm sorular ve sınavlar object olarak iki farklı dosyaya kaydedilmelidir. Sorular “sorubankasi.dat”, sınavlar “sinavlar.dat” dosyası içerisinde olmalıdır.
- Soru bankasındaki soruları listeleme: Soru bankasındaki soruların tümü listelenebileceği gibi belli bir kritere uyan sorular da listelenebilmesi gerektiği birinci ödevde belirtilmişti. Burada birinci ödevdekine ek olarak sorular listelenirken puanlarına göre küçükten büyüğe doğru olacak şekilde listelenmelidir. Bunun için Comparablearayüzünü gerçekleştirmesi zorunludur.
- Sınav oluşturma: Puan toplamı 100-110 arasında olacak şekilde soru bankasından rasgele sorular seçilerek bir sınav oluşturulacaktır. Birinci ödevde sadece çoktan seçmeli sorular olduğu için test türü sınavlar oluşturulabiliyordu. İkinci ödevde ise toplam üç farklı sınav türünüz olacaktır. Bunlardan birincisi test (1. Ödevdeki gibi), ikincisi klasik sınav (sadece klasik sorular içerisinde olmalı) ve üçüncüsü karışık sınav (tüm soru tiplerinden içerisinde bulunabilmeli) türüdür. Bunun için yine kalıtım ve polimorfizm kullanımı zorunludur. Sınav kullanıcılara sırası ile sorulmalı ve cevapları ile birlikte dosyaya kaydedilmelidir.Sadece test sınavları için sınav sonunda sınavdan alınan not ekranda yazılmalıdır (1. Ödevdeki gibi).
UYARILAR
- Programda veritabanı kullanmayınız.
- Görsel arayüz tasarlayanlara sadece 5 puan ek olarak verilecektir.
- Ödev grup halinde de yapılmayacaktır. İlk ödevdegrup olan kişiler birinci ödevleri üzerinden her öğrenci kendisi eklenti yaparak projeyi tamamlamalıdır.
- Ödev moodle üzerinden sıkıştırılmış bir dosya içinde yüklenmeli, sıkıştırılmış dosya içerisinde .java uzantılı sınıf dosyalarınız ile isminizive numaranızı belirten .txt uzantılı dosya olmalıdır.