Türkçe | English
OF FACULTY of TECHNOLOGY / DEPARTMENT of SOFTWARE ENGINEERING

Course Catalog
http://www.ktu.edu.tr/ofyazilim
Phone: +90 0462 3778353
OFTF
OF FACULTY of TECHNOLOGY / DEPARTMENT of SOFTWARE ENGINEERING /
Katalog Ana Sayfa
  Katalog Ana Sayfa  KTÜ Ana Sayfa   Katalog Ana Sayfa
 
 

YZM3001Formal languages and automata teory3+0+0ECTS:4
Year / SemesterFall Semester
Level of CourseFirst Cycle
Status Compulsory
DepartmentDEPARTMENT of SOFTWARE ENGINEERING
Prerequisites and co-requisitesNone
Mode of Delivery
Contact Hours14 weeks - 3 hours of lectures per week
LecturerDr. Öğr. Üyesi Eyüp GEDİKLİ
Co-Lecturer
Language of instructionTurkish
Professional practise ( internship ) None
 
The aim of the course:
The course aims to provide the students with a general knowledge on a variety of issues in the mathematical development of computer science theory, particularly finite representations for languages and machines, as well as gain a more formal understanding of algorithms and procedures. Applications to compilers, string searching, and control circuit design are discussed. The hierarchy of finite state machines, pushdown machines, context free grammars and Turing machines are analyzed, along with their variations. The notions of decidability, complexity theory and a complete discussion of NP-Complete problems round out the course.
 
Learning OutcomesCTPOTOA
Upon successful completion of the course, the students will be able to :
LO - 1 : Construct RE, FA, PDA, CFG, TM and PM for defined languages.1,81,
LO - 2 : Prove the equivalence of languages described by FA and RE, the equivalence of languages described by PDA and CFG, the equivalence of languages described by TM and PM.1,81
LO - 3 : Make connection between theoretic machines and current computers.1,81
LO - 4 : Apply mathematical models to solve problems in diverse areas such as string searching, cryptography, and language design.1,81
CTPO : Contribution to programme outcomes, TOA :Type of assessment (1: written exam, 2: Oral exam, 3: Homework assignment, 4: Laboratory exercise/exam, 5: Seminar / presentation, 6: Term paper), LO : Learning Outcome

 
Contents of the Course
AUTOMATA THEORY : Languages, Recursive Definitions, Regular Expressions, Finite Automata, Transition Graphs, Kleene's Theorem, Finite Automata with Output, Regular Languages, Nonregular Languages (The Pumping Lemma, Myhill-Nerode Theorem), Decidability. PUSHDOWN AUTOMATA THEORY : Context-Free Grammars (Trees, Ambiguity), Grammatical Format (Regular Grammars, Chomsky Normal Form, Leftmost Derivations), Pushdown Automata, CFG=PDA, Non-Context-Free Languages (The Pumping Lemma for CFLs), Context-Free Languages (Closure Properties), CYK Algorithm. TURING THEORY : Turing Machines (TM), Post Machines, Minsky's Theorem, Variations on the TM (The Move-in-State Machine, The Stay-Option Machine, The k-Track TM, The Two-Way Infinite TAPE Model, The Nondeterministic TM, The Read-Only TM) , TM Languages (The Encoding of Turing Machines, The Universal Turing Machines, Halting Problem), The Chomsky Hierarchy (Phrace-Structure Grammars, Context-Sensitive Grammars), Computers (Computable Functions, Church's Thesis).
 
Course Syllabus
 WeekSubjectRelated Notes / Files
 Week 1Languages
 Week 2Recursive Definitions
 Week 3 Regular Expressions
 Week 4Finite Automata
 Week 5Transition Graphs
 Week 6Kleene's Theorem
 Week 7Finite Automata with Output
 Week 8Regular and Nonregular Languages
 Week 9Mid-term exam
 Week 10Context-Free Grammars
 Week 11Push-Down Automata
 Week 12Turing Machines
 Week 13Post Machines
 Week 14 Minsky's Theorem
 Week 15Variations on the TM
 Week 16End-of-term exam
 
Textbook / Material
1Yarımağan, Ünal. 2011, Özdevinirler (Otomatlar) Kuramı ve Biçimsel Diller
2Cohen, D. 1997; Introduction to Computer Theory (2nd).
3Sipser, M. 2013; Introduction to Theory of Computation (3rd).
 
Recommended Reading
 
Method of Assessment
Type of assessmentWeek NoDate

Duration (hours)Weight (%)
Mid-term exam 9 2 50
End-of-term exam 16 2 50
 
Student Work Load and its Distribution
Type of workDuration (hours pw)

No of weeks / Number of activity

Hours in total per term
Yüz yüze eğitim 3 14 42
Sınıf dışı çalışma 3 14 42
Arasınav için hazırlık 4 3 12
Arasınav 2 1 2
Dönem sonu sınavı için hazırlık 6 3 18
Dönem sonu sınavı 2 1 2
Total work load118