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) Orhan İlker BAŞARAN oibasaran@gsu.edu.tr (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:
Kriptolojiye Giriş
Sezar’ın Kutu Şifresi
Tek Alfabeli Yerine Yerleştirme Kriptolama
Algoritması

Laboratuvar:
Dosyalar ve Modüller

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

Laboratuvar:
Hata Yakalama

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

Laboratuvar:
Soru çözümü

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

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

Laboratuvar:
Nesne Tabanlı Programlamaya Giriş

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

Laboratuvar:
Nesne Tabanlı Programlamaya Giriş

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

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 Problem çözümü
2 Algoritmalar tarihi
3 Enküçükleme ve enbüyükleme
4 Sıralama ve arama
5 Saf matematik
6 İleri eniyileme
7 Geometri
8 Tekrar
9 Ara sınav
10 Dil
11 Makina öğrenmesi
12 Yapay zeka
13 Daha ileri konular
14 Tekrar
Uygulama Konu Başlıkları
Hafta Konu Başlıkları
1 Problem çözümü
2 Algoritmalar tarihi
3 Enküçükleme ve enbüyükleme
4 Sıralama ve arama
5 Saf matematik
6 İleri eniyileme
7 Geometri
8 Tekrar
9 Ara sınav
10 Dil
11 Makina öğrenmesi
12 Yapay zeka
13 Daha ileri konular
14 Tekrar
Başarı Notuna Etki Oranları
  Sayı Katkı Payı
Yarıyıl içi çalışmaların başarı notuna katkısı 1 50
Yarıyıl sonu çalışmaların başarı notuna katkısı 1 50
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 50
Proje 0 0
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 1 50
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 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