AKTS - Dil İşleyiciler
Dil İşleyiciler (CMPE424) Ders Detayları
| Ders Adı | Ders Kodu | Dönemi | Saati | Uygulama Saati | Laboratuar Hours | Kredi | AKTS |
|---|---|---|---|---|---|---|---|
| Dil İşleyiciler | CMPE424 | Alan Seçmeli | 3 | 0 | 0 | 3 | 5 |
| Ön Koşul Ders(ler)i |
|---|
| N/A |
| Dersin Dili | İngilizce |
|---|---|
| Dersin Türü | Seçmeli Dersler |
| Dersin Seviyesi | Fen Bilimleri Yüksek Lisans |
| Ders Verilme Şekli | Yüz Yüze |
| Dersin Öğrenme ve Öğretme Teknikleri | Anlatım. |
| Dersin Öğretmen(ler)i |
|
| Dersin Amacı | Öğrenciye derleyici tasarımı uygulaması bağlamında dil işleyici geliştirebilmesi için gereken yeteneklerin kazandırılması. |
| Dersin Eğitim Çıktıları |
Bu dersi başarıyla tamamlayabilen öğrenciler;
|
| Dersin İçeriği | Derleme ve yorumlamaya ilişkin temel kavramlar, tek-geçişli ve çoklu-geçişli dil çevirmenleri, sözcük analizörü, yukarıdan aşağıya ayrıştırma ve LL(1) gramerleri, özyineli iniş metodu, aşağıdan yukarı ayrıştırma, kaydır-indirge tekniği, operatör öncelik grameri, LR(0) ve SLR(1) grammerleri, sözdizim yönlendirimli çevrim, hata işleme ve toparlanma, |
Haftalık Konular ve İlgili Ön Hazırlık Çalışmaları
| Hafta | Konular | Ön Hazırlık |
|---|---|---|
| 1 | Derlemeye giriş | Ana ders kitabı Bölüm 1 |
| 2 | Basit tek-geçişli derleyici | Ana ders kitabı Bölüm 2 |
| 3 | Sözcük analizi | Ana ders kitabı Bölüm 3 |
| 4 | Sözdizim analizi | Ana ders kitabı Bölüm 4 |
| 5 | Sözdizim yönlemdirimli çevrim | Ana ders kitabı Bölüm 5 |
| 6 | Sözdizim yönlemdirimli çevrim | Ana ders kitabı Bölüm 5 |
| 7 | Tip kontrolü | Ana ders kitabı Bölüm 6 |
| 8 | Çalıştırma ortamları | Ana ders kitabı Bölüm 7 |
| 9 | Çalıştırma ortamları | Ana ders kitabı Bölüm 7 |
| 10 | Çalıştırma ortamları | Ana ders kitabı Bölüm 7 |
| 11 | Ara kod üretimi | Ana ders kitabı Bölüm 8 |
| 12 | Kod üretimi | Ana ders kitabı Bölüm 9 |
| 13 | Kod üretimi | Ana ders kitabı Bölüm 9 |
| 14 | Kod otimizasyonu | Ana ders kitabı Bölüm 10 |
| 15 | Gözden Geçirme | |
| 16 | Gözden Geçirme |
Kaynaklar
| Ders Kitabı | 1. Alfred V. Aho, Monica S. Lam, Ravi Sethi, Jeffrey D. Ullman, Compilers: Principles, Techniques, and Tools (2nd Edition), 2006, ISBN: 0321486811. (Dragon Book) |
|---|---|
| Diğer Kaynaklar | 2. Steven Muchnick, Advanced Compiler Design and Implementation, 1997, Morgan Kaufmann Publishers, ISBN:1-55860-320-4. |
| 3. Doug Brown, John Levine, Tony Mason, UNIX Programming Tools: Lex & Yacc, O’Reilly, 1992. | |
| 4. Dick Grune, Henri E. Bal, Ceriel J.H. Jacobs, and Koen Langendoen VU University Amsterdam, Amsterdam, The Netherlands. John Wiley & Sons, Ltd., pp. 736 + xviii; ISBN 0471976970, 2000. | |
| 5. http://dinosaur.compilertools.net/yacc/. | |
| 6. Andrew W. Appel, Jens Palsberg, “Modern Compiler Implementation in Java (2nd edition)”, Cambridge Univ. Press, ISBN-13: 9780521820608, 2002. |
Değerlendirme System
| Çalışmalar | Sayı | Katkı Payı |
|---|---|---|
| Devam/Katılım | - | - |
| Laboratuar | - | - |
| Uygulama | - | - |
| Alan Çalışması | - | - |
| Derse Özgü Staj | - | - |
| Küçük Sınavlar/Stüdyo Kritiği | - | - |
| Ödevler | 2 | 15 |
| Sunum | - | - |
| Projeler | 1 | 30 |
| Rapor | - | - |
| Seminer | - | - |
| Ara Sınavlar/Ara Juri | 1 | 25 |
| Genel Sınav/Final Juri | 1 | 30 |
| Toplam | 5 | 100 |
| Yarıyıl İçi Çalışmalarının Başarı Notu Katkısı | 70 |
|---|---|
| Yarıyıl Sonu Çalışmalarının Başarı Notuna Katkısı | 30 |
| Toplam | 100 |
Kurs Kategorisi
| Temel Meslek Dersleri | X |
|---|---|
| Uzmanlık/Alan Dersleri | |
| Destek Dersleri | |
| İletişim ve Yönetim Becerileri Dersleri | |
| Aktarılabilir Beceri Dersleri |
Dersin Öğrenim Çıktılarının Program Yeterlilikleri ile İlişkisi
| # | Program Yeterlilikleri / Çıktıları | Katkı Düzeyi | ||||
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | ||
| 1 | İleri düzey hesaplama ve/veya bilişim bilgilerini yazılım mühendisliği problemlerini çözmede uygulama becerisi. | |||||
| 2 | Farklı teknolojiler, yazılım mimarileri ve yaşam-döngüsü yaklaşımları kullanarak çözümler geliştirmek. | |||||
| 3 | Bir yazılım sistemini, bileşenini, sürecini veya programını, modern teknikler ve yazılım mühendisliği uygulamalarına yönelik mühendislik araçlarını kullanarak, tasarlama, gerçekleştirme ve değerlendirme becerisi. | |||||
| 4 | Yazılım gereksinimlerini anlamak için, veri toplama, analiz etme ve yorumlama becerisi. | |||||
| 5 | Yazılım projeleri üzerindeki çalışmalar kapsamında ortaya çıkan problemler üzerinde etkin sözlü ve yazılı iletişim ve kritik düşünme becerileri. | |||||
| 6 | Bilim ve teknoloji alanındaki güncel gelişmeleri izlemede bilgiye erişim becerisi ve yazılım mühendisliği alanında bilimsel araştırma yapmak ve bir projeyi gerçekleştirmek. | |||||
| 7 | Yazılım Mühendisliği ile ilgili profesyonel, hukuksal, sosyal ve sorumluluklar konularında anlayış. | |||||
| 8 | Proje ve risk yönetim becerisi; girişimciliğin, yenilikçilik ve sürdürülebilir kalkınmanın önemi hakkında farkındalık; uluslararası standartların ve yöntemlerin bilinmesi. | |||||
| 9 | Yazılım Mühendisliği çözümlerinin, karar verme boyutunda, küresel, sosyal ve hukuki boyutları üzerindeki etkisini anlamak. | |||||
| 10 | Yazılım Mühendisliği uygulamaları için mükemmellik standartlarının geliştirilmesi, benimsenmesi ve sürekli kullanımının desteklenmesi. | |||||
ECTS/İş Yükü Tablosu
| Aktiviteler | Sayı | Süresi (Saat) | Toplam İş Yükü |
|---|---|---|---|
| Teorik Ders saati (Sınav haftası dahildir: 16 x teorik ders saati) | 16 | 3 | 48 |
| Laboratuar | |||
| Uygulama | |||
| Derse Özgü Staj | |||
| Alan Çalışması | |||
| Sınıf Dışı Ders Çalışma Süresi | 16 | 2 | 32 |
| Sunum/Seminer Hazırlama | |||
| Projeler | 1 | 15 | 15 |
| Raporlar | |||
| Ödevler | 2 | 5 | 10 |
| Küçük Sınavlar/Stüdyo Kritiği | |||
| Ara Sınavlara/Ara Juriye Hazırlanma Süresi | 1 | 10 | 10 |
| Genel Sınava/Genel Juriye Hazırlanma Süresi | 1 | 15 | 15 |
| Toplam İş Yükü | 130 | ||
