Bilgi Paketi / Ders Kataloğu
Algoritma ve Programlama
Ders Kodu: CSE102
Ders Türü: Zorunlu
Ders Grubu: Lisans
Eğitim Dili: İngilizce
Staj Durumu: Yok
Teori: 2
Uyg.: 2
Kredi: 3
Laboratuvar: 0
AKTS: 6
Amaç

Bu dersin temel amacı, verimli bilgisayar programı yazımında temel programlama yeteneklerinin geliştirilmesi konusunda öğrencilere yardımcı olunmaktır. Bu derste, çoğu bilgisayar programlarının en önemli temel bloklarından ikisi olan veri yapıları ve onlar üzerinde tanımlı algoritmalar anlatılmaktadır. Çok yaygın olarak kullanılan veri yapıları ve bunlarla ilgili algoritmaların soyut olarak tanıtılmalarının yanı sıra bunların C ve Java gibi yaygın kullanılan programlama dillerinde somut olarak gerçekleştirimleri öğretilmektedir. Veri yapıları ve algoritmaların çalışma zamanı, bellek gereksinimi ve programlama kolaylığı bakımından verimliliklerin incelenmesine büyük önem verilmektedir. Ayrıca, Java dilinde olduğu gibi (Java Collections Framework) ön gerçekleştirimi mevcut olan hazır veri yapılarından da özetle bahsedilmektedir.

Özet İçerik

Bu derste anlatılan konular arasında işaretçi mantığı, algoritmaların asimtotik analizi (Büyük O notasyonu ve onun benzerleri); algoritmaların yinelemeli ve iteratif gerçekleştirimleri; dizi, liste, kuyruk, yığın, heap, sözlük, arama ağacı ve çizge gibi veri yapıları ve Java Collection Framework yer almaktadır. Kod yazımları C ve/veya J programlama dillerinde yapılmaktadır.

Dersi Veren Öğretim Görevlisi/Görevlileri
Dr. Öğr. Üyesi Gözde ALP
Dr. Öğr. Üyesi Gülben AVŞAR
Öğrenme Çıktıları
1.Algoritma ve Programlamanın temel kavramlarını tanımlayabilme
2.Verilen bir problemin algoritma çözümünü oluşturabilme
3.Algoritmik olarak ifade edilen çözümü programa dönüştürebilme
4.Programlama sürecinde yapısal ve işlevsel kuralları uygulayabilme
5.Geliştirilen programların gerçek hayatta uygulanabilirliğini kavrama
Ders Kitabı / Malzemesi / Önerilen Kaynaklar
1.Herbert Schildt, C# 4.0: The Complete Reference, McGraw-Hill, 2010.
Haftalık Ayrıntılı Ders İçeriği
1. Hafta - Teorik
C Programlama diline giriş.
2. Hafta - Teorik
Koşullu ifadeler, if else, switch-case yapıları
3. Hafta - Teorik
Döngü kullanımı
4. Hafta - Teorik
Döngü kullanımı II
5. Hafta - Teorik
Programlamada fonksiyonlar
6. Hafta - Teorik
Dizi yapılarının kullanımı
7. Hafta - Teorik
Çok boyutlu diziler ve örnek çözümü
8. Hafta - Teorik
Ara sınav
9. Hafta - Teorik
C'de metin ve dosya işlemleri
10. Hafta - Teorik
Pointerlar ve sıralama algoritmaları
11. Hafta - Teorik
Struct yapılarının işlevi, tanımlaması ve kullanımı
12. Hafta - Teorik
C'de bellek kullanımı
13. Hafta - Teorik
Bağlı listelere giriş
14. Hafta - Teorik
Etkileşimli Ders
Değerlendirme
Değerlendirme TürüAdetYüzde
Ara Sınav (Vize)1%30
Dönem Sonu Sınavı (Final)1%30
Proje2%40
İş Yükü Hesaplaması
EtkinlikSayısıÖn HazırlıkSüreToplam Iş Yükü (Saat)
Kuramsal Ders141242
Uygulamalı Ders142256
Proje212024
Ara Sınav110212
Dönem Sonu Sınavı114216
TOPLAM İŞ YÜKÜ (Saat)150
Program ve Öğrenme Çıktıları İlişkisi
PÇ-1
PÇ-2
PÇ-3
PÇ-4
PÇ-5
PÇ-6
PÇ-7
PÇ-8
PÇ-9
PÇ-10
PÇ-11
OÇ-1
4
5
4
3
2
3
3
2
2
2
2
OÇ-2
5
5
5
4
3
3
3
3
2
2
2
OÇ-3
5
5
5
5
3
3
3
3
2
2
2
OÇ-4
4
5
5
5
2
3
4
3
2
2
2
OÇ-5
3
5
4
4
2
3
3
4
2
3
3
Adnan Menderes Üniversitesi - Bilgi Paketi / Ders Kataloğu
2026