1. Proje (3 BOYUTLU GÖRÜNTÜ DOSYALARI PROJESİ)
1. Proje (/prolab/1/1)
Projede bizden istenen, bir klasörün içinde bulunan tüm dosyalardan ayrı ayrı 3 boyutlu nokta verilerini okuyarak bilgileri bellekte saklamamızdır. Okunan nokta bilgileri hakkında aşağıdaki işlemler kullanıcının isteğine göre gerçekleştirilecektir:
- Birbirine en yakın nokta ve en uzak noktaların bilgileri ve nokta numaraları
- Tüm noktaları içine alacak bir küpün kenar nokta bilgileri
- Merkezinin 3 boyutlu koordinatı ve yarıçapı bilgileri kullanıcıdan istenilen bir kürenin içinde kalan noktaların bilgileri ve nokta numaraları
- Her bir noktanın birbirlerine olan uzaklıklarının ortalaması
bulunması.
Projede C programlama dilini kullandım. Detaylı açıklamalarım proje raporumda bulunabilir.
2. Proje (POKEMON KART OYUNU)
2. Proje (/prolab/1/2)
Projede bizden istenen, bir oyuncunun başka bir oyuncuyla ya da bilgisayar ile savaşabileceği basit bir kart oyunu yapmamızdır.
Kısaca tasarlayacağımız oyunda 10 tane pokemon kartı olacaktır. Oyun ilk başladığında iki oyuncuya da rastgele 3 adet kart dağıtılır. Daha sonra oyuncular kartlarını oynar ve yüksek hasar puanına sahip olan 5 puan kazanır. Masadaki kartlar bitene kadar oyuncular kart çeker ve oyun sonunda daha yüksek puana sahip olan kazanır.
Projede Java programlama dilini ve Swing kütüphanesini kullandım. Detaylı açıklamalarım proje raporumda bulunabilir.
3. Proje (BAĞLI LİSTE UYGULAMASI)
3. Proje (/prolab/1/3)
Projede bizden istenen, bağlı liste yapısını anlamak amacıyla Türkiye illerini ve illerin komşularını barındıran bir bağlı liste yapısı kurmamızdır. Kurulan yapı üzerinde kullanıcı isteğine göre aşağıdaki işlemler gerçekleştirilecektir:
- Kullanıcı yeni bir şehir, yeni bir komşuluk ekleyebilmelidir. Fakat aynı isimli şehir ve özellikte yeni bir kayıt eklenmesine sistem izin vermemelidir.
- Herhangi bir şehir ismi veya plaka kodu ile aratıldığında şehir bilgileri (plaka no, şehir adı, bölgesi, komşu sayısı) ve komşu şehirlerinin bilgileri (plaka no, şehir adı ve bölgesi) gösterilmelidir. Listede olmayan bir şehir için arama yapıldığında “şehir listede yok, eklemek ister misiniz?” gibi bir seçenek sunulmalıdır.
- Kullanıcı bir şehri veya komşuluk kaydını silebilmelidir.
- Kullanıcı herhangi bir bölgede bulunan şehirlerin bilgilerini (plaka kodu, şehir adı, komşu sayısı) listeleyebilmelidir.
- Belli bir komşu sayısı kriterine uyan şehirler bulunabilmeli ve gösterilmelidir. (Örneğin: 3’ ten fazla komşusu olan illerin listesi)
Projede C programlama dilini kullandım. Detaylı açıklamalarım proje raporumda bulunabilir.
1. Proje (GEZGİN KARGO PROBLEMİ)
1. Proje (/prolab/2/1)
Merkezi Kocaeli’de kurulan yeni bir kargo firması siparişlerini en kısa yoldan hedeflerine ulaştırmayı amaçlamaktadır. Bizden istenen, başlangıcı ve bitişi Kocaeli olan, seçilen teslimat illerinden geçen en kısa rotaları bulan bir uygulama yapmamızdır.
Projeyi Java programlama dili, Swing kütüphanesi ve genetik algoritma kullanarak gerçekleştirdim. Detaylı açıklamalarım proje raporumda bulunabilir.
2. Proje (LZ77, LZSS, DEFLATE SIKIŞTIRMA ALGORİTMALARI)
2. Proje (/prolab/2/2)
Bu projede karakter tabanlı LZ77, DEFLATE sıkıştırma algoritmaları kullanılarak dosya sıkıştırma uygulaması yapmamız istenmektedir. Projeyle amaçlanan sıkıştırma algoritmaları arasındaki farkı görmektir, herhangi bir arayüz olması beklenmemektedir.
Projeye teslime 1 gün kala başladım ve DEFLATE algoritmasını anlamam zor oldu bu yüzden bu kısmı yetişmedi, eksik kalan tek ödevim oldu. LZ77 ve LZSS algoritmalarını içeriyor.
Projede C++ programlama dilini kullandım. Detaylı açıklamalarım proje raporumda bulunabilir.
3. Proje (NETFLIX)
3. Proje (/prolab/2/3)
Bu projede istenen Netflix platformuna benzer bir platform uygulamasını masaüstü uygulaması olarak gerçekleştirmemizdir. Projenin asıl hedeflediği veritabanı yönetimini anlamamızdır. Proje aşağıdakileri içermelidir:
- Kullanıcı giriş arayüzü
- Kullanıcı kayıt arayüzü
- Kullanıcının içerik arayabileceği ve izleyebileceği arayüz
Filmleri ve dizileri video olarak eklememiz beklenmemektedir. Projede asıl hedeflenen veritabanı yönetmini anlamak olduğu için arayüzün temel işlemleri gerçekleştirmesi yeterlidir.
Projeyi Java programlama dilini, SQLite driver ve JavaFX kütüphanesini kullanarak gerçekleştirdim. Detaylı açıklamalarım proje raporumda bulunabilir.