Guías Docentes Electrónicas
1. General information
Course:
COMPILERS
Code:
42349
Type:
ELECTIVE
ECTS credits:
6
Degree:
406 - UNDERGRADUATE DEGREE IN COMPUTER SCIENCE AND ENGINEERING (AB)
Academic year:
2022-23
Center:
604 - SCHOOL OF COMPUTER SCIENCE AND ENGINEERING (AB)
Group(s):
15 
Year:
4
Duration:
First semester
Main language:
Spanish
Second language:
English
Use of additional languages:
English Friendly:
Y
Web site:
Bilingual:
N
Lecturer: JUAN JOSE PARDO MATEO - Group(s): 15 
Building/Office
Department
Phone number
Email
Office hours
ESII / 0.A.10
SISTEMAS INFORMÁTICOS
2044
juanjose.pardo@uclm.es

2. Pre-Requisites

This module builds on the skills and knowledge acquired in other subjects in the curriculum:

    Automaton and Computer Theory.
    Data Structure.
   Programming  Fundamentals I and II.
    Programming Methodology.
    Structure of Computers.

Therefore, in order to assimilate and conveniently make the most of the contents that will be taught in the course, it is recommended to have passed them.

3. Justification in the curriculum, relation to other subjects and to the profession

This module is included in the Specific Technology of Computation and it provides an overview of the principles of operation of compilers and interpreters, and the role they play within the context of computer science engineering.

The concepts of language processors also find application outside the field of compilation. Some of these fields are the following: design of programming languages and programming aid tools, processing of text files with structured information, word processors,  symbolic calculation, database management systems , etc.

The practical importance of language processors in computing is mainly shown in the daily use of compilers and interpreters by professional programmers.

Currently, compilation is considered a traditional area of computer science, which has a deep theoretical base and a systematized design process. The future of language processors is linked to the development of their multiple application areas.

Therefore, a deep knowledge of the principles and techniques of language processors is fundamental in the university training of computer specialists, mainly if they have chosen he Specific Technology of Computation.


4. Degree competences achieved in this course
Course competences
Code Description
CM02 Ability to know the theoretical fundamentals of programming languages, and their associated techniques for lexical, syntactic, and semantic processes, along with their application in the creation, design, and language processing.
INS01 Analysis, synthesis, and assessment skills.
INS04 Problem solving skills by the application of engineering techniques.
UCLM03 Accurate speaking and writing skills.
5. Objectives or Learning Outcomes
Course learning outcomes
Description
Ability to build applications based on processors for domain-specific languages.
Knowledge of what a programming language consists of and an integrated vision of the functioning and structure of a language processor.
Additional outcomes
Description
Describe which problems can be solved with the methodologies and tools that allow the construction of analyzers from lexical, syntactic and semantic specifications, and be able to solve them.
Identification and application of the aspects of the theory of formal languages necessary for the specification of programming languages.
Documentation, description and evaluation of the construction process of a language processor.
6. Units / Contents
  • Unit 1: Structure of compilers and interpreters
  • Unit 2: Lexical Analysis
  • Unit 3: Syntax Analysis
  • Unit 4: Semantic Analysis
  • Unit 5: Synthesis Phase
7. Activities, Units/Modules and Methodology
Training Activity Methodology Related Competences (only degrees before RD 822/2021) ECTS Hours As Com Description
Class Attendance (theory) [ON-SITE] Lectures CM02 0.56 14 N N Theoretical concepts of each unit of the course will be presented.
Problem solving and/or case studies [ON-SITE] Problem solving and exercises CM02 INS01 INS04 0.64 16 N N Different Exercises/Problems will be solved that will allow the application of the theoretical concepts studied. This activity is directly related to the "writing of reports or projects (off-site) where the evaluation of both tasks is included
Laboratory practice or sessions [ON-SITE] Group Work CM02 INS01 INS04 0.9 22.5 N N Developing of some practical exercises in the laboratory with the help of the teacher. This activity will be related and evaluated through the activity of "Practicum and practical activities report writing or preparation"
Final test [ON-SITE] Assessment tests CM02 INS01 INS04 UCLM03 0.24 6 Y Y The evaluation test will be divided into two parts that will be done separately. Each part will be a written test about minimum knowledge and they will be based on problem solving or case studies. Students who choose non-continuous evaluation, will only take a single exam on the date stablished for the final and/ord retake exams
Study and Exam Preparation [OFF-SITE] Self-study CM02 INS01 INS04 UCLM03 1.64 41 N N Autonomous and individual study of the theoretical and practical content of the units developed, as well as preparation for the evaluation tests
Study and Exam Preparation [OFF-SITE] Group Work CM02 INS01 INS04 0.8 20 N N Group of students will develop practical exercises
Writing of reports or projects [OFF-SITE] Self-study CM02 INS01 INS04 UCLM03 0.48 12 Y Y Writing of some reports with commented and justified solution to the exercises proposed. This activity is directly related to the "Problem solving and/or case studies (on-site)" activity To pass this part in a different call to the continuous evaluation students will submit all the exercises on the dates established by the center for the two calls (final and retake exam)
Practicum and practical activities report writing or preparation [OFF-SITE] Group Work CM02 INS01 INS04 UCLM03 0.74 18.5 Y Y Students, divided in groups, will write a report where they will describe the development of their practical exercise. This report must be written accordint to the criteria specified for it. This task is closely related to the activity "Laboratory Practices or sesions[on-site] because both are complementary. To pass this part in a different call to the continuous evaluation, students will submit their implementation and the report on the dates established by the center for the two calls (final and retake exam)
Total: 6 150
Total credits of in-class work: 2.34 Total class time hours: 58.5
Total credits of out of class work: 3.66 Total hours of out of class work: 91.5

As: Assessable training activity
Com: Training activity of compulsory overcoming (It will be essential to overcome both continuous and non-continuous assessment).

8. Evaluation criteria and Grading System
Evaluation System Continuous assessment Non-continuous evaluation * Description
Final test 0.00% 35.00% This final test can only be taken by those students who have opted for non-continuous evaluation.
The first two units will have a weight of 60% and the last two 40% of the evaluation of this section.
This test will be made of several exercises which has similar difficulty to those worked on during the course.
Assessment of problem solving and/or case studies 20.00% 25.00% Students will be required to submit a report where they will describe justified solutions for the exercises indicated as such in class.

They will obtain marks in each exercise according to the following scale: - Correct exercise: Maximum score. - Partially correct exercise
correct: Maximum score/2. - Incorrect exercise: 0 points.
Assessment of active participation 5.00% 0.00% Participation in classes, mainly problems and laboratory clasess, will be valued.
It shall have the following criteria: - Presentation of ideas to the group for the resolution of
problems, in exercise and laboratory classes. -Participation in seminars presenting ideas an solutions to be taken.
Laboratory sessions 40.00% 40.00% Students must submit the practical project consisting of the development of a compiler for a small language that will be defined at the beginning of the course. During the course there will be several partial assignments of the project that will show the evolution of the students. Each assignment will have its corresponding presentation before the teacher.
Mid-term tests 35.00% 0.00% Students will do two assessments test, one at the end of unit 3 and the other one at the end of unit 5.

The weight of the first test will be 60% and the other will be 40% of the final mark of this section.

These tests will be made of three or four exercises.
Total: 100.00% 100.00%  
According to art. 4 of the UCLM Student Evaluation Regulations, it must be provided to students who cannot regularly attend face-to-face training activities the passing of the subject, having the right (art. 12.2) to be globally graded, in 2 annual calls per subject , an ordinary and an extraordinary one (evaluating 100% of the competences).

Evaluation criteria for the final exam:
  • Continuous assessment:
    All students will be assessed by continuous assessment, unless they expressly indicate otherwise through the following link https://www.esiiab.uclm.es/alumnos/evaluacion.php before they have been assessed for 50% of the course grade. The lecturer will inform in class and in the webpage of the deadline for the application of the non-continuous mode.

    In order to pass the subject in the regular continuous evaluation , the mark of each part(test, problems and laboratory) must be at least 4.
    Doing an ordinary test is not possible.

    Below this minimum, the student will have to take the corresponding parts in the extra exam session. There is not possibility to do ordinary exam

    The students who have passed the part of problems or practices in the previous course will be able to keep the grade obtained in that part in the previous course. Student must inform the teacher in the first two weeks of class.

    A student who does not have the minimum mark required in the course will receive a grade no higher than 4.00 even if the average obtained is other, including more than 5.00.
  • Non-continuous evaluation:
    Only those students who have expressly indicated this through the link https://www.esiiab.uclm.es/alumnos/evaluacion.php before they have been assessed for 50% of the course grade will be assessed in this mode. The lecturer will inform in class and in webpage of the date for the application of the non-continuous mode.

    The same criteria are established as for continuous assessment.

Specifications for the resit/retake exam:
Students with marks below 5 out of 10 in any part in the regular call must take the corresponding parts. The marks of the other parts are saved.

For students who have been assesed by continuous assesment, The 5% of the evaluation of class participation will be obtained during the course.

If a student decides to repeat the evaluation of one of the passed parts in the regular call, the
mark of that part will be the obtained in the extra call(higher or smaller)
Specifications for the second resit / retake exam:
In this call, students must do a single written exam, which is made up of some exercise related to the thoery and practices.
The difficulty of this exercises are similar to those done in class
9. Assignments, course calendar and important dates
Not related to the syllabus/contents
Hours hours
Class Attendance (theory) [PRESENCIAL][Lectures] 3
Problem solving and/or case studies [PRESENCIAL][Problem solving and exercises] 5
Laboratory practice or sessions [PRESENCIAL][Group Work] 8
Final test [PRESENCIAL][Assessment tests] 6
Study and Exam Preparation [AUTÓNOMA][Self-study] 15
Study and Exam Preparation [AUTÓNOMA][Group Work] 20
Writing of reports or projects [AUTÓNOMA][Self-study] 12
Practicum and practical activities report writing or preparation [AUTÓNOMA][Group Work] 19

Unit 1 (de 5): Structure of compilers and interpreters
Activities Hours
Class Attendance (theory) [PRESENCIAL][Lectures] 1
Problem solving and/or case studies [PRESENCIAL][Problem solving and exercises] 1
Laboratory practice or sessions [PRESENCIAL][Group Work] 2
Study and Exam Preparation [AUTÓNOMA][Self-study] 2

Unit 2 (de 5): Lexical Analysis
Activities Hours
Class Attendance (theory) [PRESENCIAL][Lectures] 2
Problem solving and/or case studies [PRESENCIAL][Problem solving and exercises] 2
Laboratory practice or sessions [PRESENCIAL][Group Work] 2
Study and Exam Preparation [AUTÓNOMA][Self-study] 6

Unit 3 (de 5): Syntax Analysis
Activities Hours
Class Attendance (theory) [PRESENCIAL][Lectures] 4
Problem solving and/or case studies [PRESENCIAL][Problem solving and exercises] 2
Laboratory practice or sessions [PRESENCIAL][Group Work] 4
Study and Exam Preparation [AUTÓNOMA][Self-study] 6

Unit 4 (de 5): Semantic Analysis
Activities Hours
Class Attendance (theory) [PRESENCIAL][Lectures] 2
Problem solving and/or case studies [PRESENCIAL][Problem solving and exercises] 2
Laboratory practice or sessions [PRESENCIAL][Group Work] 4
Study and Exam Preparation [AUTÓNOMA][Self-study] 6

Unit 5 (de 5): Synthesis Phase
Activities Hours
Class Attendance (theory) [PRESENCIAL][Lectures] 2
Problem solving and/or case studies [PRESENCIAL][Problem solving and exercises] 4
Laboratory practice or sessions [PRESENCIAL][Group Work] 2
Study and Exam Preparation [AUTÓNOMA][Self-study] 6

Global activity
Activities hours
General comments about the planning: This course schedule is APPROXIMATE. It could vary throughout the academic course due to teaching needs, bank holidays, etc. A weekly schedule will be properly detailed and updated on the online platform (Virtual Campus). Classes will be scheduled in 3 sessions per week of one hour and a half. Evaluation activities or catch-up classes may exceptionally be scheduled in a different timetable (mainly in the afternoon).
10. Bibliography and Sources
Author(s) Title Book/Journal Citv Publishing house ISBN Year Description Link Catálogo biblioteca
Aho, Alfred V. Compiladores : principios, técnicas y herramientas Addison-Wesley Iberoamericana 968-444-333-1 1998 Ficha de la biblioteca
Aho, Alfred V. Compiladores : principios, técnicas y herramientas Pearson Educación 978-970-26-1133-2 2008 Ficha de la biblioteca
Aho, Alfred V. Compilers : principles, techniques, and tools Pearson/Addison Wesley 0-321-49169-6 2007 Ficha de la biblioteca
Alfonseca, Manuel Compiladores e intérpretes : teoría y práctica Pearson Prentice Hall 978-84-205-5031-2 2006 Ficha de la biblioteca
Bal, Henri E. Grune, Dick Diseño de compiladores modernos McGraw-Hill/Interamericana de España 978-84-481-5656-5 2007 Ficha de la biblioteca
Cooper, Keith D. Engineering a compiler Morgan Kaufmann Publishers 1-55860-699-8 2004 Ficha de la biblioteca
Garrido Alenda, Alicia Diseño de compiladores Departamento de Lenguajes y Sistemas Informátic 84-7908-700-5 2002 Ficha de la biblioteca
Jiménez Millán, José Antonio Compiladores y procesadores de lenguajes Universidad de Cádiz 84-96274-39-X 2004 Ficha de la biblioteca
Louden, Kenneth C. Construcción de compiladores : principios y práctica Thomson 970-686-299-4 2004 Ficha de la biblioteca
Ruiz Catalán, Jacinto Compiladores : teoría e implementación RC Libros 978-84-937008-9-8 2010 Ficha de la biblioteca
Scott ,Michael L. Programming language pragmatics Morgan Kaufmann 978-0-12-633951-2 2006 Ficha de la biblioteca



Web mantenido y actualizado por el Servicio de informática