Skip to content

"A comprehensive Java portfolio featuring fundamental algorithms, object-oriented programming (OOP) principles, and advanced desktop applications with Swing GUI."

Notifications You must be signed in to change notification settings

BeratErol/java-algorithms-and-projects

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

65 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🚀 Java'da Algoritmalar ve Projeler

Comprehensive Java Portfolio

Bu depo, Java programlama dilinde temel sözdizimi (syntax) kurallarından başlayarak, ileri seviye Nesne Tabanlı Programlama (OOP) prensiplerine ve kapsamlı masaüstü uygulamalarına kadar uzanan geniş bir yelpazeyi kapsar.

Her bir çalışma;

  • Algoritmik düşünme becerisini geliştirmek,
  • Yazılım mimarisi oluşturma yetkinliği kazanmak,
  • Gerçek dünya problemlerini kod ile modellemek

amacıyla yapılandırılmıştır.


📂 Depo Yapısı ve Müfredat

Repo, öğrenme eğrisine uygun olacak şekilde üç ana bölümde organize edilmiştir:


1️⃣ Programlama Temelleri

Java’nın çekirdek özelliklerini ve temel algoritma mantığını kapsayan 120+ uygulama içerir.

📌 İçerik

  • Değişkenler ve veri tipleri
  • Döngüler (for, while, do-while)
  • Diziler (1D & 2D)
  • Metin işlemleri (String, StringBuilder)
  • Bellek yönetimi (Stack / Heap farkı)

🎯 Odak

  • Temiz ve okunabilir kod yazımı
  • Doğru veri tipi seçimi
  • Performanslı döngü ve kontrol yapıları kurma

2️⃣ Nesne Tabanlı Programlama (OOP)

Yazılımın sürdürülebilir, genişletilebilir ve modüler olmasını sağlayan OOP prensiplerine odaklanır.

📌 İçerik

  • Kalıtım (Inheritance)
  • Çok Biçimlilik (Polymorphism)
  • Soyutlama (Abstraction)
  • Kapsülleme (Encapsulation)

🎯 Odak

  • Gerçek dünya problemlerini nesne modellerine dönüştürme
  • Hata yönetimi (Exception Handling)
  • Sorumlulukları doğru sınıflara dağıtma

3️⃣ Projeler

Temel ve ileri seviye konuların birleştirildiği, uçtan uca geliştirilmiş kapsamlı uygulamalar yer alır.


🛠️ Kapsamlı Uygulamalar ve Vaka Analizleri

📚 Modern Kütüphane Yönetim Sistemi (GUI)

Java Swing kütüphanesi ile geliştirilmiş, tam işlevli bir masaüstü otomasyon sistemidir.

🏗️ Mimari

  • MVC (Model–View–Controller) yaklaşımına yakın yapı
  • İş mantığı: LibraryManager
  • Sunum katmanı: ModernLibraryGUI

⚙️ Fonksiyonlar

  • java.time API ile 14 günlük ödünç süresi takibi
  • Dinamik arama ve filtreleme
  • Kategori bazlı istatistik ve raporlama

🧩 Teknik Detaylar

  • Koleksiyonlar: ArrayList, HashMap
  • Olay tabanlı programlama (Event Handling)
  • JTable ile veri görselleştirme

💣 BomBom (Recursive Grid Logic)

Matris işlemleri ve özyinelemeli (recursive) algoritmalar üzerine kurulu bir strateji oyunudur.

🧠 Çözüm Yaklaşımı

  • Kullanıcının seçtiği koordinatın çevresi
  • Recursive fonksiyon ile zincirleme hücre taraması
  • Aynı değere sahip komşu hücrelerin tespiti

📂 Veri Yönetimi

  • Oyun haritası, harici .txt dosyalarından dinamik olarak yüklenir
  • BufferedReader ile dosya okuma işlemleri

🛡️ Hata Denetimi

  • Matris sınır taşmaları (Boundary Checking)
  • Özyineleme derinliği kontrolü
  • Sonsuz döngü risklerinin önlenmesi

🎯 Teknik Yetkinlikler

Bu projelerin geliştirilmesi sürecinde aşağıdaki alanlarda uzmanlık hedeflenmiştir:

  • Algoritma Tasarımı

    Karmaşık problemleri alt problemlere bölme ve recursive çözümleme

  • Dosya I/O

    Metin dosyalarından veri okuma ve verileri matris yapılarına dönüştürme

  • Kullanıcı Deneyimi (UX)

    Masaüstü uygulamalarında kullanıcı dostu arayüzler ve etkili hata geri bildirimleri

  • Akademik Raporlama

    Geliştirme sürecini, karşılaşılan problemleri ve çözüm yaklaşımlarını dokümante etme


🚀 Çalıştırma Talimatları

  1. Repoyu yerel makinenize klonlayın:

    git clone https://github.com/BeratErol/java-algorithms-and-projects.git
  2. İlgili projenin klasörüne girin.

  3. .java dosyalarını derleyip çalıştırın.

    🔧 Önerilen IDE’ler: IntelliJ IDEA, Eclipse 🎨 GUI projeleri için IDE kullanımı özellikle tavsiye edilir.


📌 Not: Bu repo; akademik çalışmalar, portföy sunumu ve ileri seviye Java pratiği amacıyla hazırlanmıştır. Algoritmadan mimariye kadar geniş bir yelpazede gerçek dünya odaklı Java uygulamaları sunar.


About

"A comprehensive Java portfolio featuring fundamental algorithms, object-oriented programming (OOP) principles, and advanced desktop applications with Swing GUI."

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages