Usted está aquí: Inicio Ingeniería Informática Formal Languages and Automata Theory

Formal Languages and Automata Theory, 2014

Acciones de Documento
  • Fuente RSS
  • Vista de contenidos
  • Marcadores (bookmarks)
  • Exportación de LTI
Autores: David Griol Barres, Araceli Sanchís de Miguel, María Paz Sesmero Lorente, Agapito Ledezma Espino, Juan Manuel Alonso Weber
Basic course on Automata Theory and Formal Languages ​​aimed at students of the Computer Science Degree . The common competences of the course to Computer Science are: 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; Knowledge and application of basic techniques and principles of intelligent systems and their practical application.
Course Image

DAVID GRIOL BARRES
ARACELI SANCHIS DE MIGUEL
MARÍA PAZ SESMERO LORENTE
AGAPITO LEDEZMA ESPINO

JUAN MANUEL ALONSO WEBER

Computer Science Department
Universidad Carlos III de Madrid

Computer Science and Artificial Intelligence

Second Year
Computer Science Degree

February 2015

Image generated by Agapito Ledezma

Theorethical and Lab hours: 6 ECTS, 1.5 theorethical hours and 1.5 practical hours each week.

Total hours: 148.

 

PRERREQUISITES AND RECOMMENDED PREVIOUS KNOWLEDGE

  • Programming.
  • Algorithms and Data Structures.

 

GENERAL DESCRIPTION OF THE SUBJECT

Basic course on Automata Theory and Formal Languages ​​aimed at students of the Computer Science Degree . The common competences of the course to Computer Science are:

  • 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.
  • Knowledge and application of basic techniques and principles of intelligent systems and their practical application.

 

OBJETIVES: KNOWLEDGE AND SKILLS

The main cognitive objectives and competences of the course are:

  • 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 recognizer.
  • Understand the concept of regular expression as a description of a regular language.
  • Understand the concept of a pushdown automata to recognize any context-free language
  • 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.


The main procedural objectives and competences of the course are:

  • 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.
  • Acquire 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.
  • Learn the 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.
  • Know the methods to calculate the computational complexity of an algorithms, an automaton or a Turing machine.
  • Acquire the ability to transform a formal statement into an informal statement.


The main attitude objectives and competences of the course are:

  • Acquire the ability to analyze computational problems and its solutions.
  • Concern on quality.

 

TEACHING MATERIAL

The course includes files with an explanation of the most important theoretical concepts, guided summaries with the main objectives of each unit, proposed exercises with the corresponding solutions, practical activities and lab sessions,  and partial and global assessments with solutions .

 

ASSESSMENT ACTIVITIES OR PRACTICAL ASSIGNMENTS

Al the end of the course, students should be able to:

  • Solve the proposed final exams in the specific time that it is indicated.
  • Carry out the proposed practical and lab exercises for each one of the units.
  • Understand and control basic concepts of Discrete mathematics, Logics, Algorithms and Computational Complexity, and their application for the resolution of problems related to Engineering.

 

 

Reutilizar Curso
Descargar este curso
OCW-UC3M user survey