Genetics and Bioengineering | |||||
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) Sufficient knowledge in mathematics, science and engineering related to their branches; and the ability to apply theoretical and practical knowledge in these areas to model and solve engineering problems. | ||||||||||
2) The ability to identify, formulate, and solve complex engineering problems; selecting and applying appropriate analysis and modeling methods for this purpose. | ||||||||||
3) The ability to design a complex system, process, device or product under realistic constraints and conditions to meet specific requirements; the ability to apply modern design methods for this purpose. (Realistic constraints and conditions include such issues as economy, environmental issues, sustainability, manufacturability, ethics, health, safety, social and political issues, according to the nature of design.) | ||||||||||
4) Ability to develop, select and use modern techniques and tools necessary for engineering applications; ability to use information technologies effectively. | ||||||||||
5) Ability to design experiments, conduct experiments, collect data, analyze and interpret results to examine engineering problems or discipline-specific research topics. | ||||||||||
6) The ability to work effectively in disciplinary and multidisciplinary teams; individual work skill. | ||||||||||
7) Effective communication skills in Turkish oral and written communication; at least one foreign language knowledge; 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. | ||||||||||
8) Awareness of the need for lifelong learning; access to knowledge, ability to follow developments in science and technology, and constant self-renewal. | ||||||||||
9) Conform to ethical principles, and standards of professional and ethical responsibility; be informed about the standards used in engineering applications. | ||||||||||
10) Awareness of applications in business, such as project management, risk management and change management; awareness of entrepreneurship, and innovation; information about sustainable development. | ||||||||||
11) Information about the universal and social health, environmental and safety effects of engineering applications and the ways in which contemporary problems are reflected in the engineering field; 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) | Sufficient knowledge in mathematics, science and engineering related to their branches; and the ability to apply theoretical and practical knowledge in these areas to model and solve engineering problems. | |
2) | The ability to identify, formulate, and solve complex engineering problems; selecting and applying appropriate analysis and modeling methods for this purpose. | |
3) | The ability to design a complex system, process, device or product under realistic constraints and conditions to meet specific requirements; the ability to apply modern design methods for this purpose. (Realistic constraints and conditions include such issues as economy, environmental issues, sustainability, manufacturability, ethics, health, safety, social and political issues, according to the nature of design.) | |
4) | Ability to develop, select and use modern techniques and tools necessary for engineering applications; ability to use information technologies effectively. | |
5) | Ability to design experiments, conduct experiments, collect data, analyze and interpret results to examine engineering problems or discipline-specific research topics. | |
6) | The ability to work effectively in disciplinary and multidisciplinary teams; individual work skill. | |
7) | Effective communication skills in Turkish oral and written communication; at least one foreign language knowledge; 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. | |
8) | Awareness of the need for lifelong learning; access to knowledge, ability to follow developments in science and technology, and constant self-renewal. | |
9) | Conform to ethical principles, and standards of professional and ethical responsibility; be informed about the standards used in engineering applications. | |
10) | Awareness of applications in business, such as project management, risk management and change management; awareness of entrepreneurship, and innovation; information about sustainable development. | |
11) | Information about the universal and social health, environmental and safety effects of engineering applications and the ways in which contemporary problems are reflected in the engineering field; 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 |