Türkçe | English
FEN BİLİMLERİ ENSTİTÜSÜ / BİLGİSAYAR MÜHENDİSLİĞİ ANABİLİM DALI
DOKTORA
Ders Bilgi Paketi
http://ceng.ktu.edu.tr/
Tel: +90 0462 3773157
FBE
FEN BİLİMLERİ ENSTİTÜSÜ / BİLGİSAYAR MÜHENDİSLİĞİ ANABİLİM DALI / DOKTORA
Katalog Ana Sayfa
  Katalog Ana Sayfa  KTÜ Ana Sayfa   Katalog Ana Sayfa
 
 

BIL7151Functional Programming3+0+0AKTS:7.5
Yıl / YarıyılBahar Dönemi
Ders DuzeyiDoktora
Yazılım Şekli Seçmeli
BölümüBİLGİSAYAR MÜHENDİSLİĞİ ANABİLİM DALI
Ön KoşulYok
Eğitim SistemiYüz yüze
Dersin Süresi14 hafta - haftada 3 saat teorik
Öğretim Üyesi--
Diğer Öğretim ÜyesiYok
Öğretim Diliİngilizce
StajYok
 
Dersin Amacı:
Fonksiyonel dilleri gerçekleme, fonksiyonel programlama tarzının yararları ve fonksiyonel programların bir matematiksel hesaplama süreci olarak oluşturulması gibi konuları anlatarak Haskell dili yardımıyla fonksiyonel programlama paradigmasını sunmaktır.
 
Öğrenim KazanımlarıPÖKKÖY
Bu dersi başarı ile tamamlayan öğrenciler :
ÖK - 1 : basit problemleri çözmek için temel fonksiyonel teknikleri kullanabilir.3,101,3
ÖK - 2 : yüksek dereceli fonksiyonlar tanımlayabilir ve kullanabilir.3,5,101,3
ÖK - 3 : listeler üzerinde herhangi bir çeşit fonksiyon tanımlayabilir.3,51,3
ÖK - 4 : yeni veri tipleri tanımlamak için Haskell ilkelerini kullanabilir.3,5,101,3
ÖK - 5 : bir tembel fonksiyonel dilin ana özelliklerini anlayabilir.3,51,3
ÖK - 6 : fonksiyonel biçimde giriş ve çıkış işlemlerini yönetebilir.3,5,101,3
PÖKK :Program öğrenim kazanımlarına katkı, ÖY : Ölçme ve değerlendirme yöntemi (1: Yazılı Sınav, 2: Sözlü Sınav, 3: Ev Ödevi, 4: Laboratuvar Çalışması/Sınavı, 5: Seminer / Sunum, 6: Dönem Ödevi / Proje),ÖK : Öğrenim Kazanımı
 
Ders İçeriği
Fonksiyonel programlamaya giriş: Haskell programları, Hugs kullanımı, program sözdizimi, ifadeler, standart kütüphaneler, modüller, hatalar ve hata mesajları. Veri tipleri: Temel tipler ve tanımlamalar, çiftler, listeler, liste türetimi, çokbiçimlilik, aşırı yükleme, öncü ifadeler. Fonksiyon tanımlama: Örüntü eşleme, listeler ve liste örüntüleri, listeler üzerindeki ilkel özçağrılar, fonksiyon seviyeli tanımlamalar, fonksiyon birleşimi, parametre birleşimi, yerel tanımlamalar. Genelleştirme: Listeler üzerindeki hesaplama örüntüleri, yüksek dereceli fonksiyonlar, katlama ve ilkel özçağrı, listeleri parçalama. Tip denetimi: Tekbiçimli tip denetimi, çokbiçimli tip denetimi, tip denetimi ve sınıfları. Cebirsel tipler: Cebirsel tiplere giriş, özçağrılı cebirsel tipler, çokbiçimli cebirsel tipler. Soyut veri tipleri: Tip gösterimleri, kuyruklar, tasarım, benzetim, arama ağaçları, kümeler, ilişkiler ve graflar. Amaçlı hesaplama: Amaçlı değerlendirme, hesaplama kuralları, veriye dayalı programlama, ayrıştırma ifadeleri, sonsuz listeler. Durum çalışmaları: Huffman kodları, kodlama ve dekodlama, Huffman ağaçları oluşturma. Eylemlerle programlama: Giriş/çıkış temelleri, yineleme ve özçağırma, do yapısı, monad'lar, ağaçlar üzerinde monadik hesaplama.
 
Haftalık Detaylı Ders Planı
 HaftaDetaylı İçerikÖnerilen Kaynak
 Hafta 1Fonksiyonel Programlamaya Giriş
 Hafta 2Veri Tipleri
 Hafta 3Çiftler ve Listeler
 Hafta 4Fonksiyon tanımlama
 Hafta 5Özyineleme ve Liste Türetme
 Hafta 6Yüksek Dereceli Fonksiyonlar
 Hafta 7Genelleştirme
 Hafta 8Tiplerin Denetimi
 Hafta 9Arasınav
 Hafta 10Cebirsel Tipler
 Hafta 11Cebirsel Veri Tipleri
 Hafta 12Amaçlı Programlama
 Hafta 13Durum Çalışması: Huffman Ağaçları
 Hafta 14Eylemlerle Programlama
 Hafta 15Durum Çalışması: Ayrıştırıcılar
 Hafta 16Dönem sonu sınavı
 
Ders Kitabı / Malzemesi
1Thompson, S. 2001; Haskell: The Craft of Functional Programming, 2nd ed., Addison Wesley, 600 p.
2Rabhi, F.A., Lapalme, G. 1999; Algorithms: A Functional Programming Approach, 1st ed., Addison Wesley, 256 p.
 
İlave Kaynak
1Bird, R. 1998; Introduction to Functional Programming using Haskell, 2nd ed., Prentice Hall, 448 p.
2Cousineau, G., Mauny, M., Callaway, K. 1998; The Functional Approach to Programming, .English ed., Cambridge University Press, 460 p.
 
Ölçme Yöntemi
YöntemHaftaTarih

Süre (Saat)Katkı (%)
Arasınav 9 20/11/2012 2 30
Ödev 14 28/12/2012 0,5 20
Dönem sonu sınavı 16 08/01/2013 2 50
 
Öğrenci Çalışma Yükü
İşlem adıHaftalık süre (saat)

Hafta sayısı

Dönem toplamı