Derse Giriş & Algoritmik Düşünme
⚡ Veri Yapıları Neden Bu Kadar Önemli?
“Algoritmalar + Veri Yapıları = Programlar” (Niklaus Wirth).
Yapay Zeka ve Makine Öğrenmesi alanında modellerin eğitimi, vektör uzaylarındaki aramalar, büyük dil modellerinin (LLM) dikkat mekanizmaları ve grafik sinir ağları (GNN) doğrudan doğruya verimli veri yapıları üzerinde inşa edilir. Kötü seçilmiş bir veri yapısı, saniyeler içinde çalışabilecek bir algoritmanın saatler veya günler sürmesine neden olabilir.
🛠️ Geliştirme Ortamı ve Programlama Dili Tercihi
Ders kapsamındaki örnekler ve laboratuvar uygulamaları iki ana dil ekseninde sunulacaktır:
- Python: Hızlı prototipleme, nesne yönelimli gerçeklemeler ve okunabilirlik için.
- C++ (Opsiyonel / İleri Seviye): Bellek işaretçileri (pointers), referanslar ve doğrudan bellek yönetimini derinlemesine kavramak için.
Tavsiye Edilen Araçlar
- Editör: Visual Studio Code (Python ve C/C++ eklentileriyle).
- Sürüm Kontrolü: Git & GitHub (tüm laboratuvar ödevleri GitHub Classroom üzerinden teslim edilecektir).
- Görselleştirme Aracı: VisuAlgo ve Python Tutor (bellek ve işaretçi animasyonları için).
📋 Akademik Dürüstlük ve Kurallar
- Kod ödevlerinde intihal (başka bir öğrenciden doğrudan kod kopyalama veya birebir paylaşma) kesinlikle kabul edilmez.
- Yapay zeka araçları (ChatGPT, GitHub Copilot) birer öğrenme ve kavramı anlama yardımcısı olarak kullanılabilir; ancak teslim edilen kodun her bir satırını öğrencinin sınavda veya sözlüde açıklayabilmesi zorunludur.
ℹ️ Ders Akışı Bilgilendirmesi:
- Hafta ve sonraki haftalık ders içerikleri, akademik takvime paralel olarak her hafta başında sırayla sol menüde erişime açılacaktır.