Müfredat Adı | Ders Kodu | Ders Adı | Ders Türü | Dönem | AKTS | Teorik | Uygulama |
Matematik - Lisans - 2014 | MAT4045 | Fonksiyonel Programlama | Seçmeli | 5 | 2,00 | 2 | 0 |
Müfredat Adı | Ders Kodu | Ders Adı | Ders Türü | Dönem | AKTS | Teorik | Uygulama |
Matematik - Lisans - 2014 | MAT4045 | Fonksiyonel Programlama | Seçmeli | 5 | 2,00 | 2 | 0 |
Bu ders öğrencilere fonksiyonel programlama teknikleri, bu programlama paradigmasının avantaj ve dezavantajları ve pratikte kullanımı hakkında bilgi verir. Bu yaklaşım, programcının çözmek için gereken işlemlerin tam sırasını belirtmek yerine, çözülecek sorunu sembolik olarak tanımlaması anlamında bildirimseldir. Çözülen problemin özüne odaklanmaya ve daha karmaşık algoritmaları kompakt bir şekilde uygulamaya izin verir. İşlevsel programlama, paralelleştirme ve algoritmaların otomatik olarak doğrulanması için dikkate değer avantajlara sahiptir ve en kullanışlı işlevsel programlama kavramları, standart programlama dillerine giderek daha sık tanıtılmaktadır. Fonksiyonel programlamanın sayılar yerine sembollere odaklanması nedeniyle, fonksiyonel programlama, etmen sistemleri veya sembolik makine öğrenimi gibi yapay zeka alanlarında yoğun olarak kullanılmaktadır.
-
emel kavramlar: fonksiyonlar, ilişkiler, özyineleme, kuyruk-özyineleme, tür sistemleri, polimorfizm, veri türleri, özyinelemeli veri türleri, üst düzey işlevlere giriş, veri soyutlama
bilgisayar uygulamalı anlatım
Yok
Türkçe
1) Pierce, B. C. (2002). Types and Programming Languages. The MIT Press (1st edition). Pierce's book will be a useful reference for some of the concepts introduced in the first half of the course, although we'll be taking a less formal approach. 2) Richard Bird, Introduction to Functional Programming using Haskell, second edition, Prentice-Hall International, 1998. 3) Cook, Mary Rose. 2014. "A practical introduction to functional programming." Blog. Accessed 2017-04-05. 4) Michaelson, Greg. 2011. "An Introduction to Functional Programming Through Lambda Calculus." Dover Publications. Accessed 2017-04-05.
-
Hafta | Teorik |
---|---|
1 | Giriş |
2 | Birinci sınıf değerler olarak fonksiyonlar |
3 | Bileşik veri türleri (listeler, demetler ve kullanıcı tanımlı türler) |
4 | Özyineleme ve özyinelemeli veri türleri |
5 | Tekrarlayan programlamayı önlemek için soyutlama kullanma |
6 | Cebirsel veri türleri |
7 | Aa sınav hazırlığı |
8 | Arar sınav |
9 | Polimorfizm ve tip sınıfları |
10 | Zaman karmaşıklığı: verimli ve verimsiz işlevsel programlar |
11 | Saf fonksiyonlar vs giriş-çıktı |
12 | Modüller ve soyut veri türleri |
13 | Fonksiyonel programları test etme |
14 | Tembel değerlendirme ve sonsuz nesneler |
15 | 12) Mathematica tanıtımı |
16 | Sınav hazırlığı |
17 | Final sınavı |
Değerlendirme | Değer |
---|---|
Yarıyıl (Yıl) İçi Etkinlikleri | 40 |
Yarıyıl (Yıl) Sonu Etkinlikleri | 60 |
Yarıyıl (Yıl) Sonu Etkinlikleri | Değer |
Final Sınavı | 100 |
Etkinlikler | Sayısı | Süresi (saat) | Toplam İş Yükü (saat) |
---|---|---|---|
Ders Öncesi/Sonrası Bireysel Çalışma | 5 | 1 | 5 |
Proje ve Hazırlığı | 1 | 3 | 3 |
Ödev ve Hazırlığı | 0 | 0 | 0 |
Laboratuvar ve Hazırlığı | 0 | 0 | 0 |
Atölye ve Hazırlığı | 0 | 0 | 0 |
Sunum ve Hazırlığı | 0 | 0 | 0 |
Seminer ve Hazırlığı | 0 | 0 | 0 |
Demo ve Hazırlığı | 0 | 0 | 0 |
Araştırma ve Hazırlığı | 0 | 0 | 0 |
Rapor ve Hazırlığı | 0 | 0 | 0 |
Arasınav ve Hazırlığı | 0 | 0 | 0 |
Kısa Sınav ve Hazırlığı | 0 | 0 | 0 |
Final ve Hazırlığı | 0 | 0 | 0 |
Teorik Ders Saati | 10 | 2 | 20 |
Uygulama Ders Saati | 10 | 2 | 20 |
ÖÇ1 | |||||||||||||||||
ÖÇ2 | |||||||||||||||||
ÖÇ3 | |||||||||||||||||
ÖÇ4 | |||||||||||||||||
ÖÇ5 |