MÜHENDİSLİK FAKÜLTESİ
Yazılım Mühendisliği
CE 315 | Ders Tanıtım Bilgileri
Dersin Adı |
Otomata Kuramı ve Biçimsel Diller
|
Kodu
|
Yarıyıl
|
Teori
(saat/hafta) |
Uygulama/Lab
(saat/hafta) |
Yerel Kredi
|
AKTS
|
CE 315
|
Güz/Bahar
|
3
|
2
|
4
|
7
|
Ön-Koşul(lar) |
|
|||||||
Dersin Dili |
İngilizce
|
|||||||
Dersin Türü |
Seçmeli
|
|||||||
Dersin Düzeyi |
Lisans
|
|||||||
Dersin Veriliş Şekli | - | |||||||
Dersin Öğretim Yöntem ve Teknikleri | TartışmaProblem çözmeSoru & CevapKritik vermeAnlatım / Sunum | |||||||
Dersin Koordinatörü | ||||||||
Öğretim Eleman(lar)ı | ||||||||
Yardımcı(ları) |
Dersin Amacı | Bu dersin amacı, Otomata teorisi ve mevcut program dillerinden bir adım daha soyutlaştırılan formal dillere giriş yapmaktır. Derleyici tasarımı ve yazılım mühendisliği gibi bilgisayar bilimlerinin çeşitli branşlarına temel oluşturan hesaplamanın temel modelleri sunulacaktır. Dersin sonunda tüm öğrencilerin bütün bu kavramlara mühendislik açısından hakim olmaları beklenmektedir. |
Öğrenme Çıktıları |
Bu dersi başarıyla tamamlayabilen öğrenciler;
|
Ders Tanımı | Bilgisayar bilimlerinin en temel kuramlarının işleneceği bu derste düzenli ifadeler ve bağlamdan bağımsız diller, sonlu ve yığın yapılı otomat, Turing makineler, hesaplanabilirlik, karar verilemezlik ve problem karmaşıklığı konuları işlenecektir. |
|
Temel Ders | |
Uzmanlık/Alan Dersleri | ||
Destek Dersleri | ||
İletişim ve Yönetim Becerileri Dersleri | ||
Aktarılabilir Beceri Dersleri |
HAFTALIK KONULAR VE İLGİLİ ÖN HAZIRLIK ÇALIŞMALARI
Hafta | Konular | Ön Hazırlık |
1 | Belirli sonlu otomat | Chapter 1. Sections 1.1. Introduction to the theory of computation. Michael Sipser. ISBN 053494728X |
2 | Belirli sonlu otomat | Chapter 1. Sections 1.1. Introduction to the theory of computation. Michael Sipser. ISBN 053494728X |
3 | Belirsiz sonlu otomat | Chapter 1. Sections 1.2. Introduction to the theory of computation. Michael Sipser. ISBN 053494728X |
4 | Belirsiz sonlu otomat | Chapter 1. Sections 1.2. Introduction to the theory of computation. Michael Sipser. ISBN 053494728X |
5 | Kurallı ifadeler | Chapter 1. Sections 1.3. Introduction to the theory of computation. Michael Sipser. ISBN 053494728X |
6 | İçerikten bağımsız gramer | Chapter 2. Sections 2.1. Introduction to the theory of computation. Michael Sipser. ISBN 053494728X |
7 | İçerikten bağımsız gramer | Chapter 2. Sections 2.1. Introduction to the theory of computation. Michael Sipser. ISBN 053494728X |
8 | Aşağı sürüklemeli otomatlar | Chapter 2. Sections 2.2. Introduction to the theory of computation. Michael Sipser. ISBN 053494728X |
9 | Aşağı sürüklemeli otomatlar | Chapter 2. Section 2.3.. Introduction to the theory of computation. Michael Sipser. ISBN 053494728X |
10 | Aşağı sürüklemeli otomatlar | Chapter 2. Section, 2.4. Introduction to the theory of computation. Michael Sipser. ISBN 053494728X |
11 | Turing Makinaları | Chapter 3. Sections 3.1. Introduction to the theory of computation. Michael Sipser. ISBN 053494728X |
12 | Turing Makinaları | Chapter 3. Sections 3.2, 3.3. Introduction to the theory of computation. Michael Sipser. ISBN 053494728X |
13 | Karmaşıklık sınıfları P, NP ve NP-complete | Chapter 7. Sections 7.1-- 7.4. Introduction to the theory of computation. Michael Sipser. ISBN 053494728X |
14 | Karar verilebilirlik ve karar verilemezlik | Chapter 4. Introduction to the theory of computation. Michael Sipser. ISBN 053494728X |
15 | Dersin gözden geçirilmesi | |
16 | Final Sınavı |
Ders Kitabı | Introduction to the theory of computation, 3rd Edition, Michael Sipser. ISBN 113318779X |
Önerilen Okumalar/Materyaller | https://ocw.mit.edu/courses/18-404j-theory-of-computation-fall-2020/
|
DEĞERLENDİRME ÖLÇÜTLERİ
Yarıyıl Aktiviteleri | Sayı | Katkı Payı % |
Katılım | ||
Laboratuvar / Uygulama | ||
Arazi Çalışması | ||
Küçük Sınav / Stüdyo Kritiği |
1
|
20
|
Portfolyo | ||
Ödev |
1
|
12
|
Sunum / Jüri Önünde Sunum | ||
Proje | ||
Seminer/Çalıştay | ||
Sözlü Sınav | ||
Ara Sınav |
1
|
28
|
Final Sınavı |
1
|
40
|
Toplam |
Yarıyıl İçi Çalışmalarının Başarı Notuna Katkısı |
3
|
60
|
Yarıyıl Sonu Çalışmalarının Başarı Notuna Katkısı |
1
|
40
|
Toplam |
AKTS / İŞ YÜKÜ TABLOSU
Yarıyıl Aktiviteleri | Sayı | Süre (Saat) | İş Yükü |
---|---|---|---|
Teorik Ders Saati (Sınav haftası dahildir: 16 x teorik ders saati) |
16
|
3
|
48
|
Laboratuvar / Uygulama Ders Saati (Sınav haftası dahildir. 16 x uygulama/lab ders saati) |
16
|
2
|
32
|
Sınıf Dışı Ders Çalışması |
14
|
5
|
70
|
Arazi Çalışması |
0
|
||
Küçük Sınav / Stüdyo Kritiği |
1
|
10
|
10
|
Portfolyo |
0
|
||
Ödev |
2
|
5
|
10
|
Sunum / Jüri Önünde Sunum |
0
|
||
Proje |
0
|
||
Seminer/Çalıştay |
0
|
||
Sözlü Sınav |
0
|
||
Ara Sınavlar |
1
|
20
|
20
|
Final Sınavı |
1
|
20
|
20
|
Toplam |
210
|
DERSİN ÖĞRENME ÇIKTILARININ PROGRAM YETERLİLİKLERİ İLE İLİŞKİSİ
#
|
Program Yeterlilikleri / Çıktıları |
* Katkı Düzeyi
|
||||
1
|
2
|
3
|
4
|
5
|
||
1 | Matematik, Fen Bilimleri, Bilgisayar Bilimleri ve Yazılım Mühendisliği konularında yeterli bilgi sahibidir; bu alanlardaki kuramsal ve uygulamalı bilgileri, Yazılım Mühendisliği problemlerinde kullanır. |
X | ||||
2 | Karmaşık Yazılım Mühendisliği problemlerini saptar, tanımlar, formüle eder ve çözer; bu amaca uygun analiz ve modelleme yöntemlerini seçer ve uygular. |
X | ||||
3 | Karmaşık bir yazılım sistemini, süreci veya ürünü gerçekçi kısıtlar ve koşullar altında, belirli gereksinimleri karşılayacak şekilde tasarlar, gerçekleştirir, sınar, doğrular, raporlar, ölçer ve bakımını yapar; bu amaçla modern yöntemleri uygular. |
X | ||||
4 | Yazılım 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ştirir, seçer ve kullanır; bilişim teknolojilerini etkin bir şekilde kullanır. |
X | ||||
5 | Yazılım Mühendisliği problemlerinin incelenmesi için deney tasarlar, deney yapar, veri toplar, sonuçları analiz eder ve yorumlar. |
X | ||||
6 | Yazılım Mühendisliği disiplini içinde ve çok disiplinli takımlarda etkin biçimde çalışır; bireysel çalışma sergiler. |
X | ||||
7 | Türkçe sözlü ve yazılı etkin iletişim kurar; etkin rapor yazar ve yazılı raporları anlar, tasarım ve üretim raporları hazırlar, etkin sunum yapar, açık ve anlaşılır talimat verir ve alır. |
|||||
8 | Mühendislik ve Yazılım 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 sahibidir; mühendislik ve yazılım çözümlerinin hukuksal sonuçlarının farkındadır. |
|||||
9 | Etik ilkelerine uygun davranma, mesleki ve etik sorumluluk bilincine sahiptir; mühendislik uygulamalarında kullanılan standartlar hakkında bilgi sahibidir. |
|||||
10 | Proje yönetimi, risk yönetimi ve değişiklik yönetimi gibi, iş hayatındaki uygulamalar hakkında bilgi sahibidir; girişimcilik, yenilikçilik hakkında bilinçlidir; sürdürülebilir kalkınma hakkında bilgi sahibidir. |
|||||
11 | Bir yabancı dili kullanarak Yazılım Mühendisliği ile ilişkili konularda, bilgi toplar ve meslektaşları ile iletişim kurar. ("European Language Portfolio Global Scale", Level B1) |
|||||
12 | İkinci yabancı dili orta düzeyde kullanır. |
|||||
13 | Yaşam boyu öğrenmenin gerekliliği bilincindedir; bilgiye erişebilir, bilim ve teknolojideki gelişmeleri izler ve kendini sürekli yeniler; insanlık tarihi boyunca oluşan bilgi birikimini Yazılım Mühendisliği alanıyla ilişkilendirir. |
*1 Lowest, 2 Low, 3 Average, 4 High, 5 Highest