Week |
Subject |
Related Preparation |
1) |
What is a compiler? |
Levine, J. (John Levine). (2009). Flex and Bison. O'Reilly.
An Introduction to Compiling Techniques : A First Course using ANSI C, LEX and YACC. |
2) |
Target Languages |
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. |
3) |
Formal Grammars |
Levine, J. (John Levine). (2009). Flex and Bison. O'Reilly.
An Introduction to Compiling Techniques : A First Course using ANSI C, LEX and YACC. |
4) |
Intermediate Representations |
Levine, J. (John Levine). (2009). Flex and Bison. O'Reilly.
An Introduction to Compiling Techniques : A First Course using ANSI C, LEX and YACC. |
5) |
Lexical Analysis |
Levine, J. (John Levine). (2009). Flex and Bison. O'Reilly.
An Introduction to Compiling Techniques : A First Course using ANSI C, LEX and YACC. |
6) |
Syntax Analysis Methods |
Levine, J. (John Levine). (2009). Flex and Bison. O'Reilly.
An Introduction to Compiling Techniques : A First Course using ANSI C, LEX and YACC. |
7) |
Error Handling |
Levine, J. (John Levine). (2009). Flex and Bison. O'Reilly.
An Introduction to Compiling Techniques : A First Course using ANSI C, LEX and YACC. |
8) |
Midterm |
|
9) |
Parser Generators |
Levine, J. (John Levine). (2009). Flex and Bison. O'Reilly.
An Introduction to Compiling Techniques : A First Course using ANSI C, LEX and YACC. |
10) |
Semantic Checking |
Levine, J. (John Levine). (2009). Flex and Bison. O'Reilly.
An Introduction to Compiling Techniques : A First Course using ANSI C, LEX and YACC. |
11) |
Code Generation |
Levine, J. (John Levine). (2009). Flex and Bison. O'Reilly.
An Introduction to Compiling Techniques : A First Course using ANSI C, LEX and YACC. |
12) |
Code Optimization |
Levine, J. (John Levine). (2009). Flex and Bison. O'Reilly.
An Introduction to Compiling Techniques : A First Course using ANSI C, LEX and YACC. |
13) |
A Complete Compiler for VSL |
Levine, J. (John Levine). (2009). Flex and Bison. O'Reilly.
An Introduction to Compiling Techniques : A First Course using ANSI C, LEX and YACC. |
14) |
Evaluating progrmming projects interactively |
Levine, J. (John Levine). (2009). Flex and Bison. O'Reilly.
An Introduction to Compiling Techniques : A First Course using ANSI C, LEX and YACC. |
15) |
Final Exam |
|
16) |
Final Week |
|
|
Program Outcomes |
Level of Contribution |
1) |
Competent knowledge of mathematics, science and technology, and computer engineering; ability to apply this knowledge to engineering solutions. |
|
2) |
Skills to design and conduct experiments, collect data, analyze and interpret results. |
|
3) |
Ability to design a complex system, process, device or product under realistic constraints and conditions to meet specific requirements; ability to apply modern design methods for this purpose. |
|
4) |
Ability to develop, select and use modern techniques and tools required for analysis and solution of complex problems encountered in engineering practice; ability to use information technologies effectively. |
|
5) |
Ability to design and conduct experiments, collect data, analyze and interpret results to investigate complex engineering problems or discipline-specific research topics. |
|
6) |
Ability to work effectively in intra-disciplinary and multi-disciplinary teams; ability to work individually. |
|
7) |
Ability to communicate effectively in Turkish, both orally and in writing; Knowledge of at least one foreign language; the ability to write and understand written reports effectively, to prepare design and production reports, to make effective presentations, to give and receive clear and understandable instructions. |
|
8) |
Awareness of the necessity of lifelong learning; the ability to access information, to follow developments in science and technology, and to constantly renew oneself. |
|
9) |
Acting in accordance with ethical principles, professional and ethical responsibility awareness; information about standards used in engineering applications. |
|
10) |
Information about business life practices such as project management, risk management and change management; awareness of entrepreneurship, innovation; information about sustainable development. |
|
11) |
Knowledge about the universal and social effects of engineering applications on health, environment and safety and the problems of the age reflected in the field of engineering; awareness of the legal consequences of engineering solutions. |
|