Industrial Engineering (English) | |||||
Bachelor | TR-NQF-HE: Level 6 | QF-EHEA: First Cycle | EQF-LLL: Level 6 |
Course Code: | CENG486 | ||||||||
Course Name: | Compiler Design | ||||||||
Course Semester: | Fall | ||||||||
Course Credits: |
|
||||||||
Language of instruction: | EN | ||||||||
Course Requisites: | |||||||||
Does the Course Require Work Experience?: | No | ||||||||
Type of course: | Compulsory | ||||||||
Course Level: |
|
||||||||
Mode of Delivery: | Face to face | ||||||||
Course Coordinator : | Prof. Dr. BEKİR TEVFİK AKGÜN | ||||||||
Course Lecturer(s): | |||||||||
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 a formal language to another formal language. The course explains the steps used from the browser step to the parser design and development. In addition, the course provides information on semantic analysis and local and global compiler optimization. During the course, 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 | Course Notes |
2) | SCANNERS I (REGULAR LANGUAGES, WORD SPECIFICATIONS) | Course Notes |
3) | SCANNERS II (RE à NFA à DFA à minDFA à REALIZATION) | Course Notes |
4) | SEPARATORS I (CFGs, SEGREGATION TREE, ABOVE-DOWN) | Course notes |
5) | SEPARATORS II (RECONSTRUCTIVE LANDING, PREDICTIVE SEPARATION) | Course notes |
6) | SEPARATORS III (FOLLOW-UP SEPARATORS) | Course notes |
7) | SEPARATORS IV (SLIDE-DOWNLOAD, SLR, LR (K) SEPARATION.) | Course notes |
8) | Midterm Exam | Course notes |
9) | CONTEXT-SENSITIVE ANALYSIS | Course Notes |
10) | INTERMEDIATE REPRESENTATIONS | Course notes |
11) | ABSTRACTION PROCEDURE | Course notes |
12) | ABSTRACTION PROCEDURE | Course notes |
13) | CODE FORMING, OPTIMIZATIONS I (LOCAL OPTIMIZATIONS) | Course note |
14) | OPTIMIZATIONS II (GLOBAL OPTIMIZATIONS) | Course notes |
15) | Final Exam | Course Notes |
Course Notes / Textbooks: | A.V. AHO, M.S. LAM, R. SETHI, J.D. ULLMAN, “COMPILERS: PRINCIPLES, TECHNIQUES AND TOOLS, 2nd ED., ADDISON WESLEY, 2006. K.D. COOPER, L. TORCZON, “ENGINEERING A COMPILER”, 2nd ED., MORGAN KAUFMANN, 2012. |
References: | COADSYS ÜZERİNDE SUNUM SLAYTLARI |
Learning Outcomes | 1 |
2 |
3 |
4 |
||||||
---|---|---|---|---|---|---|---|---|---|---|
Program Outcomes | ||||||||||
1) Adequate knowledge in mathematics, science and engineering subjects pertaining to the relevant discipline; ability to use theoretical and applied information in these areas to model and solve engineering problems. | ||||||||||
2) Ability to identify, formulate, and solve complex engineering problems; ability to select and apply proper analysis and modelling methods for this purpose. | ||||||||||
3) Ability to design a complex system, process, device or product under realistic constraints and conditions, in such a way so as to meet the desired result; ability to apply modern design methods for this purpose. (Realistic constraints and conditions may include factors such as economic and environmental issues, sustainability, manufacturability, ethics, health, safety issues, and social and political issues according to the nature of the design.) | ||||||||||
4) Ability to devise, select, and use modern techniques and tools needed for engineering practice; ability to employ information technologies effectively. | ||||||||||
5) Ability to design and conduct experiments, gather data, analyse and interpret results for investigating engineering problems. | ||||||||||
6) Ability to work efficiently in intra-disciplinary and multi-disciplinary teams; ability to work individually. | ||||||||||
7) Ability to communicate effectively i Turkish, both orally and in writing; knowledge of a minimum of one foreign language. | ||||||||||
8) Recognition of the need for lifelong learning; ability to access information, to follow developments in science and technology, and to continue to educate him/herself. | ||||||||||
9) Awareness of professional and ethical responsibility. | ||||||||||
10) Information about business life practices such as project management, risk management, and change management; awareness of entrepreneurship, innovation, and sustainable development. | ||||||||||
11) Knowledge about contemporary issues and the global and societal effects of engineering practices on health, environment, and safety; awareness of the legal consequences of engineering solutions. |
No Effect | 1 Lowest | 2 Low | 3 Average | 4 High | 5 Highest |
Program Outcomes | Level of Contribution | |
1) | Adequate knowledge in mathematics, science and engineering subjects pertaining to the relevant discipline; ability to use theoretical and applied information in these areas to model and solve engineering problems. | |
2) | Ability to identify, formulate, and solve complex engineering problems; ability to select and apply proper analysis and modelling methods for this purpose. | |
3) | Ability to design a complex system, process, device or product under realistic constraints and conditions, in such a way so as to meet the desired result; ability to apply modern design methods for this purpose. (Realistic constraints and conditions may include factors such as economic and environmental issues, sustainability, manufacturability, ethics, health, safety issues, and social and political issues according to the nature of the design.) | |
4) | Ability to devise, select, and use modern techniques and tools needed for engineering practice; ability to employ information technologies effectively. | |
5) | Ability to design and conduct experiments, gather data, analyse and interpret results for investigating engineering problems. | |
6) | Ability to work efficiently in intra-disciplinary and multi-disciplinary teams; ability to work individually. | |
7) | Ability to communicate effectively i Turkish, both orally and in writing; knowledge of a minimum of one foreign language. | |
8) | Recognition of the need for lifelong learning; ability to access information, to follow developments in science and technology, and to continue to educate him/herself. | |
9) | Awareness of professional and ethical responsibility. | |
10) | Information about business life practices such as project management, risk management, and change management; awareness of entrepreneurship, innovation, and sustainable development. | |
11) | Knowledge about contemporary issues and the global and societal effects of engineering practices on health, environment, and safety; awareness of the legal consequences of engineering solutions. |
Expression | |
Brainstorming/ Six tihnking hats | |
Individual study and homework | |
Lesson | |
Q&A / Discussion |
Written Exam (Open-ended questions, multiple choice, true-false, matching, fill in the blanks, sequencing) | |
Homework |
Semester Requirements | Number of Activities | Level of Contribution |
Homework Assignments | 1 | % 20 |
Midterms | 1 | % 30 |
Final | 1 | % 50 |
total | % 100 | |
PERCENTAGE OF SEMESTER WORK | % 50 | |
PERCENTAGE OF FINAL WORK | % 50 | |
total | % 100 |
Activities | Number of Activities | Duration (Hours) | Workload |
Course Hours | 14 | 3 | 42 |
Study Hours Out of Class | 14 | 3 | 42 |
Homework Assignments | 1 | 30 | 30 |
Midterms | 1 | 40 | 40 |
Final | 1 | 50 | 50 |
Total Workload | 204 |