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 | |
PÇ-1 | - | - | - | - | - |
PÇ-2 | - | - | - | - | - |
PÇ-3 | - | - | - | - | - |
PÇ-4 | - | - | - | - | - |
PÇ-5 | - | - | - | - | - |
PÇ-6 | - | - | - | - | - |
PÇ-7 | - | - | - | - | - |
PÇ-8 | - | - | - | - | - |
PÇ-9 | - | - | - | - | - |
PÇ-10 | - | - | - | - | - |
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 |
---|