The aim of this course is that students acquire the following skills:
1. Basic competences
CB5: Learning abilities required to undertake later studies with a high degree of autonomy.
2. Transverse and generic competences
CGB3. Ability to understand and control basic concepts of Discrete mathematics, Logics, Algorithms and Computational Complexity, and their application for the resolution of problems related to Engineering.
3. Common competences to Computer Science.
CECRI6. Knowledge and application of basic algorithms and procedures of Computer Science to design solutions to problems, and analyze the suitability and complexity of the proposed algorithms.
CECRI15. Knowledge and application of basic techniques and principles of intelligent systems and their practical application.
1.Transverse (Generic) competences
- Ability to analyze and
synthesize. PO: a,c,e,g
- Problem solving. PO: a,c,e
- Critical Reasoning. PO: a,c,e,g,h,k
- Teamwork PO: g
- Written communication. PO: g
- Automate processes. PO: a,c,e,h,k
2.Specific competences for Learning
a.Cognitive (To Know).
- Understand the theories to describe formal languages.
- Understand the concept of formal grammar and their types, as well as the
type of language.
- Understand the concept of finite automaton as a regular language
- Understand the concept of regular expression as a description of a
- Understand the concept of a pushdown automata to recognize any
- Understand the relation between grammars, languages and recognizers.
- Understand the principles and operation of a Turing Machine
and its different types.
- Understand the concept of computational complexity.
To know the methods to calculate the computational complexity.
- Understand the concept of P and NP complexity classes.
- Understand the limits of computation
- Assess how to address a problem of recognition of words for a certain grammar.
- Elaborate correctly the phases for the construction of a recognizer, from the
description of the grammar to the design of the automaton.
- Combine and extrapolate the acquired knowledge about developing a lexical or
syntactic recognizer for a grammar.
- Skills to assess the efficiency of a given automaton in the task of recognizing
a specific, also to discern whether the automaton is minimal or not.
- Practical application of theoretical models of the exposed computation/calculation
devices (Grammars, Finite Automata, Pushdown Automata, and Turing machines) for
solving problems or arithmetic computation.
- To know the methods to calculate the computational complexity of an algorithms,
an automaton or a Turing machine.
- Ability to transform a formal statement into a informal statement.
3.- Attitude (To be)
- Ability to analyze computational problems and its solutions.
- Concern on quality.