YAZILIM MÜHENDİSLİĞİ (İNGİLİZCE)
Lisans TYYÇ: 6. Düzey QF-EHEA: 1. Düzey EQF-LLL: 6. Düzey

Ders Genel Tanıtım Bilgileri

Ders Kodu: 1413211003
Ders İsmi: Theory of Computation
Ders Yarıyılı: Güz
Ders Kredileri:
Teorik Pratik Kredi AKTS
3 0 3 5
Öğretim Dili: EN
Ders Koşulu:
Ders İş Deneyimini Gerektiriyor mu?: Hayır
Dersin Türü: Zorunlu
Dersin Seviyesi:
Lisans TYYÇ:6. Düzey QF-EHEA:1. Düzey EQF-LLL:6. Düzey
Dersin Veriliş Şekli:
Dersin Koordinatörü: Dr.Öğr.Üyesi Adem ÖZYAVAŞ
Dersi Veren(ler): Doç. Dr. Ali ÇİVRİL
Dr.Öğr.Üyesi İmren YEŞİLYURT
Dersin Yardımcıları:

Dersin Amaç ve İçeriği

Dersin Amacı: Bu dersin amacı, öğrencilere, otomata teorisi ve biçimsel diller ve gramerler teorisini içeren hesaplamanın matematiksel temellerini tanıtmak; aynı zamanda otomatlar, eşdeğer düzenli ifadeler, otomatlar tarafından tanımlanan dillerin eşdeğerliği, düzenli ifadeler, pushdown otomatı, eşdeğer context-free gramerleri, pushdown otomata tarafından tanımlanan dillerin eşdeğeri, bağlam gibi temel kavramları kavratmaktır. ücretsiz gramerler, Turing makineleri ve Turing makineleri tarafından tanımlanan dillerin eşdeğerliği.
Dersin İçeriği: Dersin İçeriği Matematiksel Araçlar (Tanımlar, Teoremler ve İspatlar); İspat Türleri; Düzenli Diller; Sonlu Otomatlar; Deterministik Olmayan Makinalar; Düzenli İfadeler; Düzensiz Diller; Bağlam İçermeyen (Context-free) Diller; Bağlam İçermeyen (Context-free) Gramerler; Basma Otomatiği; Turing Makineleri; Turing Makinelerinin Çeşitleri; "Algoritma" tanımı; Karar Verebilirlik; Kararlanabilir Diller; NP-bütünlüğü; İndirgenebilirlik; Tanınabilirlik.

Öğrenme Kazanımları

Bu dersi başarıyla tamamlayabilen öğrenciler;
Öğrenme Kazanımları
1 - Bilgi
Kuramsal - Olgusal
2 - Beceriler
Bilişsel - Uygulamalı
3 - Yetkinlikler
İletişim ve Sosyal Yetkinlik
Öğrenme Yetkinliği
Alana Özgü Yetkinlik
1) Öğrenciler sonlu otomata, deterministik ve deterministik olmayan otomata, düzenli ifadeler, basmalı otomata, turing makineleri, biçimsel diller ve gramerler analiz edebileceklerdir.
2) Öğrenciler sonlu otomata, deterministik ve deterministik olmayan otomata, düzenli ifadeler, basmalı otomata, turing makineleri, biçimsel diller ve gramerler için tasarımlar yapabileceklerdir.
3) Öğrenciler problem çözme yoluyla algoritma, hesaplanabilirlik, karar verilebilirlik ve karmaşıklık gibi anahtar kavramların anlaşıldığını göstereceklerdir.
4) Öğrenciler Turing Makinelerine ve Problem Sınıflarına aşina olacaklardır.
5) Öğrenciler problem kurma ve çözme becerisini geliştireceklerdir.
6) Öğrenciler, Hesaplama Kuramı'nın temel sonuçlarını kanıtlayabileceklerdir.
Bağımsız Çalışabilme ve Sorumluluk Alabilme Yetkinliği

Ders Akış Planı

Hafta Konu Ön Hazırlık
1) Ön kavramların oluşturulması, matematiksel araçlar, tanımlar, teoremler ve ispatlar, ispat çeşitleri Data Structures – A Pseudocode Approach with C, R. Gillberg, B. Forouzan, Thomson Course Technology Second Edition
2) Deterministik sonlu otomata (DFA) Data Structures – A Pseudocode Approach with C, R. Gillberg, B. Forouzan, Thomson Course Technology Second Edition
3) Deterministik olmayan sonlu otomata (NFA) Data Structures – A Pseudocode Approach with C, R. Gillberg, B. Forouzan, Thomson Course Technology Second Edition
4) DFA ve NFA'nın eşdeğerliliği ve düzenli ifadeler Data Structures – A Pseudocode Approach with C, R. Gillberg, B. Forouzan, Thomson Course Technology Second Edition
5) Epsilon geçiş, pompalama Lemma, güvercin prensibi ve kapatma (closure) özellikleri Data Structures – A Pseudocode Approach with C, R. Gillberg, B. Forouzan, Thomson Course Technology Second Edition
6) Optimal DFA ve genel bakış Data Structures – A Pseudocode Approach with C, R. Gillberg, B. Forouzan, Thomson Course Technology Second Edition
7) Bağlamsız diller, bağlamsız gramerler, ayrıştırma ağacı, belirsizlik, kapalılık özellikleri Data Structures – A Pseudocode Approach with C, R. Gillberg, B. Forouzan, Thomson Course Technology Second Edition
8) Ara Sınav
9) Yığıtlı Otomatlar Data Structures – A Pseudocode Approach with C, R. Gillberg, B. Forouzan, Thomson Course Technology Second Edition
10) Bağlamsız gramerlere ve Church-Turing hipotezine genel bakış Data Structures – A Pseudocode Approach with C, R. Gillberg, B. Forouzan, Thomson Course Technology Second Edition
11) Turing Makineleri, Tanıma ve Hesaplama, Church-Turing Hipotezi Data Structures – A Pseudocode Approach with C, R. Gillberg, B. Forouzan, Thomson Course Technology Second Edition
12) NP-eksiksizliği, karar verilebilirlik, indirgenebilirlik ve tanınabilirlik Data Structures – A Pseudocode Approach with C, R. Gillberg, B. Forouzan, Thomson Course Technology Second Edition
13) Final Data Structures – A Pseudocode Approach with C, R. Gillberg, B. Forouzan, Thomson Course Technology Second Edition

Kaynaklar

Ders Notları / Kitaplar: Michael Sipser, Introduction to the Theory of Computation, Cengage Learning, 3rd Edition, 2012
Daniel I. A. Cohen, Introduction to Computer Theory, Prentice-Hall, 2nd Edition, 1997
Diğer Kaynaklar: Michael Sipser, Introduction to the Theory of Computation, Cengage Learning, 3rd Edition, 2012
Daniel I. A. Cohen, Introduction to Computer Theory, Prentice-Hall, 2nd Edition, 1997

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

Ders Öğrenme Kazanımları

1

2

3

4

5

6

Program Kazanımları
1) Matematik, fen bilimleri ve bilgisayar mühendisliği konularında yeterli bilgi birikimi; bu alanlardaki kuramsal ve uygulamalı bilgileri mühendislik problemlerini modelleme ve çözme için uygulayabilme becerisi.
2) Karmaşık mühendislik problemlerini saptama, tanımlama, formüle etme ve çözme becerisi; bu amaçla uygun analiz ve modelleme yöntemlerini seçme ve uygulama becerisi.
3) Karmaşık bir sistemi, süreci, cihazı veya ürünü gerçekçi kısıtlar ve koşullar altında, belirli gereksinimleri karşılayacak şekilde tasarlama becerisi; bu amaçla modern tasarım yöntemlerini uygulama becerisi.
4) Mühendislik uygulamalarında karşılaşılan karmaşık problemlerin analizi ve çözümü için gerekli olan modern teknik ve araçları geliştirme, seçme ve kullanma becerisi; bilişim teknolojilerini etkin bir şekilde kullanma becerisi.
5) Karmaşık mühendislik problemlerinin veya disipline özgü araştırma konularının incelenmesi için deney tasarlama, deney yapma, veri toplama, sonuçları analiz etme ve yorumlama becerisi.
6) Disiplin içi ve çok disiplinli takımlarda etkin biçimde çalışabilme becerisi; bireysel çalışma becerisi.
7) Türkçe sözlü ve yazılı etkin iletişim kurma becerisi; en az bir yabancı dil bilgisi; etkin rapor yazma ve yazılı raporları anlama, tasarım ve üretim raporları hazırlayabilme, etkin sunum yapabilme, açık ve anlaşılır talimat verme ve alma becerisi.
8) Yaşam boyu öğrenmenin gerekliliği bilinci; bilgiye erişebilme, bilim ve teknolojideki gelişmeleri izleme ve kendini sürekli yenileme becerisi.
9) Etik ilkelerine uygun davranma, mesleki ve etik sorumluluk bilinci; mühendislik uygulamalarında kullanılan standartlar hakkında bilgi.
10) Proje yönetimi, risk yönetimi ve değişiklik yönetimi gibi, iş hayatındaki uygulamalar hakkında bilgi; girişimcilik, yenilikçilik hakkında farkındalık; sürdürülebilir kalkınma hakkında bilgi.
11) Mühendislik uygulamalarının evrensel ve toplumsal boyutlarda sağlık, çevre ve güvenlik üzerindeki etkileri ve çağın mühendislik alanına yansıyan sorunları hakkında bilgi; mühendislik çözümlerinin hukuksal sonuçları konusunda farkındalık.

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) Matematik, fen bilimleri ve bilgisayar mühendisliği konularında yeterli bilgi birikimi; bu alanlardaki kuramsal ve uygulamalı bilgileri mühendislik problemlerini modelleme ve çözme için uygulayabilme becerisi. 4
2) Karmaşık mühendislik problemlerini saptama, tanımlama, formüle etme ve çözme becerisi; bu amaçla uygun analiz ve modelleme yöntemlerini seçme ve uygulama becerisi. 3
3) Karmaşık bir sistemi, süreci, cihazı veya ürünü gerçekçi kısıtlar ve koşullar altında, belirli gereksinimleri karşılayacak şekilde tasarlama becerisi; bu amaçla modern tasarım yöntemlerini uygulama becerisi.
4) Mühendislik uygulamalarında karşılaşılan karmaşık problemlerin analizi ve çözümü için gerekli olan modern teknik ve araçları geliştirme, seçme ve kullanma becerisi; bilişim teknolojilerini etkin bir şekilde kullanma becerisi. 3
5) Karmaşık mühendislik problemlerinin veya disipline özgü araştırma konularının incelenmesi için deney tasarlama, deney yapma, veri toplama, sonuçları analiz etme ve yorumlama becerisi.
6) Disiplin içi ve çok disiplinli takımlarda etkin biçimde çalışabilme becerisi; bireysel çalışma becerisi.
7) Türkçe sözlü ve yazılı etkin iletişim kurma becerisi; en az bir yabancı dil bilgisi; etkin rapor yazma ve yazılı raporları anlama, tasarım ve üretim raporları hazırlayabilme, etkin sunum yapabilme, açık ve anlaşılır talimat verme ve alma becerisi.
8) Yaşam boyu öğrenmenin gerekliliği bilinci; bilgiye erişebilme, bilim ve teknolojideki gelişmeleri izleme ve kendini sürekli yenileme becerisi.
9) Etik ilkelerine uygun davranma, mesleki ve etik sorumluluk bilinci; mühendislik uygulamalarında kullanılan standartlar hakkında bilgi.
10) Proje yönetimi, risk yönetimi ve değişiklik yönetimi gibi, iş hayatındaki uygulamalar hakkında bilgi; girişimcilik, yenilikçilik hakkında farkındalık; sürdürülebilir kalkınma hakkında bilgi.
11) Mühendislik uygulamalarının evrensel ve toplumsal boyutlarda sağlık, çevre ve güvenlik üzerindeki etkileri ve çağın mühendislik alanına yansıyan sorunları hakkında bilgi; mühendislik çözümlerinin hukuksal sonuçları konusunda farkındalık.

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

Ö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ı
Küçük Sınavlar 3 % 30
Ara Sınavlar 1 % 30
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 12 3 36
Sınıf Dışı Ders Çalışması 6 3 18
Küçük Sınavlar 2 10 20
Ara Sınavlar 1 25 25
Final 1 35 35
Toplam İş Yükü 134