Course Information

Course Information
Course Title Code Language Type Semester L+U Hour Credits ECTS
Formal Languages And Abstract Machines BM301 Turkish Compulsory 5. Semester 3 + 0 3.0 4.0
Prerequisite Courses
Course Level Undergraduate
Mode of delivery Expression, Practising, Q&A, Discussion, Problem Solving
Course Coordinator Dr. Öğr. Üyesi Esra ŞATIR
Instructor(s) Dr. Öğr. Üyesi Esra ŞATIR (Güz)
Goals To understand the mathematical methods related to the design of programming languages and to make possible the design of tools for accepting a program written in a certain language.
Course Content Basic mathematics for languages, Regular expressions, deterministic and nondeterministic automatas, grammar and languages, regular landuages, context free grammar, normal forms and optimization of grammars, Cumulative automatas, Turing machines, parsing operations,classification of languages, Shift-Reduce and Recursive-Descent parsing methods
Learning Outcomes
# Öğrenme Kazanımı
1 Defining a Language
1 Defining a Language
2 Language sets and regular expressions
2 Language sets and regular expressions
3 Regular sets abd automata theory
3 Regular sets abd automata theory
4 Understanding language design and deterministic finite automata
4 Understanding language design and deterministic finite automata
5 Understanding language design and non deterministic finite automata
5 Understanding language design and non deterministic finite automata
6 Using transition graphs for language design
6 Using transition graphs for language design
7 Using Moore-Mealy Machines for language design
7 Using Moore-Mealy Machines for language design
8 Context Free Language
8 Context Free Language
9 Language Tree and Parsing
9 Language Tree and Parsing
10 Push Down Automata
10 Push Down Automata
11 Turing Machines
11 Turing Machines
Lesson Plan (Weekly Topics)
Week Topics/Applications Method
1. Week Regular and Non Regular Languages
2. Week Mathematical Notations and Techniques
3. Week Regular expressiond and regular languages
4. Week Deterministic Finite Automata
5. Week Nondeterministic Finite Automata
6. Week Transition Graphs
7. Week FA with Output
8. Week Context Free Grammars and Languages
9. Week Normal Forms
10. Week Pushdown Automatas
11. Week Turing Machines
12. Week Turing machine examples
13. Week Parsing (Top-Down Parsing)
14. Week Parsing (Top-Down Parsing)
*Midterm and final exam dates are not specified in the 14-week course operation plan. Midterm and final exam dates are held on the dates specified in the academic calendar with the decision of the University Senate.
The Matrix for Course & Program Learning Outcomes
No Program Requirements Level of Contribution
1 2 3 4 5
1 Adequate knowledge of mathematics, science and related engineering disciplines; Ability to use theoretical and applied knowledge in these fields in complex engineering problems
1 Adequate knowledge of mathematics, science and related engineering disciplines; Ability to use theoretical and applied knowledge in these fields in complex engineering problems
1 Adequate knowledge of mathematics, science and related engineering disciplines; Ability to use theoretical and applied knowledge in these fields in complex engineering problems
1 Adequate knowledge of mathematics, science and related engineering disciplines; Ability to use theoretical and applied knowledge in these fields in complex engineering problems
2 Ability to identify, define, formulate and solve complex engineering problems; for this purpose, the ability to select and apply appropriate analysis and modeling methods
3 Knowledge and awareness about the management, control, development and security/reliability of Information Technologies
4 Ability to design a complex system, process, device or product to meet specific requirements under realistic constraints and conditions; for this purpose, the ability to apply modern design methods
5 Awareness of the necessity of lifelong learning; ability to access information, follow developments in science and technology, and constantly renew oneself
6 Ability to design and conduct experiments, collect data, analyze and interpret results for the investigation of complex engineering problems or discipline-specific research topics
7 Ability to work effectively in disciplinary and multi-disciplinary teams; individual study skills
8 Ability to develop, select and use modern techniques and tools necessary for the analysis and solution of complex problems encountered in engineering practice; Ability to use information technologies effectively
9 Knowledge of the effects of engineering practices on health, environment and safety in universal and social dimensions and the problems of the age reflected in the field of engineering; awareness of the legal consequences of engineering solutions
10 Ability to communicate effectively in Turkish orally and in writing; knowledge of at least one foreign language; ability to write effective reports and understand written reports, to prepare design and production reports, to make effective presentations, to give and receive clear and understandable instructions
Relations with Education Attainment Program Course Competencies
Program Requirements DK1 DK2 DK3 DK4 DK5 DK6 DK7 DK8 DK9 DK10 DK11
PY1 0 0 0 0 0 0 0 0 0 0 0
PY2 5 5 5 5 5 5 5 5 5 5 5
PY3 3 3 3 3 3 3 3 3 3 3 3
PY4 4 4 4 4 4 4 4 4 4 4 4
PY5 3 3 3 3 3 3 3 3 3 3 3
PY6 4 4 4 4 4 4 4 4 4 4 4
PY7 4 4 4 4 4 4 4 4 4 4 4
PY8 3 3 3 3 3 3 3 3 3 3 3
PY9 4 4 4 4 4 4 4 4 4 4 4
PY10 5 5 5 5 5 5 5 5 5 5 5
Recommended Sources
Ders Kitabı veya Notu Ders Kitabı veya Ders Notu bulunmamaktadır.
Diğer Kaynaklar
  • 3. Daniel I. A. Cohen, "Introduction to Computer Theory"
  • 1. Prof.Dr.Ünal Yarımağan, "Automata Theory and Formal Languages", 1st edditionı, Bıçaklar store, 2003.
  • 2. Dan Simovici, Richard L. Tenney, "Theory of formal languages with applications"
  • 3. Daniel I. A. Cohen, "Introduction to Computer Theory"
  • 1. Prof.Dr.Ünal Yarımağan, "Automata Theory and Formal Languages", 1st edditionı, Bıçaklar store, 2003.
  • 2. Dan Simovici, Richard L. Tenney, "Theory of formal languages with applications"
ECTS credits and course workload
ECTS credits and course workload Quantity Duration (Hour) Total Workload (Hour)
Ders İçi
Class Hours 16 3 48
Ders Dışı
Preparation, After Class Study 16 3 48
Interview 16 3 48
Sınavlar
Midterm 1 1 1 1
Final 1 1 1
Classroom Activities 1 1 1
Total Workload 147
*AKTS = (Total Workload) / 25,5 ECTS Credit of the Course 4.0