COMPUTER ENGINEERING | |||||
Bachelor | TR-NQF-HE: Level 6 | QF-EHEA: First Cycle | EQF-LLL: Level 6 |
Course Code: | 1410411003 | ||||||||
Ders İsmi: | Theory of Computation | ||||||||
Ders Yarıyılı: | Fall | ||||||||
Ders Kredileri: |
|
||||||||
Language of instruction: | TR | ||||||||
Ders Koşulu: | |||||||||
Ders İş Deneyimini Gerektiriyor mu?: | No | ||||||||
Type of course: | Necessary | ||||||||
Course Level: |
|
||||||||
Mode of Delivery: | Face to face | ||||||||
Course Coordinator : | Dr.Öğr.Üyesi Recep DURANAY | ||||||||
Course Lecturer(s): |
Dr.Öğr.Üyesi İmren YEŞİLYURT |
||||||||
Course Assistants: |
Course Objectives: | The aim of this course is to provide students with knowledge and skills in compiler design and development. |
Course Content: | This course explains to students the methods used to translate from one formal language to another. The course explains the steps used starting from the browser step to parser design and development. Additionally, the course provides information on semantic analysis and local and global compiler optimization. During the lesson, each student is expected to design a simple compiler using lex and yacc software tools. |
The students who have succeeded in this course;
|
Week | Subject | Related Preparation |
1) | INTRODUCTION TO COMPILERS | K.D. COOPER, L. TORCZON, “ENGINEERING A COMPILER”, 2nd ED., MORGAN KAUFMANN, 2012. |
2) | SCANNERS I (REGULAR LANGUAGES, ORAL SPECIFICATIONS) | textbook |
3) | SCANNERS II | K.D. COOPER, L. TORCZON, “ENGINEERING A COMPILER”, 2nd ED., MORGAN KAUFMANN, 2012. |
4) | SEPARATORS I | textbook |
5) | SEPARATORS II | K.D. COOPER, L. TORCZON, “ENGINEERING A COMPILER”, 2nd ED., MORGAN KAUFMANN, 2012. |
6) | SEPARATORS III | textbook |
7) | SEPARATORS IV | textbook |
8) | MIDTERM | K.D. COOPER, L. TORCZON, “ENGINEERING A COMPILER”, 2nd ED., MORGAN KAUFMANN, 2012. |
9) | SEPARATORS V | K.D. COOPER, L. TORCZON, “ENGINEERING A COMPILER”, 2nd ED., MORGAN KAUFMANN, 2012. |
10) | INTERMEDIATE REPRESENTATIONS | K.D. COOPER, L. TORCZON, “ENGINEERING A COMPILER”, 2nd ED., MORGAN KAUFMANN, 2012. |
11) | PROCEDURE ABSTRACT | K.D. COOPER, L. TORCZON, “ENGINEERING A COMPILER”, 2nd ED., MORGAN KAUFMANN, 2012. |
12) | PROCEDURE ABSTRACT | K.D. COOPER, L. TORCZON, “ENGINEERING A COMPILER”, 2nd ED., MORGAN KAUFMANN, 2012. |
13) | CODE FORMAT | textbook |
14) | OPTIMIZATIONS I | textbook |
15) | OPTIMIZATIONS II | K.D. COOPER, L. TORCZON, “ENGINEERING A COMPILER”, 2nd ED., MORGAN KAUFMANN, 2012. |
16) | FINAL | K.D. COOPER, L. TORCZON, “ENGINEERING A COMPILER”, 2nd ED., MORGAN KAUFMANN, 2012. |
Course Notes / Textbooks: | A.V. AHO, M.S. LAM, R. SETHI, J.D. ULLMAN, “COMPILERS: PRINCIPLES, TECHNIQUES AND TOOLS, 2nd ED., ADDISON WESLEY, 2006. |
References: | K.D. COOPER, L. TORCZON, “ENGINEERING A COMPILER”, 2nd ED., MORGAN KAUFMANN, 2012. |
Ders Öğrenme Kazanımları | 1 |
2 |
4 |
3 |
||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Program Outcomes | ||||||||||||||||
1) PO 1.1) Sufficient knowledge in mathematics, science and computer engineering | ||||||||||||||||
2) PO 1.2) Ability to apply theoretical and applied knowledge in mathematics, science and computer engineering for modeling and solving engineering problems. | ||||||||||||||||
3) PO 2.1) Identifying complex engineering problems | ||||||||||||||||
4) PO 2.2) Defining complex engineering problems | ||||||||||||||||
5) PO 2.3) Formulating complex engineering problems | ||||||||||||||||
6) PO 2.4) Ability to solve complex engineering problems | ||||||||||||||||
7) PO 2.5) Ability to choose and apply appropriate analysis and modeling methods | ||||||||||||||||
8) PO 3.1) Ability to design a complex system, process, device or product to meet specific requirements under realistic constraints and conditions. | ||||||||||||||||
9) PO 3.2) Ability to apply modern design methods under realistic constraints and conditions for a complex system, process, device or product | ||||||||||||||||
10) PO 4.1) Developing modern techniques and tools necessary for the analysis and solution of complex problems encountered in engineering applications | ||||||||||||||||
11) PO 4.2) Ability to select and use modern techniques and tools necessary for the analysis and solution of complex problems encountered in engineering applications | ||||||||||||||||
12) PO 4.3) Ability to use information technologies effectively. | ||||||||||||||||
13) PO 5.1) Examination of complex engineering problems or discipline-specific research topics, designing experiments | ||||||||||||||||
14) PO 5.2) Examination of complex engineering problems or discipline-specific research topics, experimentation | ||||||||||||||||
15) PO 5.3 ) Analysis of complex engineering problems or discipline-specific research topics, data collection | ||||||||||||||||
16) PO 5.4) Analyzing the results of complex engineering problems or discipline-specific research topics | ||||||||||||||||
17) PO 5.5) Examining and interpreting complex engineering problems or discipline-specific research topics |
No Effect | 1 Lowest | 2 Low | 3 Average | 4 High | 5 Highest |
Program Outcomes | Level of Contribution | |
1) | PO 1.1) Sufficient knowledge in mathematics, science and computer engineering | |
2) | PO 1.2) Ability to apply theoretical and applied knowledge in mathematics, science and computer engineering for modeling and solving engineering problems. | |
3) | PO 2.1) Identifying complex engineering problems | |
4) | PO 2.2) Defining complex engineering problems | |
5) | PO 2.3) Formulating complex engineering problems | |
6) | PO 2.4) Ability to solve complex engineering problems | |
7) | PO 2.5) Ability to choose and apply appropriate analysis and modeling methods | |
8) | PO 3.1) Ability to design a complex system, process, device or product to meet specific requirements under realistic constraints and conditions. | |
9) | PO 3.2) Ability to apply modern design methods under realistic constraints and conditions for a complex system, process, device or product | |
10) | PO 4.1) Developing modern techniques and tools necessary for the analysis and solution of complex problems encountered in engineering applications | 4 |
11) | PO 4.2) Ability to select and use modern techniques and tools necessary for the analysis and solution of complex problems encountered in engineering applications | 5 |
12) | PO 4.3) Ability to use information technologies effectively. | |
13) | PO 5.1) Examination of complex engineering problems or discipline-specific research topics, designing experiments | |
14) | PO 5.2) Examination of complex engineering problems or discipline-specific research topics, experimentation | |
15) | PO 5.3 ) Analysis of complex engineering problems or discipline-specific research topics, data collection | |
16) | PO 5.4) Analyzing the results of complex engineering problems or discipline-specific research topics | |
17) | PO 5.5) Examining and interpreting complex engineering problems or discipline-specific research topics |
Course | |
Labs | |
Homework |
Yazılı Sınav (Açık uçlu sorular, çoktan seçmeli, doğru yanlış, eşleştirme, boşluk doldurma, sıralama) | |
Homework |
Semester Requirements | Number of Activities | Level of Contribution |
Laboratory | 10 | % 10 |
Midterms | 1 | % 30 |
Semester Final Exam | 1 | % 60 |
total | % 100 | |
PERCENTAGE OF SEMESTER WORK | % 40 | |
PERCENTAGE OF FINAL WORK | % 60 | |
total | % 100 |
Activities | Number of Activities | Duration (Hours) | Workload |
Course Hours | 14 | 1 | 14 |
Laboratory | 14 | 2 | 28 |
Study Hours Out of Class | 14 | 5 | 70 |
Homework Assignments | 1 | 10 | 10 |
Midterms | 1 | 2 | 2 |
Final | 1 | 3 | 3 |
Total Workload | 127 |