Department: Computer Engineering
Course Name: CME227, Automata Theory, (3+1) 4 hours lecture
Instructor: Hakan Kutucu
Assistant: Emrullah Sonuç
Office: Faculty of Engineering, Room No: M334
Tel: 433 20 21 / 1590
E-mail: [email protected]
Office Hours: Friday 14:00-15:30
1. Hopcroft, Motwani, Ullman, Introduction to Automata Theory, Languages, and
Computation, 3rd Ed., 2007
2. Ünal YARIMAĞAN, Özdevinirler (Otomatlar) Kuramı ve Biçimsel Diller, 2. Baskı,
1. Peter Linz, An Introduction to Formal Languages and Automata, Jones and Barlett
Publishers, 5th Ed., 2011
Course Focus: Purpose of this course is to teach some topics (automatas, languages,
grammer and turing machines) which are fundamentals of language theory. For computer
scientists these topics are fundamental for complier design and description of computer
Midterm %40
Final Exam %60
Lab (over 10) will be added to final grade
Attendance Policy:
It is not mandatory to attend the lectures.
Discrete Mathematics
Course Outline (Tentative)
Week 1: Determining of abstract machine notion and finite automata
Week 2: Finite automata and an applied project
Week 3: Deterministic finite automata notion and developing of applications
Week 4: Nondeterministic finite automata and developing of applications
Week 5: Relations between automata with epsilon transition and others
Week 6: The equivalent of automata
Week 7: Regular expressions, regular languages and properties
Week 8: Grammars
Week 9: Equivalent of Regular languages
Week 10: Minimization methods of automata
Week 11: Grammar types and examples
Week 12: Pushdown automata and properties
Week 13: Pushdown automata examples
Week 14: Turing machine and types of TM

CME322 Automata Theory