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 temel 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. Bu kapsamda dersin hedefleri şu şekilde belirlenmiştir:
• Öğrencilerin, Python programlama diline hâkim olmalarını sağlamak.
• Öğrencilerin, verilen bir problemi formüle edebilmesini sağlamak.
• Öğrencilerin, bir algoritmayı yapısal bir programlama dilini kullanarak uygulamalarını sağlamak
İç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ı

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

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

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

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

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

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

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

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

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

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

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

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

14. HAFTA: Büyük O Notasyonunun Bulunmasına Ait Örnekler
CPU ve RAM Kullanımı Konusunda Algoritmalar Arası Karşılaştırmalar
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 Temel sıralama algoritmaları
2 Sıralama algoritmalarının karşılaştırılması
3 Algoritmik karmaşılığa giriş
4 Dinamik bellek yönetimi ve pointerlar
5 Özdevingen programlama
6 Özdevingen programlama
7 Dosya sistemleri
8 Liste yapılarının tanıtımı
9 Ara Sınav
10 Tek-bağlı liste yapıları
11 Çift-bağlı liste yapıları
12 Yığın veri yapıları
13 Kuyruk veri yapıları
14 Sentez, revizyonlar
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ı 1 60
Yarıyıl sonu çalışmaların başarı notuna katkısı 1 40
Toplam 2 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 1 30
Laboratuar 0 0
Diğer Uygulamalar 0 0
Kısa Sınavlar 0 0
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 2 60
Numara Program Yeterlilikleri Puan
1 2 3 4 5
1 Matematik, fen ve mühendislik bilimleri konularında yeterli bilgi birikimi X
2 Bu alanlardaki kuramsal ve uygulamalı bilgileri karmaşık mühendislik problemlerini modelleme ve çözme için uygulayabilme becerisi X
3 Karmaşık Endüstri Mühendisliği problemlerini saptama, tanımlama, formüle etme, doğrulama ve çözme becerisi; bu amaçla uygun analiz ve modelleme yöntemlerini seçme ve uygulama becerisi X
4 Karmaşık bir üretim veya hizmet sistemini, süreci, cihazı veya ürünü gerçekçi ve değişken kısıtlar ve koşullar altında, performans boyutlarını iyileştirmeye yönelik tasarlama becerisi; bu amaçla modern tasarım yöntemlerini uygulama becerisi X
5 Endüstri Mühendisliği uygulamalarında karşılaşılan karmaşık problemlerin analizi ve çözümü için gerekli olan modern yöntem, teknik ve araçları geliştirme, seçme ve kullanma becerisi; bilişim teknolojilerini etkin bir şekilde kullanma becerisi X
6 Karmaşık Endüstri Mühendisliği problemlerinin veya bu alandaki araştırma konularının incelenmesi için deney tasarlama, deney yapma, veri toplama, sonuç çıkartma, sonuçları analiz etme ve yorumlama becerisi
7 Disiplin içi ve çok disiplinli takımlarda etkin biçimde ve farklı rollerde çalışabilme becerisi; bireysel çalışma becerisi X
8 Türkçe sözlü ve yazılı etkin iletişim kurma becerisi; en az iki yabancı dil bilgisi; etkin rapor yazma ve yazılı raporları anlama, tasarım ve üretim raporları hazırlayabilme, etkin sunum yapabilme, açık ve anlaşılır talimat verme ve alma becerisi
9 Yaşam boyu öğrenmenin gerekliliği bilinci; bilgiye erişebilme, bilim ve teknolojideki gelişmeleri izleme, bilgi yönetimi araçlarını kullanma ve kendini sürekli yenileme becerisi
10 Etik ilkelerine uygun davranma, mesleki ve etik sorumluluk bilinci; Endüstri Mühendisliği uygulamalarında kullanılan ulusal ve/veya uluslararası standartlar hakkında bilgi
11 Proje yönetimi ile risk yönetimi ve değişim yönetimi gibi, iş hayatındaki uygulamalar hakkında bilgi
12 Girişimcilik, yenilikçilik hakkında farkındalık; sürdürülebilir kalkınma hakkında bilgi
13 Endüstri Mühendisliği uygulamalarının evrensel ve toplumsal boyutlarda sağlık, çevre ve güvenlik üzerindeki etkileri hakkında bilgi; toplumsal ve kurumsal sosyal sorumluluk bilinci
14 Çağın mühendislik alanına yansıyan sorunları hakkında bilgi
15 Endüstri Mühendisliği çözümlerinin hukuksal sonuçları konusunda farkındalık
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 17 17
Toplam İş Yükü 122
Toplam İş Yükü / 25 4,88
Dersin AKTS Kredisi 5
Scroll to Top