Endüstri Mühendisliği Lisans Programı

Algoritma ve İleri Bilg. Programlama(ING231)

Ders Kodu Dersin Adı Yarıyıl Teori Uygulama Lab Kredisi AKTS
ING231 Algoritma ve İleri Bilg. Programlama 3 2 0 2 3 5
Ön Koşul
Derse Kabul Koşulları
Dersin Dili Fransızca
Türü Zorunlu
Dersin Düzeyi Lisans
Dersi Veren(ler) MURAT AKIN murakin@gsu.edu.tr (Email) Esra ÇAKIR (Email)
Dersin Yardımcıları
Dersin Amacı Bu dersin amacı, öğrencilere bilgisayar dünyasında çok karşılaşılan bazı algoritmaların anlatılması, algoritmalar arası karşılaştırmaların yapılması ve anlatılan algoritmaların PYTHON ile programlarının yazılmasıdır.
İçerik 1. HAFTA:
Genel Kavramlar:
Rekürsif (Özyinelemeli) Algoritmalar
Geri İzlemeli Algoritmalar
Böl ve Yönet Algoritmaları
Dinamik Programlama Algoritmaları
Aç Gözlü Algoritmalar
Kaba Kuvvet Algoritmaları

Laboratuvar:
PYTHON’a giriş
Değişkenler, İfadeler ve Deyimler

2. HAFTA:
Diziler
Bağlantılı Listeler
Dizilerle Bağlantılı Listelerin Karşılaştırılması

Laboratuvar:
Koşullu Durumlar ve İfadeler

3. HAFTA:
Tek Yönlü Doğrusal Bağlantılı Liste
Çift Yönlü Doğrusal Bağlantılı Liste
Tek Yönlü Dairesel Bağlantılı Liste
Çift Yönlü Dairesel Bağlantılı Liste

Laboratuvar:
Döngüler

4. HAFTA:
Yığın ve Kuyruk Yapısı
Dizilerle Yığının Gerçeklenmesi
Bağlantılı Listelerle Yığının Gerçeklenmesi

Laboratuvar:
Fonksiyonlar

5. HAFTA:
Dizilerle Kuyruğun Gerçeklenmesi
Bağlantılı Listelerle Kuyruğun Gerçeklenmesi

Laboratuvar:
Listeler, Karakter Dizileri, Demetler ve Sözlükler

6. HAFTA:
Rekürsif Yapılar
Araya Yerleştirme Sıralama Algoritması
Seçmeli Sıralama Algoritması
Kabarcık Sıralama Algoritması

Laboratuvar:
Dosyalar ve Modüller

7. HAFTA:
Kokteyl Sıralama Algoritması
Basit Sıralama Algoritması
Gnome Sıralama Algoritması
Sayma Sıralama Algoritması

Laboratuvar:
Hata Yakalama

8. HAFTA:
Tek-Çift Yerdeğiştirme Sıralama Algoritması
Hızlı Sıralama Algoritması
Birleştirme Sıralama Algoritması

Laboratuvar:
Soru çözümü

9. HAFTA:
Yarıyıl İçi Sınavı

10. HAFTA:
Kriptolojiye Giriş
Sezar’ın Kutu Şifresi
Tek Alfabeli Yerine Yerleştirme Kriptolama
Algoritması

Laboratuvar:
Nesne Tabanlı Programlamaya Giriş

11. HAFTA:
İki Alfabeli Yerine Yerleştirme Kriptolama
Algoritması
Sezar’ın Kutu Şifresinin İyileştirilmesi
Vigenere Şifresi

Laboratuvar:
Nesne Tabanlı Programlamaya Giriş

12. HAFTA:
Frekans Analizi
Kırılamaz Şifre
Şifreleme Algoritmalarının Karşılaştırılması

Laboratuvar:
Grafik Arayüz Uygulamaları

13. HAFTA:
Hash Fonksiyonları
Algoritma Analizi
Büyük O Notasyonu

Laboratuvar:
Lineer Programlama Uygulamaları

14. HAFTA:
Büyük O Notasyonunun Bulunmasına Ait Örnekler
CPU ve RAM Kullanımı Konusunda Algoritmalar
Arası Karşılaştırmalar

Laboratuvar:
Soru çözümü
Dersin Öğrenme Çıktıları Bu dersi başarıyla tamamlayan öğrenci:
1.Algoritma kavramını öğrenecek ve algoritmaların performans analizini yapabilecektir.
2.Yığın yapısı, kuyruk yapısı, sıralama algoritmaları, temel kriptoloji algoritmaları, rekürsif algoritmalar gibi bilgisayar dünyasında çok karşılaşılan algoritmaları öğrenecektir.
3.Python programlama dilini kullanarak program yazmayı ve ders kapsamında verilen algoritmaların python ile programlamasını öğrenecektir.
Öğretim Yöntemleri
Kaynaklar 1. Algoritmalar, Robert Sedgewick, Kevin Wayne, Nobel Akademik Yayıncılık, 2018.
2. Algoritmalar ve Programlama, Anadolu Üniversitesi Açık Öğretim Fakültesi Yayınları, 2016.
3. Veri Yapıları ve Algoritma Temelleri, Dr. Sefer Kurnaz, Papatya Bilim, 2004.
4. Algoritma Geliştirme ve Veri Yapıları, Dr. Rifat Çölkesen, Papatya Bilim, 2016.
5. PYTHON, Mustafa Başer, Pusula Yayıncılık, 2002.
6. PYTHON, Fırat Özgül, Kodlab Yayıncılık, 2010.
7. Resmi Python3 Kılavuzu, Sürüm 3, Guido Van Rossum, Free Ebook, 2015.
8. Python İle Çocuklar İçin Programlama, Mustafa Murat Çoşkun, Dikeyeksen Yayıncılık, 2017.
9. Kod Kitabı, Simon Singh, Klan Yayınevi, 2004.
10. Şifrelerin Matematiği: Kriptografi, Canan Çimen, Sedat Akleylek, Ersan Akyıldız, ODTÜ Yayınevi, 2007.
Ders İçeriğini Yazdır
Teori Konu Başlıkları
Hafta Konu Başlıkları
1 1. HAFTA: Genel Kavramlar: Rekürsif (Özyinelemeli) Algoritmalar Geri İzlemeli Algoritmalar Böl ve Yönet Algoritmaları Dinamik Programlama Algoritmaları Aç Gözlü Algoritmalar Kaba Kuvvet Algoritmaları
Uygulama Konu Başlıkları
Hafta Konu Başlıkları
Başarı Notuna Etki Oranları
  Sayı Katkı Payı
Yarıyıl içi çalışmaların başarı notuna katkısı 0 50
Yarıyıl sonu çalışmaların başarı notuna katkısı 0 50
Toplam 0 100
Yarıyıl İçi Çalışmaları
  Sayı Katkı Payı
Ödevler 0 0
Sunum 0 0
Arasınavlar (Hazırlık Süresi Dahil) 1 30
Proje 0 0
Laboratuar 0 0
Diğer Uygulamalar 0 0
Kısa Sınavlar 2 20
Dönem Ödevi / Projesi 0 0
Portfolyo Çalışmaları 0 0
Raporlar 0 0
Öğrenme Günlükleri 0 0
Bitirme Tezi/Projesi 0 0
Seminer 0 0
Diğer 0 0
Toplam 3 50
Numara Program Yeterlilikleri Puan
1 2 3 4 5
Etkinlikler Sayı Süre Toplam İş Yükü
Ders Süresi 14 4 56
Sınıf Dışı Çalışma Süresi 13 3 39
Arasınavlar (Hazırlık Süresi Dahil) 1 10 10
Yarıyıl Sonu Sınavı (Hazırlık Süresi Dahil) 1 18 18
Kısa Sınavlar 2 5 10
Toplam İş Yükü 133
Toplam İş Yükü / 25 5,32
Dersin AKTS Kredisi 5
Scroll to Top