CENG003 Advanced Theory of Computation

6 AKTS - 3-0 Süre (T+U)- . Yarıyıl- 3 Yerel Kredi

Genel Bilgi

Kod CENG003
Ad Advanced Theory of Computation
Yarıyıl . 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 Doktora Dersi
Tür Normal
Öğretim Şekli Yüz Yüze Öğretim
Bilgi Paketi Koordinatörü Prof. Dr. UMUT ORHAN


Dersin Amacı

Theory of Computation ile ilgili ileri problem çözümlerini anlar ve yeni problemler üretebilir

Dersin İçeriği

Regular and Context Free Languages, Turing Machines, Decidability, NP-hard problems and reducibility

Dersin Ön Koşulu

yok

Kaynaklar

Introduction to the Theory of Computation, 2nd Edition, Michael Sipser, Thomson Course Technnology, Boston, 2006.

Notlar

1. John Martin. (2010). Introduction to languages and the theory of computation, (4th ed.). New York: McGraw-Hill Science/Engineering/Math. 2. George J. Tourlakis (2012). Theory of computation. Hoboken: Wiley.


Dersin Öğrenme Çıktıları

Sıra Dersin Öğrenme Çıktıları
ÖÇ01 Theory of Computation hakkında temel bilgileri bilir
ÖÇ02 Regular ve Context Free Language uygulamalarını çözer
ÖÇ03 Yeni Turing problemleri hazırlar
ÖÇ04 Turing karar verilebilir kavramını bilir
ÖÇ05 NP-hard problemlerini birbirine dönüştürür


Program Öğrenme Çıktıları ile İlişkisi

Sıra Tür Program Öğrenme Çıktıları Duzey
PÖÇ01 Bilgi - Kuramsal, Olgusal Lisans düzeyinde kazanılan yetkinlikler temelinde Bilgisayar Mühendisliği temel alanında özgün çalışmalar için gerekli temeli sağlayan ileri düzeyde bilgi ve kavrayışa sahiptir. 3
PÖÇ02 Bilgi - Kuramsal, Olgusal Mühendislik alanında bilimsel araştırma yaparak bilgiye genişlemesine ve derinlemesine ulaşır, bilgiyi değerlendirir, yorumlar ve uygular. 3
PÖÇ03 Yetkinlikler - Öğrenme Yetkinliği Mesleğinin yeni ve gelişmekte olan uygulamalarının farkında olup, gerektiğinde bunları inceler ve öğrenir. 4
PÖÇ04 Yetkinlikler - Öğrenme Yetkinliği Mühendislik problemlerini kurgular, çözmek için yöntem geliştirir ve çözümlerde yenilikçi yöntemler uygular. 4
PÖÇ05 Yetkinlikler - Öğrenme Yetkinliği Analitik, modelleme ve deneysel esaslı araştırmaları tasarlar ve uygular, bu süreçte karşılaşılan karmaşık durumları çözümler ve yorumlar. 2
PÖÇ06 Yetkinlikler - Öğrenme Yetkinliği Yeni ve/veya özgün fikir ve yöntemler geliştirir, sistem, parça veya süreç tasarımlarında yenilikçi çözümler geliştirir. 3
PÖÇ07 Beceriler - Bilişsel, Uygulamalı Öğrenme becerilerine sahip olur. 4
PÖÇ08 Beceriler - Bilişsel, Uygulamalı Bilgisayar Mühendisliğinin yeni ve gelişmekte olan uygulamalarının farkında olup gerektiğinde bunları inceler ve öğrenir.
PÖÇ09 Beceriler - Bilişsel, Uygulamalı Çalışmalarının süreç ve sonuçlarını Bilgisayar Mühendisliği alanındaki veya alan dışındaki ulusal ve uluslararası ortamlarda açık bir şekilde yazılı veya sözlü olarak aktarır. 3
PÖÇ10 Beceriler - Bilişsel, Uygulamalı Bilgisayar Mühendisliğinde uygulanan güncel teknik ve yöntemler ile bunların kısıtları hakkında kapsamlı bilgiye sahip olur.
PÖÇ11 Beceriler - Bilişsel, Uygulamalı Bilgisayar Mühendisliğinin gerektirdiği düzeyde bilgisayar yazılımı ile birlikte bilişim ve iletişim teknolojilerini ileri düzeyde etkileşimli olarak kullanır. 2
PÖÇ12 Bilgi - Kuramsal, Olgusal Mesleki tüm etkinliklerde toplumsal, bilimsel ve etik değerleri gözetir. 2


Haftalık Akış

Hafta Konu Ön Hazırlık Yöntemler
1 Theory of Computation review Ders notunun ilgili bölümünü incelemek Öğretim Yöntemleri:
Anlatım
2 Deterministic and Non-deterministic Finite Automata Ders notunun ilgili bölümünü incelemek Öğretim Yöntemleri:
Anlatım
3 NFA to DFA, Regular Expressions Ders notunun ilgili bölümünü incelemek Öğretim Yöntemleri:
Anlatım
4 DFA to Regular Expression, Pumping Lemma for Regular Languages Ders notunun ilgili bölümünü incelemek Öğretim Yöntemleri:
Anlatım
5 Context-Free Grammars, Chomsky Normal Form Ders notunun ilgili bölümünü incelemek Öğretim Yöntemleri:
Anlatım
6 Push-Down Automata Ders notunun ilgili bölümünü incelemek Öğretim Yöntemleri:
Anlatım
7 Pumping Lemma for Context-Free Languages Ders notunun ilgili bölümünü incelemek Öğretim Yöntemleri:
Anlatım
8 Ara Sınav Ders notları ve uygulamalara hazırlanmak Ölçme Yöntemleri:
Yazılı Sınav
9 Turing Machines, Church-Turing Thesis Ders notunun ilgili bölümünü incelemek Öğretim Yöntemleri:
Anlatım
10 Non-Deterministic Turing Machines Ders notunun ilgili bölümünü incelemek Öğretim Yöntemleri:
Anlatım
11 Decidable and Undecidable Languages Ders notunun ilgili bölümünü incelemek Öğretim Yöntemleri:
Anlatım
12 Enumerability and Enumarable Languages Ders notunun ilgili bölümünü incelemek Öğretim Yöntemleri:
Anlatım
13 Introduction to Complexity Theory, P-NP classes Ders notunun ilgili bölümünü incelemek Öğretim Yöntemleri:
Anlatım
14 Non-Deterministic algorithms, NP-Complete Languages Ders notunun ilgili bölümünü incelemek Öğretim Yöntemleri:
Anlatım
15 Review for final exam Ders notunun ilgili bölümünü incelemek Öğretim Yöntemleri:
Soru-Cevap
16 Yarıyıl Sonu Sınavları Ders notları ve uygulamalara hazırlanmak Ölçme Yöntemleri:
Yazılı Sınav
17 Yarıyıl Sonu Sınavları Ders notları ve uygulamalara hazırlanmak Ö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 0 0 0
Ara Sınavlar (Yazılı, Sözlü, vs.) 1 15 15
Yarıyıl/Yıl Sonu/Final Sınavı 1 30 30
Toplam İş Yükü (Saat) 157
Toplam İş Yükü / 25 (s) 6,28
AKTS 6 AKTS