GAZI UNIVERSITY INFORMATION PACKAGE - 2019 ACADEMIC YEAR

COURSE DESCRIPTION
COMPILER DESIGN/BM-406
Course Title: COMPILER DESIGN
Credits 4 ECTS 6
Semester 8 Compulsory/Elective Elective
COURSE INFO
 -- LANGUAGE OF INSTRUCTION
  Turkish
 -- NAME OF LECTURER(S)
   Head of Computer Engineering Departmen
 -- WEB SITE(S) OF LECTURER(S)
  http://tf-bm.gazi.edu.tr/
 -- EMAIL(S) OF LECTURER(S)
  bm.tf@gazi.edu.tr
 -- LEARNING OUTCOMES OF THE COURSE UNIT
Students will learn the basic concepts pertaining to compiler design.








 -- MODE OF DELIVERY
  -The mode of delivery of this course is Face to face
 -- PREREQUISITES AND CO-REQUISITES
  -There is no prerequisite or co-requisite for this course.
 -- RECOMMENDED OPTIONAL PROGRAMME COMPONENTS
  -There is no recommended optional programme component for this course.
 --COURSE CONTENT
1. Week  -Introduction to compilers, compiler modules
2. Week  -The syntactic defines, for Programming languages.
3. Week  -Syntactic analysis
4. Week  -The finite state machines
5. Week  -The word resolver designing
6. Week  -Grammar analysis (parse trees)
7. Week  -Parsing methods: bottom-up and top-down parsing
8. Week  -Type Control, the preparation of symbol table
9. Week  -Midterm Exam
10. Week  -Intermediate code the production
11. Week  -Code optimization (by machine)
12. Week  -Code optimization (by the programmer)
13. Week  -Compiler analysis-synthesis stage.
14. Week  -Assembler and Compilers
15. Week  -Error analyzes
16. Week  -Final
 -- RECOMMENDED OR REQUIRED READING
  -Özdevinirler (Otomatlar) Kuramı ve Biçimsel Diller, Ünal Yarımagan Modern Compiler Design, D. Grune
 -- PLANNED LEARNING ACTIVITIES AND TEACHING METHODS
  -Lecture, Question & Answer, Demonstration, Drill - Practise
 -- WORK PLACEMENT(S)
  -WORK PLACEMENT
 -- ASSESSMENT METHODS AND CRITERIA
 
Quantity
Percentage
 Mid-terms
1
20
 Assignment
0
0
 Exercises
1
5
 Projects
1
10
 Practice
1
5
 Quiz
0
0
 Contribution of In-term Studies to Overall Grade  
40
 Contribution of Final Examination to Overall Grade  
60
 -- WORKLOAD
 Efficiency  Total Week Count  Weekly Duration (in hour)  Total Workload in Semester
 Theoretical Study Hours of Course Per Week
14
8
112
 Practising Hours of Course Per Week
10
3
30
 Reading
0
 Searching in Internet and Library
0
 Designing and Applying Materials
0
 Preparing Reports
0
 Preparing Presentation
0
 Presentation
0
 Mid-Term and Studying for Mid-Term
1
4
4
 Final and Studying for Final
1
8
8
 Other
0
 TOTAL WORKLOAD: 
154
 TOTAL WORKLOAD / 25: 
6.16
 ECTS: 
6
 -- COURSE'S CONTRIBUTION TO PROGRAM
NO
PROGRAM LEARNING OUTCOMES
1
2
3
4
5
1Gaining the necessary theoretical and applied knowledge on engineering, mathematics, and science, skills for determining, defining and formulating computer engineering problems.X
2Gaining the ability to choose and apply appropriate analysis, modeling and design methods in computer engineering problems.X
3Gaining the ability to design a system, process or product related to computer engineering for a specific given purpose, gaining the ability to apply modern design tools.X
4Gaining the ability to evaluate the issues of security, robustness, adaptability, economy, ecological problems and sustainability in engineering solutions under realistic constraints and conditions.X
5Gaining the ability of simulation, experimenting, design, interpreting results for analysis and solution of computer engineering problems. Gaining the ability of analyzing of data for real problems which are need of industry.X
6Gaining the ability to use contemporary techniques and tools, information technologies for engineering applications.X
7Gaining the ability to work efficiently as individual or in a group in computer engineering discipline or in interdisciplinary studies. Gaining the ability to act independently, to use initiative when needed, and to be creative.X
8Gaining the ability to communicate efficiently by expressing his/her opinions in Turkish verbally or in written form in a concise manner. Gaining ability to efficiently use at least a foreign language in his/her proficiency.X
9Gaining the ability to grasp the significance of the concepts in areas such as business entrepreneurship, innovation and gaining ability for planning and management of a project.X
10Gaining the ability of awareness about self-renewal concept by comprehending the necessity of lifelong learning.X
11Gaining the ability to have professional and ethical responsibility.X
12The development of personality such as self-confidence, undaunting in the face of difficulties, consistency and patience.X
13Awareness about problems concerning with social, economic, environmental, etc. in our age and realization of the engineering profession by keeping mind in the responsibility which is related the awareness.X