DERS BİLGİ PAKETİ · ING136

Algoritma ve İleri Bilgisayar Programlama

Zorunlu · Fransızca
AKTS
5
Yerel Kredi
3
Teori + Uygulama + Lab
2 + 0 + 2
Dersin Düzeyi
Lisans
Ön Koşul
-
Yarıyıl
2

İçerik

Dersin Amacı

Bu derste birinci dönemdeki Programlamaya Giriş dersinde işlenen temel kavramlar hakkındaki bilgiler pekiştirilir. Derste özellikle, göstericiler, dinamik bellek tahsisi ve yönetimi, algoritma analizine ve temel veri yapıları konuları üzerinde durulur. Ders uygulamalarında C programlama dili ve Linux işletim sistemi kullanılır.

Dersin İçeriği

- Giriş ve C programlama dili hatırlatmalar
- Dinamik bellek yönetimi
- Bağlı listeler
- Yığın ve kuyruk yapıları
- Algoritma analizi
- Temel prensipler: Özyineleme ve tekrarlama, arama, böl ve yönet yaklaşımı
- Sıralama algoritmaları
- Algoritma tasarımı ve uygulamaları

Dersin Öğrenme Çıktıları

Bu dersi başarıyla tamamlayan öğrenci aşağıdaki konularda yeterliliğe sahip olacaktır:

1. Algoritma tasarlayabilme becerisi,
2. İleri C programlama yeteneği,
3. Bellek yönetimi yetisi,
4. Algoritma Analizi Yöntemlerini kullanabilme ve aralarındaki farkları açıklama yetisi,
5. Arama ve Sıralama Algoritmaları hatırlayabilme ve problemlere uygulama becerisi,
6. Temel Veri Yapılarını hatırlayabilme ve problemlere uygulama becerisi

Öğretim Yöntemleri

Konu anlatımı, tartışma, soru-cevap, problem çözümü, uygulama ve proje

Kaynaklar

Algorithms, Robert Sedgewick and Kevin Wayne, Pearson, 2011
The Algorithm Design Manual, Steven S. Skiena, Springer, 2008
Introduction to Algorithms, Cormen, Leiserson, Rivest & Stein, MIT Press, 2009
Understanding and Using C Pointers, Richard Reese, O’Reilly Media, 2013

Konu Başlıkları

Teori Konu Başlıkları
Hafta Konu Başlıkları
1 Giriş ve C Programlama Dili Üzerine Hatırlatmalar
2 Dinamik Bellek Yönetimi
3 Bağlı Listeler
4 Bağlı Liste İşlemleri
5 Yığın ve Kuyruk Yapıları
6 Algoritma Analizine Giriş
7 Büyük O Gösterimi
8 Vize haftası
9 Temel Prensipler : Özyinelemeli ve Tekrarlamalı Fonksiyonlar
10 Temel Prensipler : Arama, Böl ve Yönet
11 Basit Sıralama Algoritmaları
12 Sıralama Algoritmaları ve Analizi
13 Algoritma Tasarımı
14 Algoritma Tasarımı
Uygulama Konu Başlıkları
Hafta Konu Başlıkları
1 Giriş ve C Programlama Dili Üzerine Hatırlatmalar
2 Dinamik Bellek Yönetimi
3 Bağlı Listeler
4 Bağlı Liste İşlemleri
5 Yığın ve Kuyruk Yapıları
6 Algoritma Analizine Giriş
7 Büyük O Gösterimi
8 Vize haftası
9 Temel Prensipler : Özyinelemeli ve Tekrarlamalı Fonksiyonlar
10 Temel Prensipler : Arama, Böl ve Yönet
11 Basit Sıralama Algoritmaları ile Uygulamalar
12 Sıralama Algoritmaları ve Analizi ve Uygulamaları
13 Algoritma Tasarımı
14 Proje Sunumları

Değerlendirme Sistemi

Başarı Notuna Etki Oranları
Etkinlikler Sayı Katkı Payı
Yarıyıl içi çalışmaların başarı notuna katkısı 0 60
Yarıyıl sonu çalışmaların başarı notuna katkısı 0 40
Toplam 0 100
Yarıyıl İçi Çalışmaları
Etkinlikler Sayı Katkı Payı
Ödevler 0 0
Sunum 0 0
Arasınavlar (Hazırlık Süresi Dahil) 1 30
Proje 1 10
Laboratuar 10 10
Diğer Uygulamalar 0 0
Kısa Sınavlar 5 10
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
Bütünleme 0 0
Toplam 17 60

Yeterlilik İlişkisi

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

AKTS - İş Yükü Tablosu

Etkinlikler Sayı Süre Toplam İş Yükü
Ders Süresi 14 3 42
Sınıf Dışı Çalışma Süresi 0 0 0
Ödevler 5 2 10
Sunum 0 0 0
Arasınavlar (Hazırlık Süresi Dahil) 1 10 10
Proje 1 10 10
Laboratuar 14 2 28
Diğer Uygulamalar 0 0 0
Yarıyıl Sonu Sınavı (Hazırlık Süresi Dahil) 1 10 10
Kısa Sınavlar 5 1 5
Dönem Ödevi / Projesi 0 0 0
Portfolyo Çalışmaları 0 0 0
Raporlar 0 0 0
Öğrenme Günlükleri 0 0 0
Bitirme Tezi/Projesi 0 0 0
Seminer 0 0 0
Diğer 0 0 0
Bütünleme 0 0 0
Toplam İş Yükü 115
Toplam İş Yükü / 25 4.60
Dersin AKTS Kredisi 5