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. |
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 |