BİLGİ TEKNOLOJİLERİ (YL) (TEZLİ) (İNGİLİZCE)
Yüksek Lisans TYYÇ: 7. Düzey QF-EHEA: 2. Düzey EQF-LLL: 7. Düzey

Ders Genel Tanıtım Bilgileri

Ders Kodu: 3024002008
Ders İsmi: Special Topics in Information Technologies
Ders Yarıyılı: Bahar
Ders Kredileri:
Teorik Pratik Kredi AKTS
3 0 3 6
Öğretim Dili: EN
Ders Koşulu:
Ders İş Deneyimini Gerektiriyor mu?: Hayır
Dersin Türü: Department Elective
Dersin Seviyesi:
Yüksek Lisans TYYÇ:7. Düzey QF-EHEA:2. Düzey EQF-LLL:7. Düzey
Dersin Veriliş Şekli: Yüz yüze
Dersin Koordinatörü: Doç. Dr. Esengül SALTÜRK
Dersi Veren(ler):
Dersin Yardımcıları:

Dersin Amaç ve İçeriği

Dersin Amacı: Bu dersin amacı, öğrencilere derleyici tasarlama ve gerçekleştirme bilgi ve becerilerini kazandırmaktır.
Dersin İçeriği: Bu ders, öğrencilere biçimsel bir dili başka bir biçimsel dile çevirme yöntemlerini tanımlayarak derleyicileri tanıtmaktadır. Tarayıcı ile başlayan ve ardından ayrıştırıcı tasarımı ve uygulaması ile devam eden derleme adımlarını açıklar. Kurs ayrıca semantik analiz ve yerel ve global derleyici optimizasyon algoritmaları hakkında bilgi sağlar. Ders boyunca her öğrencinin lex ve yacc araçlarını kullanarak basit bir derleyici uygulaması beklenmektedir.

Öğrenme Kazanımları

Bu dersi başarıyla tamamlayabilen öğrenciler;
Öğrenme Kazanımları
1 - Bilgi
Kuramsal - Olgusal
1) Öğrencilerin programlama sürecini aşamalarını anlayacak ve her bir başlatma aşamasının amacını ve gerçekleştirme amacını açıklayabilecektir
2) Öğrenciler, modern derleyicilerin işlev ve karmaşıklığı hakkında bilgi sahibi olacaktır.
2 - Beceriler
Bilişsel - Uygulamalı
3 - Yetkinlikler
İletişim ve Sosyal Yetkinlik
Öğrenme Yetkinliği
1) Öğrenciler, bilgisayar bilimlerinin biçimsel diller, dilbilgileri ve otomatlar gibi teroik kavramlarına pratik yaklaşım olanağı bulacaktır.
2) Öğrenciler, bilgisayar bilimlerinin biçimsel diller, dilbilgileri ve otomatlar gibi teroik kavramlarına pratik yaklaşım olanağı bulacaktır.
3) Öğrenciler, derleyiciler tarafından kullanılan optimizasyon algoritmalarını bilir.
4) Öğrenciler çok işlemcili sistemler için derleyici tasarımı yöntemlerini bilir.
Alana Özgü Yetkinlik
Bağımsız Çalışabilme ve Sorumluluk Alabilme Yetkinliği

Ders Akış Planı

Hafta Konu Ön Hazırlık
1) Derleyicilere giriş Computing Handbook: Two-Volume Set 3rd Edition by Allen Tucker (Editor), Teofilo Gonzalez (Editor), Heikki Topi (Editor), Jorge Diaz-Herrera (Editor)
2) TARAYICILAR I (DÜZENLİ DİLLER, SÖZLÜK ÖZELLİKLERİ) Computing Handbook: Two-Volume Set 3rd Edition by Allen Tucker (Editor), Teofilo Gonzalez (Editor), Heikki Topi (Editor), Jorge Diaz-Herrera (Editor)
3) Tarayıcılar II (Düzenli ifadeler, deterministik olmayan sonlu otomatlar, deterministik sonlu otomatlar, deterministik sonlu otomatlar indirgeme, gerçekleştirim) Computing Handbook: Two-Volume Set 3rd Edition by Allen Tucker (Editor), Teofilo Gonzalez (Editor), Heikki Topi (Editor), Jorge Diaz-Herrera (Editor)
4) AYRIŞTIRICILAR I (CFG'ler, PARSE TREES, YUKARIDAN AŞAĞI AYRIŞTIRICILAR) Computing Handbook: Two-Volume Set 3rd Edition by Allen Tucker (Editor), Teofilo Gonzalez (Editor), Heikki Topi (Editor), Jorge Diaz-Herrera (Editor)
5) Ayrıştırıcılar II (ÖYLEYİCİ İNİŞ, ÖNGÖRÜLÜ AYRIŞTIRICILAR) Computing Handbook: Two-Volume Set 3rd Edition by Allen Tucker (Editor), Teofilo Gonzalez (Editor), Heikki Topi (Editor), Jorge Diaz-Herrera (Editor)
6) AYRIŞTIRICILAR III (AŞAĞIDAN YUKARI AYRIŞTIRICILAR) Computing Handbook: Two-Volume Set 3rd Edition by Allen Tucker (Editor), Teofilo Gonzalez (Editor), Heikki Topi (Editor), Jorge Diaz-Herrera (Editor)
7) AYRIŞTIRICILAR IV (SHIFT-REDUCE AYRIŞTIRMA, SLR, LR(K) PARSERLER) Computing Handbook: Two-Volume Set 3rd Edition by Allen Tucker (Editor), Teofilo Gonzalez (Editor), Heikki Topi (Editor), Jorge Diaz-Herrera (Editor)
8) ARASINAV Computing Handbook: Two-Volume Set 3rd Edition by Allen Tucker (Editor), Teofilo Gonzalez (Editor), Heikki Topi (Editor), Jorge Diaz-Herrera (Editor)
9) BAĞLAM DUYARLI ANALİZ Computing Handbook: Two-Volume Set 3rd Edition by Allen Tucker (Editor), Teofilo Gonzalez (Editor), Heikki Topi (Editor), Jorge Diaz-Herrera (Editor)
10) Ara Gösterimler Computing Handbook: Two-Volume Set 3rd Edition by Allen Tucker (Editor), Teofilo Gonzalez (Editor), Heikki Topi (Editor), Jorge Diaz-Herrera (Editor)
11) Yordam Soyutlama Computing Handbook: Two-Volume Set 3rd Edition by Allen Tucker (Editor), Teofilo Gonzalez (Editor), Heikki Topi (Editor), Jorge Diaz-Herrera (Editor)
12) Kod şekli, Optimizasyonlar I Computing Handbook: Two-Volume Set 3rd Edition by Allen Tucker (Editor), Teofilo Gonzalez (Editor), Heikki Topi (Editor), Jorge Diaz-Herrera (Editor)
13) Yerel Optimizasyonlar Computing Handbook: Two-Volume Set 3rd Edition by Allen Tucker (Editor), Teofilo Gonzalez (Editor), Heikki Topi (Editor), Jorge Diaz-Herrera (Editor)
14) Optimizasyon II Computing Handbook: Two-Volume Set 3rd Edition by Allen Tucker (Editor), Teofilo Gonzalez (Editor), Heikki Topi (Editor), Jorge Diaz-Herrera (Editor)
15) KÜRESEL OPTİMİZASYONLAR Computing Handbook: Two-Volume Set 3rd Edition by Allen Tucker (Editor), Teofilo Gonzalez (Editor), Heikki Topi (Editor), Jorge Diaz-Herrera (Editor)
16) FİNAL Computing Handbook: Two-Volume Set 3rd Edition by Allen Tucker (Editor), Teofilo Gonzalez (Editor), Heikki Topi (Editor), Jorge Diaz-Herrera (Editor)

Kaynaklar

Ders Notları / Kitaplar: A.V. AHO, M.S. LAM, R. SETHI, J.D. ULLMAN, “COMPILERS: PRINCIPLES, TECHNIQUES AND TOOLS, 2nd ED., ADDISON WESLEY, 2006.

K.D. COOPER, L. TORCZON, “ENGINEERING A COMPILER”, 2nd ED., MORGAN KAUFMANN, 2012.

Bison: The Yacc-compatible Parser Generator
by Charles Donnelly and Richard Stallman | Nov 11, 2015

Effective Flex & Bison
by Chris L. verBurg | May 23, 2018
Diğer Kaynaklar: A.V. AHO, M.S. LAM, R. SETHI, J.D. ULLMAN, “COMPILERS: PRINCIPLES, TECHNIQUES AND TOOLS, 2nd ED., ADDISON WESLEY, 2006.

K.D. COOPER, L. TORCZON, “ENGINEERING A COMPILER”, 2nd ED., MORGAN KAUFMANN, 2012.

Bison: The Yacc-compatible Parser Generator
by Charles Donnelly and Richard Stallman | Nov 11, 2015

Effective Flex & Bison
by Chris L. verBurg | May 23, 2018

Ders - Program Öğrenme Kazanım İlişkisi

Ders Öğrenme Kazanımları

1

2

3

4

5

6

Program Kazanımları
1) Yazılım mühendisliği, veri yönetimi ve bilgisayar güvenliği gibi temel bilgi teknolojilerindeki güncel teknik kavramları ve uygulamaları kullanma becerisi.
2) Kullanıcı ihtiyaçlarının belirlenmesi, analiz edilmesi ve bilgisayar tabanlı sistemlerin seçiminde, değerlendirilmesinde ve yönetiminde kullanımının anlaşılması.
3) Veri yapılarını kullanma ve algoritma geliştirme becerisi.
4) Karmaşık büyük veri sistemlerini analiz etme ve yorumlama becerisi.
5) Makine öğrenmesindeki kavram ve algoritmaların yorumlanması ve uygulanması becerisi.
6) Veri analizi alanındaki derin öğrenmenin Matematik temellerinin anlaşılması ve teoriyi uygulama becerisi.
7) Karmaşık veri yapılarını çözme, derin öğrenme modelleri geliştirme ve uygulama becerisi ve bu konularla ilgili yapay zeka odaklı araştırmaları yorumlama becerisi.
8) Görüntü analizi, doğal dil işleme ve öneri sistemlerindeki sorunları çözmek için derin öğrenme tekniklerini uygulama ve gerçek dünya veri kümeleri ve projelerini yorumlama becerisi.
9) Dijital sinyal işlemenin temel prensiplerini ve matematiksel altyapısını pratik uygulamalara aktarma becerisi.
10) İnternet aracılığıyla kullanılan araç ve teknolojiler ile sunucu kodlama dilleri ve araçları için kullanılan farklı teknolojiler hakkında bilgi kazanılması.
11) Tek hücreli organizmalarda genetik bilgi akışı ve çok hücreli organizmalarda genlerin nasıl işlediğinin anlaşılması ve biyoteknoloji alanındaki uygulamaları yorumlama ve uygulama becerisi.
12) Etik değerlerin bilincinde olunması ve bu değerler çerçevesinde araştırma ve uygulama yapılması gerekliliğinin anlaşılması.

Ders - Öğrenme Kazanımı İlişkisi

Etkisi Yok 1 En Düşük 2 Düşük 3 Orta 4 Yüksek 5 En Yüksek
           
Dersin Program Kazanımlarına Etkisi Katkı Payı
1) Yazılım mühendisliği, veri yönetimi ve bilgisayar güvenliği gibi temel bilgi teknolojilerindeki güncel teknik kavramları ve uygulamaları kullanma becerisi.
2) Kullanıcı ihtiyaçlarının belirlenmesi, analiz edilmesi ve bilgisayar tabanlı sistemlerin seçiminde, değerlendirilmesinde ve yönetiminde kullanımının anlaşılması.
3) Veri yapılarını kullanma ve algoritma geliştirme becerisi.
4) Karmaşık büyük veri sistemlerini analiz etme ve yorumlama becerisi.
5) Makine öğrenmesindeki kavram ve algoritmaların yorumlanması ve uygulanması becerisi.
6) Veri analizi alanındaki derin öğrenmenin Matematik temellerinin anlaşılması ve teoriyi uygulama becerisi.
7) Karmaşık veri yapılarını çözme, derin öğrenme modelleri geliştirme ve uygulama becerisi ve bu konularla ilgili yapay zeka odaklı araştırmaları yorumlama becerisi.
8) Görüntü analizi, doğal dil işleme ve öneri sistemlerindeki sorunları çözmek için derin öğrenme tekniklerini uygulama ve gerçek dünya veri kümeleri ve projelerini yorumlama becerisi.
9) Dijital sinyal işlemenin temel prensiplerini ve matematiksel altyapısını pratik uygulamalara aktarma becerisi.
10) İnternet aracılığıyla kullanılan araç ve teknolojiler ile sunucu kodlama dilleri ve araçları için kullanılan farklı teknolojiler hakkında bilgi kazanılması.
11) Tek hücreli organizmalarda genetik bilgi akışı ve çok hücreli organizmalarda genlerin nasıl işlediğinin anlaşılması ve biyoteknoloji alanındaki uygulamaları yorumlama ve uygulama becerisi.
12) Etik değerlerin bilincinde olunması ve bu değerler çerçevesinde araştırma ve uygulama yapılması gerekliliğinin anlaşılması.

Öğrenme Etkinliği ve Öğretme Yöntemleri

Ödev
Proje Hazırlama

Ölçme ve Değerlendirme Yöntemleri ve Kriterleri

Ölçme ve Değerlendirme

Yarıyıl İçi Çalışmaları Aktivite Sayısı Katkı Payı
Projeler 1 % 60
Yarıyıl/Yıl Sonu Sınavı 1 % 40
Toplam % 100
YARIYIL İÇİ ÇALIŞMALARININ BAŞARI NOTU KATKISI % 60
YARIYIL SONU ÇALIŞMALARININ BAŞARI NOTUNA KATKISI % 40
Toplam % 100

İş Yükü ve AKTS Kredisi Hesaplaması

Aktiviteler Aktivite Sayısı Süre (Saat) İş Yükü
Ders Saati 13 3 39
Sınıf Dışı Ders Çalışması 13 4 52
Ödevler 1 29 29
Ara Sınavlar 1 30 30
Final 1 30 30
Toplam İş Yükü 180