Biçimsel Diller ve Özdevinirler (COMPE 326) Ders Detayları Ders Adı Biçimsel Diller ve Özdevinirler Ders Kodu COMPE 326 Dönemi Ders Uygulama Saati Saati Laboratuar Kredi AKTS Saati Bahar 3 0 0 3 6.5 Ön Koşul Ders(ler)i COMPE 251 Dersin Dili Dersin Türü Dersin Seviyesi Ders Verilme Şekli Dersin Öğrenme ve Öğretme Teknikleri İngilizce Zorunlu Bölüm Dersleri Lisans Yüz Yüze Anlatım Dersin Koordinatörü
Dersin Öğretmen(ler)i Dersin Asistanı Dersin Amacı Dersin Eğitim Çıktıları Dersin İçeriği Bu dersin temel amacı, hesaplama kuramını ve dillerin biçimsel tanımını anlamak ve kullanmak için beceri kazandırmaktır. Öğrenciler özdevinirler teorisini kullanarak hesaplamanın matematiksel modellerinin tanım ve özellikleriyle tanıştırılacaklardır. Bu dersi başarıyla tamamlayabilen öğrenciler; Hesaplamayı nitelendirmek için sonlu özdevinirleri araç olarak kullanmak Programlama dillerine uygulanan gramer ve dilleri incelemek Derlemenin ayrıştırma aracı olarak kullanmak üzere son giren ilk çıkar özdevinirini oluşturmak Hesaplama için Turing makinası oluşturmak Donanım ve yazılım için teorik makina veya modeller geliştirmek Diller ve gösterimleri. Sonlu özdevinirler ve düzenli gramerler. Bağlamdan-bağımsız gramerler. Soyut makine kavramı ve dil kabulu. Belirlenimci ve belirlenimci olmayan sonlu durumlu makinalar. Son giren ilk çıkar özdeviniri. Turing makinaları ve hesaplama kuramına giriş. Haftalık Konular ve İlgili Ön Hazırlık Çalışmaları HaftaKonular Ön Hazırlık 1 Giriş Bölüm 0 (Ders kitabı) 2 Düzenli Diller Bölüm 1 3 Sonlu Özdevinirler Bölüm 1.1
4 Belirlenimci olmamak Bölüm 1.2 5 Çıktılı Sonlu Özdevinirler (Diğer kaynaklar 2) 6 Düzenli İfadeler Bölüm 1.3 7 Bağlamdan-bağımsız diller Chapter 2 8 Bağlamdan-bağımsız gramerler Chapter 2.1 9 Chomsky Normal Form Chapter 2.1 10 Son giren ilk çıkar özdeviniri Chapter 2.2 11 Bağlamdan-bağımsız gramerlerle eşdeğerlik Chapter 2.2 12 Hesaplama Kuramı Chapter 3 13 Turing Makinası Chapter 3.1 14 Turing Makinası çeşitleri Chapter 3.2 15 Gözden geçirme 16 Gözden geçirme Kaynaklar Ders Kitabı: Diğer Kaynaklar: 1. Introduction to the Theory of Computation, Michael Sipser, 2nd Edition, Thomson Course Technology, 2006. 1. Efim Kinber and Carl Smith, Theory of Computing: A Gentle Introduction",Prentice-Hall, 2001. ISBN # 0-13-027961-7. 2. Daniel I.A. Cohen, Introduction to Computer Theory (2nd Edition), Wiley, 1997, ISBN # 0-471-13772-3 3. Yarımağan, Ünal, Özdevinirler Kuramı ve Biçimsel Diller, Bıçaklar Kitabevi, 2003, ISBN# 975-8695-05-3 4. Martin, John C. Introduction to Languages and the Theory of Computation,(2nd Edition), McGraw-Hill International Editions, 1997, ISBN# 0-07-115468-
5. Linz, Peter, An Introduction to Formal Languages and Automata, Jones and Bartlett Publishers, 2001. Değerlendirme Sistemi Çalışmalar Sayı Katkı Payı Devam/Katılım - - Laboratuar - - Uygulama - - Alan Çalışması - - Derse Özgü Staj - - Küçük Sınavlar/Stüdyo Kritiği - - Ödevler 3 10 Sunum - - Projeler - - Seminer - - Ara Sınavlar/Ara Juri 2 55 Genel Sınav/Final Juri 1 35 Toplam 6 100 Yarıyıl İçi Çalışmalarının Başarı Notu Katkısı Yarıyıl Sonu Çalışmalarının Başarı Notuna Katkısı 65 35
Toplam 100 Ders Kategorisi Temel Meslek Dersleri Uzmanlık/Alan Dersleri Destek Dersleri İletişim ve Yönetim Becerileri Dersleri Aktarılabilir Beceri Dersleri Dersin Öğrenim Çıktılarının Program Yeterlilikleri ile İlişkisi # Program Yeterlilikleri / Çıktıları Katkı Düzeyi 1 2 3 4 5 1 Matematik, fen bilimleri ve hesaplama alanlarındaki bilgi birikimini bilgisayar mühendisliği problemlerinin çözümüne uygulama becerisi. 2 Bilgisayar sistemlerine özgü sorunları analiz etme ve modelleme, çözümleri için uygun gereksinimleri belirleme ve tanımlama becerisi.
3 Belirlenen gereksinimleri karşılayacak bir bilgisayar sistemini, sistem parçasını, işlemi veya programı tasarlama, geliştirme ve değerlendirme becerisi. 4 Bilgisayar sistemleri mühendislik uygulamaları için modern teknik ve mühendislik araçlarını kullanma becerisi. 5 Hesaplama ihtiyaçlarını anlamak için deney tasarlama, veri toplama, analiz etme, yorumlama ve doğru seçimler yapabilme becerisi. 6 Disiplin içi ve disiplinler arası takımlarda veya bireysel olarak etkin biçimde çalışabilmek için gerekli organizasyonel ve iş yeteneklerini ortaya koyabilme becerisi. 7 Türkçe ve İngilizce dillerinde etkin iletişim kurabilme becerisi. 8 Yaşam boyu öğrenmenin gerekliliği bilinci ve bilgiye erişebilme, bilim ve teknolojideki son gelişmeleri takip edebilme ve kendini sürekli yenileme becerisi. 9 Bilgisayar Mühendisliği alanında mesleki, hukuksal, etik ve sosyal sorunlar hakkında farkındalık ve sorumluluk bilinci. 10 Proje ve risk yönetim becerisi; girişimciliğin, yenilikçilik ve sürdürülebilir kalkınmanın önemi hakkında farkındalık; uluslararası standartların ve yöntemlerin bilinmesi. 11 Karar alırken, Bilgisayar Mühendisliği uygulamalarının evrensel, çevresel, sosyal ve hukuksal sonuçları konusunda farkındalık. 12 Sayısal hesaplama ve sayısal gösterim sistemlerini analiz, tasarım ve ifade becerisi. 13 Hesaplama problemlerinin çözülmesinde programlama dillerini ve uygun bilgisayar mühendisliği kavramlarını kullanma becerisi.
ECTS/İş Yükü Tablosu Aktiviteler Sayı Süresi (Saat) Toplam İş Yükü Ders saati (Sınav haftası dahildir: 16 x toplam ders saati) Laboratuar Uygulama Derse Özgü Staj Alan Çalışması Sınıf Dışı Ders Çalışma Süresi Sunum/Seminer Hazırlama Projeler 16 3 48 16 6 96 Ödevler 3 6 18 Küçük Sınavlar/Stüdyo Kritiği Ara Sınavlara/Ara Juriye Hazırlanma Süresi Genel Sınava/Genel Juriye Hazırlanma Süresi 2 10 20 1 15 15 Toplam İş Yükü 197