Genel Bilgi
Kod | CEN408 |
Ad | Compilers |
Dönem | 2023-2024 Eğitim-Öğretim Yılı |
Yarıyıl | 8. Yarıyıl |
Süre (T+U) | 3-0 (T-U) (17 Hafta) |
AKTS | 6 AKTS |
Yerel Kredi | 3 Yerel Kredi |
Eğitim Dil | İngilizce |
Seviye | Lisans Dersi |
Tür | Normal |
Öğretim Şekli | Yüz Yüze Öğretim |
Bilgi Paketi Koordinatörü | Prof. Dr. SELMA AYŞE ÖZEL |
Dersin Öğretim Elemanı |
Güncel dönem ders programı henüz yapılmamıştır. |
Dersin Amacı / Hedefi
Programlama dilleri için gramer okuyabilmek, yazabilmek; derleyici sistemlerinin nasıl çalıştığını öğrenmek.
Dersin İçeriği
Gramer okuma ve yazma, sözlüksel analiz, çözümleme, anlamsal analiz, sembol tabloları, çalışma zamanı analizi, kod üretme, optimizasyon, basit bir dil için derleyici tasarlama.
Dersin Ön Koşulu
Programlama dillerinin temel kavramlarının bilinmesi gerekir.
Kaynaklar
Aho, A., Lam, M.S., Sethi, R., Ullman, J.D., Compilers: Principles, Techniques, and Tools, 2nd Edition, Addison Wesley, 2006.
Notlar
Douglas Thain, Introduction to Compilers and Language Design, 2nd edition, 2020.
Dersin Öğrenme Çıktıları
Sıra | Dersin Öğrenme Çıktıları |
---|---|
ÖÇ01 | Bir programlama dili için geliştirilmiş bir grameri okuyabilir. |
ÖÇ02 | Yeni bir programlama dili için gramer yazabilir. |
ÖÇ03 | Bir derleyicinin ana bileşenlerinin neler olduğunu açıklar. |
ÖÇ04 | Bir derleyicinin nasıl çalıştığını açıklar. |
Program Öğrenme Çıktıları ile İlişkisi
Sıra | Tür | Program Öğrenme Çıktıları | Duzey |
---|---|---|---|
PÖÇ01 | Bilgi - Kuramsal, Olgusal | 1. Matematik, fen bilimleri ve bilgisayarla ilgili mühendislik konularında yeterli altyapıya sahip olma; bu alanlardaki kuramsal bilgileri beraber kullanabilme | 3 |
PÖÇ02 | Bilgi - Kuramsal, Olgusal | 2. Karmaşık mühendislik problemlerini saptama, tanımlama, formüle etme ve çözme becerisi; bu amaçla uygun analitik yöntemler ve modelleme tekniklerini seçme ve uygulama | |
PÖÇ03 | Bilgi - Kuramsal, Olgusal | 3. Karmaşık bir sistemi, sistem bileşenini ya da süreci analiz etme ve istenen gereksinimleri karşılamak üzere gerçekçi kısıtlar altında tasarlama becerisi; bu doğrultuda modern tasarım yöntemlerini uygulama becerisi | 4 |
PÖÇ04 | Bilgi - Kuramsal, Olgusal | 4. Mühendislik uygulamaları için gerekli olan modern teknik ve araçları geliştirme, seçme ve kullanma becerisi; bilişim teknolojilerini etkin kullanma becerisi | 2 |
PÖÇ05 | Bilgi - Kuramsal, Olgusal | 5. Karmaşık bilgisayar mühendisliği problemlerin çözümüne ilişkin deney tasarlama, deney yapma, veri toplama, sonuçları analiz etme ve yorumlama becerisi | |
PÖÇ06 | Bilgi - Kuramsal, Olgusal | Bireysel olarak ve disiplin içi/çok disiplinli takımlarda etkin çalışabilme becerisi, sorumluluk alma ve özgüven | 3 |
PÖÇ07 | Beceriler - Bilişsel, Uygulamalı | Bilgiye erişebilme, kaynak araştırması yapabilme ve bilgi kaynaklarını kullanabilme becerisi | 5 |
PÖÇ08 | Beceriler - Bilişsel, Uygulamalı | Yaşam boyu öğrenmenin gerekliliği bilinci; bilim ve teknolojideki gelişmeleri izleme ve kendini sürekli yenileme becerisi | 4 |
PÖÇ09 | Yetkinlikler - Bağımsız Çalışabilme ve Sorumluluk Alabilme Yetkinliği | 9. Türkçe sözlü ve yazılı etkin iletişim kurma, ve en az bir yabancı dilde teknik yayın okuyup anlayabilme, rapor hazırlama ve sunum yapma becerisi | 3 |
PÖÇ10 | Yetkinlikler - Öğrenme Yetkinliği | Mesleki ve etik sorumluluk bilinci; mühendislik uygulamalarında kullanılan standartlar hakkında bilgi | |
PÖÇ11 | Yetkinlikler - Öğrenme Yetkinliği | 11. Proje yönetimi, işyeri uygulamaları, çalışanların sağlığı, çevre ve iş güvenliği, ve mühendislik uygulamalarının hukuksal sonuçları hakkında farkındalık | |
PÖÇ12 | Yetkinlikler - Öğrenme Yetkinliği | 12. Mühendislik çözümlerinin ve uygulamalarının evrensel ve toplumsal boyutlardaki etkileri, girişimcilik ve yenilikçilik, ve çağın sorunları hakkında bilgi sahibi olmak |
Haftalık Akış
Hafta | Konu | Ön Hazırlık | Yöntemler |
---|---|---|---|
1 | Derleyici sistemlerine giriş | Ders notlarının okunması | Öğretim Yöntemleri: Anlatım, Soru-Cevap |
2 | Sözlüksel analiz: Düzenli ifadeler, Lex | Ders notlarının okunması | Öğretim Yöntemleri: Anlatım, Soru-Cevap |
3 | Sözlüksel analiz: Otomata | Ders notlarının okunması | Öğretim Yöntemleri: Anlatım, Soru-Cevap |
4 | Bağlamdan Bağımsız Gramerler | Ders notlarının okunması | Öğretim Yöntemleri: Anlatım, Soru-Cevap |
5 | Yukarıdan aşağıya ve LL inceleme | Ders notlarının okunması | Öğretim Yöntemleri: Anlatım, Soru-Cevap |
6 | Aşağıdan yukarıya, SLR, LR inceleme | Ders notlarının okunması | Öğretim Yöntemleri: Anlatım, Soru-Cevap |
7 | Yacc sistemi | Ders notlarının okunması | Öğretim Yöntemleri: Anlatım, Soru-Cevap |
8 | Ara Sınav | Ders notlarının okunması | Ölçme Yöntemleri: Yazılı Sınav |
9 | Soyut yazım kuralı ağacı | Ders notlarının okunması | Öğretim Yöntemleri: Anlatım, Soru-Cevap |
10 | Tip kontrolü | Ders notlarının okunması | Öğretim Yöntemleri: Anlatım, Soru-Cevap |
11 | Assembly dili | Ders notlarının okunması | Öğretim Yöntemleri: Anlatım, Soru-Cevap |
12 | Kode üretme | Ders notlarının okunması | Öğretim Yöntemleri: Anlatım, Soru-Cevap |
13 | Çalışma zamanı | Ders notlarının okunması | Öğretim Yöntemleri: Anlatım, Soru-Cevap |
14 | Optimizasyon | Ders notlarının okunması | Öğretim Yöntemleri: Anlatım, Soru-Cevap |
15 | Proje sunumları | Ders notlarının okunması, proje sunumu hazırlanması. | Öğretim Yöntemleri: Grup Çalışması, Proje Temelli Öğrenme |
16 | Yarıyıl Sonu Sınavına hazırlık | Ders notlarının okunması | Öğretim Yöntemleri: Soru-Cevap |
17 | Yarıyıl Sonu Sınavları | Ders notlarının okunması | Ölçme Yöntemleri: Yazılı Sınav |
Öğrenci İş Yükü - AKTS
Çalışmalar | Sayısı | Süresi (Saat) | İş Yükü (Saat) |
---|---|---|---|
Ders ile İlgili Çalışmalar | |||
Ders (Sınav haftaları dahil değildir) | 14 | 3 | 42 |
Sınıf Dışı Ders Çalışma (Ön çalışma, pekiştirme) | 14 | 5 | 70 |
Değerlendirmeler ile İlgili Çalışmalar | |||
Ödev, Proje, Diğer | 1 | 12 | 12 |
Ara Sınavlar (Yazılı, Sözlü, vs.) | 1 | 12 | 12 |
Yarıyıl/Yıl Sonu/Final Sınavı | 1 | 20 | 20 |
Toplam İş Yükü (Saat) | 156 | ||
Toplam İş Yükü / 25 (s) | 6,24 | ||
AKTS | 6 AKTS |