CENG313 Automata Theoryİstanbul Okan ÜniversitesiAkademik Programlar Bilgisayar Mühendisliği (İngilizce)Öğrenciler için Genel BilgiDiploma EkiErasmus BeyanıUlusal Yeterlilikler
Bilgisayar Mühendisliği (İngilizce)
Lisans TYYÇ: 6. Düzey QF-EHEA: 1. Düzey EQF-LLL: 6. Düzey

Ders Genel Tanıtım Bilgileri

Ders Kodu: CENG313
Ders İsmi: Automata Theory
Ders Yarıyılı: Güz
Ders Kredileri:
Teorik Pratik Kredi AKTS
3 0 3 5
Öğretim Dili: EN
Ders Koşulu: CENG108 - Discrete Structures | CENG110 - Discrete Structures
Ders İş Deneyimini Gerektiriyor mu?: Hayır
Dersin Türü: Zorunlu Ders
Dersin Seviyesi:
Lisans TYYÇ:6. Düzey QF-EHEA:1. Düzey EQF-LLL:6. Düzey
Dersin Veriliş Şekli: Yüz yüze
Dersin Koordinatörü: Prof. Dr. SEMİH BİLGEN
Dersi Veren(ler): Prof. Dr. SEMİH BİLGEN
Dersin Yardımcıları:

Dersin Amaç ve İçeriği

Dersin Amacı: Dönem sonunda öğrencilerin şu kazanımları sağlamış olmaları hedeflenmektedir:

• Biçimsel dil kavramını öğrenmiş olmaları.
• Sonlu durum makinası (SDM) soyutlamasını ve bunların düzgün dillerle ilişkisini kavramış olması.
• Düzgün ifadeler (Dİ) ile düzgün dil (DD) öğelerinin gösterimini yapabilmesi.
• Verilen bir Dİ’nin tanımladığı DD’in ve bu dili kabul edecek SDM’nin bulunması.
• Verilen bir SDM’nin kabul ettiği DD’in bulunması.
• Verilen bir Gerekirci-Olmayan SDM’nin (GOSDM) kabul ettiği dili kabul eden Gerekirci SDM’nin bulunması
• Verilen bir DD’i kabul edecek SDM’nin oluşturulması.
• Verilen bir SDM tarafından tanınan dili türetecek bir gramer (dil bilgisi) bulmak veya verilen bir Düzenli Gramer (DG) tarafından türetilen dili tanıyacak bir SDM oluşturmak.
Dersin İçeriği: Bu ders, öğrencilere biçimsel dillerin ve hesaplama kuramının temellerini tanıtmayı amaçlamaktadır.

Öğrenme Kazanımları

Bu dersi başarıyla tamamlayabilen öğrenciler;
Öğrenme Kazanımları
1 - Bilgi
Kuramsal - Olgusal
1) Sonlu Durum Makinesi’nin (SDM) matematiksel tanımını anlayıp açıklayabilmek.
2) Verilen bir düzenli ifadeyi (Dİ) sadeleştirerek, bu ifadeyle tanımlanan dili kabul eden SDM’yi türetebilmek.
3) Verilen bir SDM için, kabul ettiği dili tanımlayan düzenli ifadeyi (Dİ) elde edebilmek.
4) Verilen bir deterministik olmayan SDM’yi, aynı dili kabul eden deterministik SDM’ye dönüştürebilmek.
5) Verilen bir düzenli dili (DD) kabul edecek bir SDM oluşturabilmek.
6) Verilen bir SDM’nin tanıdığı dili türetecek bir gramer oluşturmak veya verilen bir düzenli gramer tarafından türetilen dili tanıyacak bir SDM inşa edebilmek.
2 - Beceriler
Bilişsel - Uygulamalı
3 - Yetkinlikler
İletişim ve Sosyal Yetkinlik
Öğrenme Yetkinliği
Alana Özgü Yetkinlik
Bağımsız Çalışabilme ve Sorumluluk Alabilme Yetkinliği

Ders Akış Planı

Hafta Konu Ön Hazırlık
1) • Giriş ve ders özeti
2) • Biçimsel diller
3) • Düzgün Dilleri (DD) tanımak, DD temsil eden Düzgün İfadenin (Dİ) bulunması, verilen bir Dİ’nin temsil ettiği DD’in bulunması.
4) • Düzgün Dilleri (DD) tanımak, DD temsil eden Düzgün İfadenin (Dİ) bulunması, verilen bir Dİ’nin temsil ettiği DD’in bulunması.
5) • SDM’lerin çalışmalarının anlaşılması • Verilen bir SDM’nin kabul ettiği DD’in saptanması
6) • SDM’lerin çalışmalarının anlaşılması • Verilen bir SDM’nin kabul ettiği DD’in saptanması
7) • Gerekirci Olmayan SDM’lerin (GOSDM) çalışmalarının anlaşılması • Verilen bir GOSDM’nin kabul ettiği DD’in saptanması
8) Ara sınav
9) • Λ-GOSDM çalışmasını anlamak • Verilen bir Λ-GOSDM’nin kabul ettiği DD’in belirlenmesi • Eşdeğer GOSDM’nin bulunması • Eşdeğer Gerekirci SDM’nin bulunması
10) • Λ-GOSDM çalışmasını anlamak • Verilen bir Λ-GOSDM’nin kabul ettiği DD’in belirlenmesi • Eşdeğer GOSDM’nin bulunması • Eşdeğer Gerekirci SDM’nin bulunması
11) • Verilen bir DD’i kabul eden Λ-GOSDM oluşturmak • Λ-GOSDM’nin eşdeğer GOSDM ve Gerekirci SDM’ni oluşturmak
12) • Verilen bir DD’i kabul eden Λ-GOSDM oluşturmak • Λ-GOSDM’nin eşdeğer GOSDM ve Gerekirci SDM’ni oluşturmak
13) • Düzgün Olmayan Diller • Bağlamdan Bağımsız Gramerler • Düzenli Gramerler • Gramerlerdeki Belirsizlik ve Belirsizliğin Giderilmesi
14) • Düzgün Olmayan Diller • Bağlamdan Bağımsız Gramerler • Düzenli Gramerler • Gramerlerdeki Belirsizlik ve Belirsizliğin Giderilmesi
15) Final sınavı

Kaynaklar

Ders Notları / Kitaplar: O'LEARN sistemindedir.
Diğer Kaynaklar: J. Martin, Introduction to Languages and the Theory of Computation, Mc Graw-Hill, Ed.3 (2003) or Ed. 4 (2010)

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 karmaşık mühendislik problemlerini modelleme ve çözme için uygulayabilme becerisi.
2) Karmaşık bilgisayar mühendisliği 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 bilgisayar mühendisliği sistemini, 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. (Gerçekçi kısıtlar ve koşullar tasarımın niteliğine göre, ekonomi, çevre sorunları, sürdürülebilirlik, üretilebilirlik, etik, sağlık, güvenlik, sosyal ve politik sorunlar gibi ögeleri içerirler.)
4) Bilgisayar mühendisliği 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 bilgisayar mühendisliği problemlerinin 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 (özellikle yazılım, mekatronik mühendisliği) etkin biçimde çalışabilme becerisi; bireysel çalışma becerisi.
7) Türkçe ve İngilizce sözlü ve yazılı etkin iletişim kurma becerisi; etkin rapor yazma ve yazılı raporları anlama, hazırlayabilme, etkin sunum yapabilme, açık ve anlaşılır talimat verme ve alma becerisi.
8) Bilgisayar mühendisliğinin gerektirdiği yaşam boyu öğrenmenin gerekliliği bilinci; bilgiye erişebilme, yorumlayabilme ve geliştirilebilme, bilim ve teknolojideki gelişmeleri izleme ve kendini sürekli yenileme becerisi.
9) Etik ilkelerine uygun davranma, mesleki ve etik sorumluluk bilinci; bilgisayar mühendisliği uygulamalarında kullanılan standartlar hakkında bilgi.
10) Proje yönetimi ile risk yönetimi ve değişiklik yönetimi gibi bilgisayar mühendisliği uygulamaları hakkında bilgi; girişimcilik, yenilikçilik hakkında farkındalık; sürdürebilir kalkınma hakkında bilgi.
11) Bilgisayar mühendisliği uygulamalarının evrensel ve toplumsal boyutlarda sağlık, çevre ve güvenlik üzerindeki etkileri ile çağın 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 karmaşık mühendislik problemlerini modelleme ve çözme için uygulayabilme becerisi. 5
2) Karmaşık bilgisayar mühendisliği problemlerini saptama, tanımlama, formüle etme ve çözme becerisi; bu amaçla uygun analiz ve modelleme yöntemlerini seçme ve uygulama becerisi. 4
3) Karmaşık bir bilgisayar mühendisliği sistemini, 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. (Gerçekçi kısıtlar ve koşullar tasarımın niteliğine göre, ekonomi, çevre sorunları, sürdürülebilirlik, üretilebilirlik, etik, sağlık, güvenlik, sosyal ve politik sorunlar gibi ögeleri içerirler.) 2
4) Bilgisayar mühendisliği 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. 4
5) Karmaşık bilgisayar mühendisliği problemlerinin 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 (özellikle yazılım, mekatronik mühendisliği) etkin biçimde çalışabilme becerisi; bireysel çalışma becerisi.
7) Türkçe ve İngilizce sözlü ve yazılı etkin iletişim kurma becerisi; etkin rapor yazma ve yazılı raporları anlama, hazırlayabilme, etkin sunum yapabilme, açık ve anlaşılır talimat verme ve alma becerisi.
8) Bilgisayar mühendisliğinin gerektirdiği yaşam boyu öğrenmenin gerekliliği bilinci; bilgiye erişebilme, yorumlayabilme ve geliştirilebilme, bilim ve teknolojideki gelişmeleri izleme ve kendini sürekli yenileme becerisi. 2
9) Etik ilkelerine uygun davranma, mesleki ve etik sorumluluk bilinci; bilgisayar mühendisliği uygulamalarında kullanılan standartlar hakkında bilgi.
10) Proje yönetimi ile risk yönetimi ve değişiklik yönetimi gibi bilgisayar mühendisliği uygulamaları hakkında bilgi; girişimcilik, yenilikçilik hakkında farkındalık; sürdürebilir kalkınma hakkında bilgi.
11) Bilgisayar mühendisliği uygulamalarının evrensel ve toplumsal boyutlarda sağlık, çevre ve güvenlik üzerindeki etkileri ile çağın 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 7 % 35
Ara Sınavlar 1 % 30
Final 1 % 35
Toplam % 100
YARIYIL İÇİ ÇALIŞMALARININ BAŞARI NOTU KATKISI % 65
YARIYIL SONU ÇALIŞMALARININ BAŞARI NOTUNA KATKISI % 35
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ı 15 3 45
Küçük Sınavlar 7 1 7
Ara Sınavlar 1 20 20
Final 1 30 30
Toplam İş Yükü 141