Course Information
SemesterCourse Unit CodeCourse Unit TitleT+P+LCreditNumber of ECTS CreditsLast Updated Date
1BBM404FUNDAMENTALS OF COMPILER CONSTRUCTION3+0+03606.09.2024

 
Course Details
Language of Instruction English
Level of Course Unit Bachelor's Degree
Department / Program COMPUTER ENGINEERING
Type of Program Formal Education
Type of Course Unit Elective
Course Delivery Method Face To Face
Objectives of the Course The objective of this course is to teach main paradigms in compiler construction.

Course Content Fundamental concepts of compiler design.
Lexical analysis.
Syntax analysis.
Type checking and syntax-directed translation.
Intermediate-code generation, code generation and code optimization.
Error recovery.
Course Methods and Techniques Lecture, Problem Solving
Prerequisites and co-requisities ( BBM102 ) and ( BBM104 )
Course Coordinator None
Name of Lecturers Prof. Dr. İlyas Çiçekli
Assistants None
Work Placement(s) No

Recommended or Required Reading
Resources 1Aho V.A., Lam M.S., Sethi R., and Ullman J.D., Compilers: Principles, Techniques, and Tools, 2nd Ed., Addison-Wesley, 2007.
Course Notes Aho V.A., Lam M.S., Sethi R., and Ullman J.D., Compilers: Principles, Techniques, and Tools, 2nd Ed., Addison-Wesley, 2007


Planned Learning Activities and Teaching Methods
Activities are given in detail in the section of "Assessment Methods and Criteria" and "Workload Calculation"

Assessment Methods and Criteria
In-Term Studies Quantity Percentage
Midterm Exam 1 % 30
Project 1 % 30
Final examination 1 % 40
Total
3
% 100

 
ECTS Allocated Based on Student Workload
Activities Quantity Duration Total Work Load
Course Duration 14 3 42
Hours for off-the-c.r.stud 14 4 56
Project 1 40 40
Preparation for Midterm Exam 1 15 15
General Exam Preparation 1 20 20
Total Work Load   Number of ECTS Credits 5,76666666666667 173

 
Course Learning Outcomes: Upon the successful completion of this course, students will be able to:
NoLearning Outcomes
1 After completing the course, the students learn fundamental concepts of compiler design.
2 The students learn lexical analysis.
3 The students learn top-down and bottom-up parsing methods.
4 The students learn type-checking routines.
5 The students learn syntax-directed translation.
6 The students learn intermediate code generation, code generation and code optimization.
7 The students learn error-recovery methods.
8 Hata yönetimi yöntemlerini öğrenirler.

 
Weekly Detailed Course Contents
WeekTopicsStudy MaterialsMaterials
1 Introduction to compiling.
2 Lexical analysis.
3 Lexical analysis.
4 Syntax analysis - Context-free grammars.
5 Syntax analysis - Top-down parsing and LL parsing.
6 Syntax analysis - Bottom-up parsing.
7 Syntax analysis - LR parsing.
8 Midterm
9 Syntax directed translation - Attribute definitions and their evaluations.
10 Semantic analysis and type-checking.
11 Runtime organization.
12 Intermediate-code generation.
13 Code generation.
14 Code optimization.
15 Final exam preparation
16 Final exam

 
Contribution of Learning Outcomes to Programme Outcomes
P1 P2 P3 P4 P5 P6 P7 P8 P9 P10 P11 P12
All 5 5 5 5 1 1 1 1 1 1 1
C1
C2
C3
C4
C5
C6
C7
C8

  Contribution: 1: Very Slight 2:Slight 3:Moderate 4:Significant 5:Very Significant

  
  https://bilsis.hacettepe.edu.tr/oibs/bologna/progCourseDetails.aspx?curCourse=2687430&lang=en