| Ders Adı | Kodu | Yerel Kredi | AKTS | Ders (saat/hafta) | Uygulama (saat/hafta) | Laboratuar (saat/hafta) |
|---|---|---|---|---|---|---|
| İleri Programlama Dilleri | MTM6200 | 3 | 7.5 | 3 | 0 | 0 |
| Önkoşullar | Yok |
|---|
| Yarıyıl | Güz, Bahar |
|---|
| Dersin Dili | İngilizce, Türkçe |
|---|---|
| Dersin Seviyesi | Doktora |
| Dersin Türü | Seçmeli @ Matematik Mühendisliği ABD Matematik Mühendisliği Doktora Programı Seçmeli @ Matematik Mühendisliği ABD Matematik Mühendisliği Yüksek Lisans Programı |
| Ders Kategorisi | Uzmanlık/Alan Dersleri |
| Dersin Veriliş Şekli | Yüz yüze |
| Dersi Sunan Akademik Birim | Matematik Mühendisliği Bölümü |
|---|---|
| Dersin Koordinatörü | Aydın Seçer |
| Dersi Veren(ler) | Aydın Seçer |
| Asistan(lar)ı |
| Dersin Amacı | Çeşitli programlama dilleri, paradigmalar ve ilgili teknikler hakkında kapsamlı bilgi sağlayarak, yazılım geliştirme süreçlerinde kalite ve güvenliği artırmaya yardımcı olmak. |
|---|---|
| Dersin İçeriği | Programlama Dilleri ve Paradigmalarına Giriş: Dillerin tarihçesi ve evrimi, İleri düzey programlama paradigmaları. Tip Sistemleri ve Tip Güvenliği: Statik ve dinamik tip sistemleri, Tip güvenliği, tip çıkarımı ve Hindley-Milner sistemi. Programlama Dilleri Semantiği: Operasyonel, aksiyomatik ve anlambilimsel yaklaşımlar, Denotasyonel ve deneyimsel semantikler. İleri Seviye Nesne Yönelimli Programlama ve Tasarım Modelleri: Nesne yönelimli analiz ve tasarım süreçleri, Mimari ve tasarım örüntüleri. Fonksiyonel Programlama ve Lambda Hesaplamaları: Fonksiyonel programlama paradigmaları ve dilleri Lambda hesaplamaları ve Curry-Howard izomorfizması. Mantıksal Programlama ve İlişkisel Akıl Yürütme: Mantıksal programlama dilleri (ör. Prolog), Kural tabanlı sistemler ve çıkarım motorları. Meta-programlama ve Domain Specific Languages (DSL): Meta-programlama teknikleri ve kullanım alanları, DSL tasarımı ve uygulamaları. Derleyici Tasarımı ve Yapısı: İç ve ara kod temsilleri, Derleyici optimizasyon teknikleri Program Analizi ve Doğrulama: Statik ve dinamik analiz yöntemleri, Program doğrulama ve doğruluk kanıtları. İleri Seviye Eşzamanlılık ve Paralel Programlama: Paralel programlama modelleri ve teknikleri, Eşzamanlılık kontrolü ve kilitlenme önleme stratejileri. İleri Seviye İstisna İşlemleri ve Olay İşleme: İstisna yönetimi ve işlem modelleri, Olay temelli programlama ve reaktif programlama. Kriptografi ve Güvenlik İçin Programlama Dilleri: Güvenlik ve gizlilik için programlama dilleri ve kütüphaneler, Kriptografi kullanarak veri güvenliği sağlama. Kuantum Programlama Dilleri ve Kuantum Bilgisayarlar: Kuantum bilgisayarların temel prensipleri ve özellikleri, Kuantum programlama dilleri ve algoritmaları, Kuantum süperpozisyonu, örtüşme ve kuantum hesaplamalarının geleceği. |
| Ders Kitabı / Malzemesi / Önerilen Kaynaklar |
|
| Opsiyonel Program Bileşenleri | Yok |
Ders Öğrenim Çıktıları
- Farklı programlama dilleri ve paradigmaları hakkında bilgi sahibi olma ve bu dillerin tarihçesini ve evrimini anlama.
- Tip sistemleri ve tip güvenliği konularında bilgi edinme ve statik ve dinamik tip sistemleri arasındaki farkları kavrama.
- Nesne yönelimli programlama, fonksiyonel programlama ve mantıksal programlama gibi ileri düzey programlama tekniklerini öğrenme ve uygulama becerisi kazanma.
- Program analizi ve doğrulama yöntemleriyle yazılımın kalitesini ve güvenliğini artırma becerisi geliştirme.
- Kuantum programlama dilleri ve kuantum bilgisayarlar hakkında temel bilgi edinme ve gelecekteki gelişmeleri takip etme becerisi.
Ders Öğrenim Çıktısı & Program Çıktısı Matrisi
| DÖÇ-1 | DÖÇ-2 | DÖÇ-3 | DÖÇ-4 | DÖÇ-5 |
Haftalık Konular ve İlgili Ön Hazırlık Çalışmaları
| Hafta | Konular | Ön Hazırlık |
|---|---|---|
| 1 | Programlama Dilleri ve Paradigmalarına Giriş: Dillerin tarihçesi ve evrimi, İleri düzey programlama paradigmaları. | Kaynak Kitaplar ve Çevirimiçi Materyaller |
| 2 | Tip Sistemleri ve Tip Güvenliği: Statik ve dinamik tip sistemleri, Tip güvenliği, tip çıkarımı ve Hindley-Milner sistemi. | Kaynak Kitaplar ve Çevirimiçi Materyaller |
| 3 | Programlama Dilleri Semantiği: Operasyonel, aksiyomatik ve anlambilimsel yaklaşımlar, Denotasyonel ve deneyimsel semantikler. | Kaynak Kitaplar ve Çevirimiçi Materyaller |
| 4 | İleri Seviye Nesne Yönelimli Programlama ve Tasarım Modelleri: Nesne yönelimli analiz ve tasarım süreçleri, Mimari ve tasarım örüntüleri. | Kaynak Kitaplar ve Çevirimiçi Materyaller |
| 5 | Fonksiyonel Programlama ve Lambda Hesaplamaları: Fonksiyonel programlama paradigmaları ve dilleri Lambda hesaplamaları ve Curry-Howard izomorfizması. | Kaynak Kitaplar ve Çevirimiçi Materyaller |
| 6 | Mantıksal Programlama ve İlişkisel Akıl Yürütme: Mantıksal programlama dilleri (ör. Prolog), Kural tabanlı sistemler ve çıkarım motorları. | Kaynak Kitaplar ve Çevirimiçi Materyaller |
| 7 | Meta-programlama ve Domain Specific Languages (DSL): Meta-programlama teknikleri ve kullanım alanları, DSL tasarımı ve uygulamaları. | Kaynak Kitaplar ve Çevirimiçi Materyaller |
| 8 | Ara Sınav 1 | |
| 9 | Derleyici Tasarımı ve Yapısı: İç ve ara kod temsilleri, Derleyici optimizasyon teknikleri | Kaynak Kitaplar ve Çevirimiçi Materyaller |
| 10 | Program Analizi ve Doğrulama: Statik ve dinamik analiz yöntemleri, Program doğrulama ve doğruluk kanıtları. | Kaynak Kitaplar ve Çevirimiçi Materyaller |
| 11 | İleri Seviye Eşzamanlılık ve Paralel Programlama: Paralel programlama modelleri ve teknikleri, Eşzamanlılık kontrolü ve kilitlenme önleme stratejileri. | Kaynak Kitaplar ve Çevirimiçi Materyaller |
| 12 | İleri Seviye İstisna İşlemleri ve Olay İşleme: İstisna yönetimi ve işlem modelleri, Olay temelli programlama ve reaktif programlama. | Kaynak Kitaplar ve Çevirimiçi Materyaller |
| 13 | Kriptografi ve Güvenlik İçin Programlama Dilleri: Güvenlik ve gizlilik için programlama dilleri ve kütüphaneler, Kriptografi kullanarak veri güvenliği sağlama. | Kaynak Kitaplar ve Çevirimiçi Materyaller |
| 14 | Kuantum Programlama Dilleri ve Kuantum Bilgisayarlar: Kuantum bilgisayarların temel prensipleri ve özellikleri, Kuantum programlama dilleri ve algoritmaları, Kuantum süperpozisyonu, örtüşme ve kuantum hesaplamalarının geleceği. | Kaynak Kitaplar ve Çevirimiçi Materyaller |
| 15 | Konu Tekrarı ve Uygulamaları | |
| 16 | Final |
Değerlendirme Sistemi
| Etkinlikler | Sayı | Katkı Payı |
|---|---|---|
| Devam/Katılım | 1 | 10 |
| Laboratuar | ||
| Uygulama | ||
| Arazi Çalışması | ||
| Derse Özgü Staj | ||
| Küçük Sınavlar/Stüdyo Kritiği | ||
| Ödev | ||
| Sunum/Jüri | ||
| Projeler | 1 | 20 |
| Seminer/Workshop | ||
| Ara Sınavlar | 1 | 30 |
| Final | 1 | 40 |
| Dönem İçi Çalışmaların Başarı Notuna Katkısı | ||
| Final Sınavının Başarı Notuna Katkısı | ||
| TOPLAM | 100 | |
AKTS İşyükü Tablosu
| Etkinlikler | Sayı | Süresi (Saat) | Toplam İşyükü |
|---|---|---|---|
| Ders Saati | 13 | 3 | |
| Laboratuar | |||
| Uygulama | |||
| Arazi Çalışması | |||
| Sınıf Dışı Ders Çalışması | 13 | 6 | |
| Derse Özgü Staj | |||
| Ödev | |||
| Küçük Sınavlar/Stüdyo Kritiği | |||
| Projeler | 1 | 20 | |
| Sunum / Seminer | |||
| Ara Sınavlar (Sınav Süresi + Sınav Hazırlık Süresi) | 1 | 15 | |
| Final (Sınav Süresi + Sınav Hazırlık Süresi) | 1 | 20 | |
| Toplam İşyükü : | |||
| Toplam İşyükü / 30(s) : | |||
| AKTS Kredisi : | |||
| Diğer Notlar | Yok |
|---|