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.
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.
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. |
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. |
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).
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% |
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). |