Skip to main content

BIM 431 - Formal Languages ​​and Automata Theory

Faculty of Engineering and Natural Sciences · Software Engineering (English 30%) · Undergraduate

ECTS: 5 T+P+L: 2+0+1 Departmental Elective
Coordinator: Dr. Öğr. Üyesi Şengül BAYRAK
Instructors: Dr. Öğr. Üyesi Şengül BAYRAK

Course Objective

It is aimed to have the most basic knowledge in the classification and definition of languages and to develop programming skills by learning the types and functioning of automata.

Course Content

Introduction to Finite State Automata, Relations between languages and Finite State Automata, Regular languages and Regular expressions,Regular grammars, Ambiguity in grammars, Normal forms (Chomsky Normal form, Greibach Normal form), Stack structured automata, Stack structured automata for context-free grammars, Properties of context-free languages, Turing machines.

Course Learning Outcomes

  1. Uses multiple automata or grammars to represent a complex system.
  2. Identify abstract machine models and formal languages.
  3. Explains the definitions of formal languages, language classes (regular, context-free, etc.), and the Chomsky hierarchy.
  4. Designs finite state machines (DFA/NFA), pushdown automata, and Turing machines.
  5. Designs an automaton that uses proper language and proper grammar structure.
  6. Defines a non-regular language using a Push-Down Automata

Core Area Distribution

(48) Computing%50 (52) Engineering and Engineering Trades%50

Teaching Methods

ExpressionQuestion-AnswerExercise and PracticeProblem Solving

Assessment & Evaluation

Testing (Essay / Tests: True-Falls, multiple-choice, short answer, matching)

ECTS / Workload

ActivityQuantityDuration (h)Total Workload
Course Duration (Including Exam Week)15345
Out of Class Study Period15575
Midterm122
Quiz000
Assignment000
Practice000
Final122

Course Schedule

WeekSubjectPreparation
1Concept of Formal Language, Concept of Automata Theory Introduction to Computation Theory (Sets, Functions, Relations, Graphs, Trees and Proof Methods)Slides
2LanguagesSlides
3Finite AutomataSlides
4Finite Automata (continous)Slides
5Regular Sets and Regular ExpressionsSlides
6Grammar, Languages and Properties of the Regular LanguagesSlides
7MidtermMidterm
8Context-Free Languages ​​and GrammarsSlayt
9Simplifying Context-Free GrammarsSlides
10Chomsky and Greibach Normal FormsSlides
11Pushdown AutomataSlides
12Pushdown Automata (continues)Slides
13Turing MachinesSlides
14Other Models of the Turing MachinesSlides
15Final ExamFinal Exam
16Final ExamFinal Exam