2024 DÖNEM SONU PROJE GRUPLARI
İKİNCİ ÖĞRETİM
NORMAL ÖĞRETİM
2024 DÖNEM SONU PROJE ÖNERİ DOSYASI
DÖNEM SONU PROJELERİ HAKKINDA GENEL BİLGİLER:
Veri yapıları dersinin gerekliliklerinden 3.sü olan veri yapılarını gerçek bir proje üzerinde uygulama yeterliliğinin sağlanabilmesi için öğrencilerin dönem sonu proje geliştirmeleri gerekmektedir.
Aşağıdaki açıklama ve kuralları dikkate alınız:
1- Projeler 2 şer kişilik takımları halinde hazırlanacaktır. Bu nedenle öğrenciler takım kurmak zorundadır.
2- Dersi 1. 2. ve 3. kere alan öğrenciler projeden sorumludur. Proje geliştirmeyen öğrenciler proje puanından yararlanamayacaktır.
3- Tavsiye edilecek proje konuları bu sayfada yayınlanacaktır. Fakat takımlar kendi projelerini de önerebilirler.
4- Projelerdeki gelişmeler laboratuvar sorumluları tarfından en geç 2 haftada bir on-line veya yüzyüze olarak kontrol edilecektir.
5- Projeler çalışır haldedönem sonu belirlenen tarihler aralığındalaboratuvar sorumlularına teslim edilmelidir. Dönem boyunca takiplere katılan öğrencilerin çalışmayan projeleri 10 ile 40 puan arasında notlandırılacaktır.
6- Proje takiplerine 2 kere geçerli sebep beyan etmeden katılmayan takımların projeleri çalışır halde olsa dahi puanlanmayacak, proje notu olarak 0 puan verilecektir.
7- Geçerli sebep beyan ederek takiplere katılmayan ekipler takip sürecini telafi etmek zorundadır. Yani kaçırdığı takipteki yapması gereken çalışmaları ileri tarihte laboratuvar sorumlularına göstermek zorundadır. Bunu yapmadıkları taktirde bu ekiplerde katılmamış olarak değerlendirielecektir.
8-
Proje ekiplerinin kurulma ve bildirim son tarihi: 6 Ekim 2024
Proje konularının belirlenme son tarihi: 13 Ekim 2024
Bu bildirimler laboratuvarsorumlularına e-posta ile veya yüz yüze yapılabilir.
DÖNEM PROJELERİ TEKNİK ÖZELLİKLERİ:
1- Projeler veri kaydetme, silme, güncelleme, sıralama ve sorgulama süreçlerine sahip olmak zorundadır. Bu süreçlere ek olarak geliştirilecek projenin özel durumlarına göre yeni süreçler eklenebilir.
2- Projeler kullanıcı arayüzüne sahip olacak şekilde GUI araçları ile görsel kullanıcı arayüzleri tasarlanacaktır. Bu nedenle sadece terminal ortamında çalışan projeler kabul edilmeyecektir. Yani veri kaydetme, listeleme, sorgulama gibi tüm süreçlerin girdi verileri ekip tarafından tasarlanacak GUI'ler üzerinden alınacak, sorgu veya sıralama çıktıları da yine GUI'ler üzerinde görülecektir.
3-GUI olarak tavsiye edilen ortamlar JAVA FX ve Java Swing ortamlarıdır. Ekipler Netbeans ortamında hazır olarak yerleştirilen GUI tasarımları ile Swing üzerinden arayüz tasarlayabilir veya Scene Builder gibi arayüz yazılımları kullanarak FXML dosyaları oluşturarak Java FX ile proje arayüzlerini geliştirebilirler.
2- Projelerde kesinlikle veri tabanı gibi hazır yapılar kullanılmayacaktır. Bunun yerine veriler Text dosyalarına projenize özel yeni uzantılar belirlenerek (.hot, .oot v.b. gibi) kaydedilmesi sağlanacaktır.
3- Tüm veriler bu özel uzantılı Text dosyasında tutulacaktır.
4- Program ilk açıldığında .txt dosyasındaki verilerin ekip tarafından belirlenen veri yapısına yöklenmesi sağlanacaktır.
5- Veri kaydetme işleminde veri Text dosyasına kaydedilecek ve aynı anda veri yapısı içerisine de eklenecektir.
6- Program ilk açılış esnasında text dosyasındaki veriler veri yapılarına aktarımı sağlanmalıdır.
6- Verilerde sorgulama, sıralama güncelleme gibi veri üzerindeki değişiklik işlemleri veri yapısı üzerinde gerçekleştirilir. Verilerde değişiklik, silme ekleme gibi durumlarda;
Veriler Text dosyasındantoplu olarak veri yapısına aktarılmalı,
Değişiklik ve ekleme islme gibi işlemler veri yapısı üzerinde yapılmalı,
kaydetme aşamasında ise veri yapısındaki veriler toplu olarak dosyaya yeniden yazılmalıdır.
Kısacası başta veri yapısına yüklenen veriler işlem değişiklikleri sonrası yeniden vesıfırdan dosyaya yazılmalıdır.
Bu değişiklikler dosya üzerinde ayrı ayrı işlenmemelidir. Bu mantık programlama açısından kolaylık sağlayacaktır.
İHTİYAÇ DUYULACAK KAYNAKLAR:
Projeler geliştirme aşamadında java dosya işlemleri, String işlemleri GUI tasarımı (Java FX, Java SWİNG) gibi konuların projeye başlamadan önce araştırılması, öğrenilmesi ve bu konular hakkında ön uygulamalar geliştirilmesi mecburidir. Aşağıdaki linklerde bu konularda tavsiye edilen linkler görülebilir.
JAVA ÖĞRENME:
https://academy.patika.dev/courses/java-102
JAVA STRING İŞLEMLERİ:
https://gelecegiyazanlar.turkcell.com.tr/konu/egitim/android-101/javada-string-metodlari
https://medium.com/@emrhnozcn/java-string-s%C4%B1n%C4%B1f%C4%B1-69da2b63c246
https://www.w3schools.com/java/java_ref_string.asp
https://www.javatpoint.com/java-string
JAVA DOSYA İŞLEMLERİ:
https://gelecegiyazanlar.turkcell.com.tr/konu/egitim/android-101/javada-dosya-islemleri
https://medium.com/@miracbalkaya/javada-dosya-i%CC%87%C5%9Flemleri-f08006be363c
https://emrecelen.com.tr/java-dosya-islemleri-2/
JAVA FX ve SCENE BUİLDER:
https://gluonhq.com/products/scene-builder/