INFORMÁTICA TEÓRICA
Doble Titulación de Grado en Administración y Dirección de Empresas y Grado en Ingeniería Informática
Curso 2023/2024
1. Datos de la asignatura
(Fecha última modificación: 18-04-23 17:27)- Código
- 101117
- Plan
- 2020/21
- ECTS
- 6
- Carácter
- Curso
- 2
- Periodicidad
- Segundo Semestre
- Idioma
- ESPAÑOL
- Área
- INGENIERÍA DE SISTEMAS Y AUTOMÁTICA
- Departamento
- Informática y Automática
- Plataforma Virtual
Datos del profesorado
- Coordinador/Coordinadora
- María Belén Pérez Lancho
- Grupo/s
- A y B
- Centro
- Fac. Ciencias
- Departamento
- Informática y Automática
- Área
- Ingeniería de Sistemas y Automática
- Despacho
- F3001 Edificio Ciencias
- Horario de tutorías
- Solicitar cita por correo electrónico
- URL Web
- http://diaweb.usal.es/diaweb/personas/lancho
- lancho@usal.es
- Teléfono
- 923 294500, ext. 6094
- Profesor/Profesora
- Vivian Félix López Batista
- Grupo/s
- A
- Centro
- Fac. Ciencias
- Departamento
- Informática y Automática
- Área
- Ciencia de la Computación e Inteligencia Artific.
- Despacho
- F3014 - Edificio Ciencias -
- Horario de tutorías
- Solicitar cita por correo electrónico
- URL Web
- http://diaweb.usal.es/diaweb/personas/vivian
- vivian@usal.es
- Teléfono
- 923 29 45 00 (Ext. 6085)
- Profesor/Profesora
- María Navarro Cáceres
- Grupo/s
- A
- Centro
- Fac. Ciencias
- Departamento
- Informática y Automática
- Área
- Ciencia de la Computación e Inteligencia Artific.
- Despacho
- D4104 (ático módulo D)
- Horario de tutorías
- Solicitar cita por correo electrónico
- URL Web
- http://diaweb.usal.es/diaweb/personas/marianavarro
- maria90@usal.es
- Teléfono
- +34923294500 ext. 6070
- Profesor/Profesora
- Álvaro Lozano Murciego
- Grupo/s
- A
- Centro
- Fac. Ciencias
- Departamento
- Informática y Automática
- Área
- Lenguajes y Sistemas Informáticos
- Despacho
- F2400 – Edificio Ciencias, frente a Aula Magna II
- Horario de tutorías
- Solicitar cita por correo electrónico
- URL Web
- https://esalab.es/esalab-miembro/alvaro-lozano-murciego/
- loza@usal.es
- Teléfono
- 923294500 Ext. 6072
- Profesor/Profesora
- Profesor/Profesora PENDIENTE de asignar
- Grupo/s
- B
- Centro
- -
- Departamento
- -
- Área
- -
- Despacho
- -
- Horario de tutorías
- -
- URL Web
- -
- -
- Teléfono
- -
2. Sentido de la materia en el plan de estudios
Bloque formativo al que pertenece la materia.
Materia Programación
Papel de la asignatura.
La asignatura presenta al estudiante los aspectos formales de la programación, en particular los procesos de análisis léxico y sintáctico comunes a todos los lenguajes de programación. Además analiza los modelos de máquinas abstractas que permiten la formalización de cualquier algoritmo, desde los autómatas finitos, que son herramientas muy útiles para resolver ciertos problemas de análisis o sistemas de eventos discretos, hasta la máquina de Turing, equivalente a cualquier otro sistema computacional y capaz de resolver cualquier función recursiva. El conocimiento de estos aspectos permite al estudiante conocer la esencia de los lenguajes de programación y la base de la construcción de compiladores e intérpretes. También es básico para comprender conceptos tan importantes como recursividad, computabilidad o complejidad computacional.
Perfil profesional.
Es una asignatura de fundamentos de la programación y por tanto proporciona una formación básica, útil para aplicarla al diseño de soluciones de problemas o al análisis de la idoneidad o complejidad de las soluciones propuestas. También ofrece competencias específicas de Computación.
3. Recomendaciones previas
Es connveniente haber cursado previamente las siguientes asignaturas: Programación I, Programación II y Estructura de datos y algoritmos I. Se recomienda cursarla a la vez que la asignatura Estructura de datos y algoritmos II.
4. Objetivo de la asignatura
Conocer los aspectos formales de los lenguajes de programación.
Realizar operaciones básicas con cadenas y lenguajes.
Representar lenguajes formales usando gramáticas y expresiones regulares.
Conocer los modelos de autómatas y máquinas
Formalizar algoritmos usando dichos modelos para analizar lenguajes y para resolver otros tipos de problemas.
Relacionar y aplicar la teoría de autómatas a los procesos de análisis léxico, sintáctico y semántico presentes en compiladores, intérpretes, buscadores, editores, analizadores, generadores automáticos de código, etc.
Conocer herramientas estándar para la construcción automática de analizadores léxicos y sintácticos y para la representación de autómatas y máquinas.
Comprender los conceptos de computabilidad y complejidad computacional.
5. Contenidos
Teoría.
TEMA 1: Fundamentos teóricos de la computación
TEMA 2: Lenguajes regulares, expresiones regulares y autómatas finitos. Análisis léxico
TEMA 3: Lenguajes y gramáticas independientes del contexto. Autómatas de pila. Análisis sintáctico
TEMA 4: Lenguajes recursivos funciones recursivas y máquinas de Turing
TEMA 5: Introducción a la computabilidad y complejidad
Práctica.
Autómatas y gramáticas: JFLAP
Expresiones regulares: grep, regex,...
Análisis léxico y sintáctico: lex-yacc
Máquinas de Turing: Visual Turing
6. Competencias a adquirir
Básicas / Generales.
CG3: Capacidad para comprender y dominar los conceptos básicos de matemática discreta, lógica, algorítmica y complejidad computacional, y su aplicación para la resolución de problemas propios de la ingeniería.
CG5: Conocimiento de la estructura, organización, funcionamiento e interconexión de los sistemas informáticos, los fundamentos de su programación y su aplicación para la resolución de problemas propios de la ingeniería.
Específicas.
CE6: Conocimiento y aplicación de los procedimientos algorítmicos básicos de las tecnologías informáticas para diseñar soluciones a problemas, analizando la idoneidad y complejidad de los algoritmos propuestos.
CE8: Capacidad para analizar, diseñar, construir y mantener aplicaciones de forma robusta, segura y eficiente, eligiendo el paradigma y los lenguajes de programación más adecuados.
CECO2: Capacidad para conocer los fundamentos teóricos de los lenguajes de programación y las técnicas de procesamiento léxico, sintáctico y semántico asociadas, y saber aplicarlas para la creación, diseño y procesamiento de lenguajes.
CECO3: Capacidad para evaluar la complejidad computacional de un problema, conocer estrategias algorítmicas que puedan conducir a su resolución y recomendar, desarrollar e implementar aquella que garantice el mejor rendimiento de acuerdo con los requisitos establecidos.
CECO5: Capacidad para adquirir, obtener, formalizar y representar el conocimiento humano en una forma computable para la resolución de problemas mediante un sistema informático en cualquier ámbito de aplicación, particularmente los relacionados con aspectos de computación, percepción y actuación en ambientes o entornos inteligentes.
Transversales.
CT3: Capacidad de análisis y síntesis
CT4: Capacidad de organizar y planificar
CT5: Comunicación oral y escrita en la lengua propia
CT9: Resolución de problemas
CT10: Toma de decisiones
CT12: Trabajo en equipo
CT16: Capacidad de aplicar los conocimientos en la práctica
CT17: Habilidades de investigación
CT18: Capacidad de aprender
CT21: Habilidad para trabajar de forma autónoma y cumplir plazos.
7. Metodologías
Las actividades formativas que se proponen para esta asignatura son las siguientes:
Actividades presenciales:
- Lección magistral: teoría y resolución de problemas.
- Realización de seminarios de resolución de problemas
- Realización de prácticas guiadas en aula de informática
- Sesiones de tutorías, seguimiento y evaluación, individuales o en grupo.
- Defensa de prácticas y pruebas de evaluación.
Actividades no presenciales:
- Estudio autónomo.
- Revisión bibliográfica y búsqueda de información.
- Realización de problemas y de prácticas libres.
- Realización de informes de prácticas.
En las clases magistrales se presentará el contenido teórico y el profesor realizará problemas tipo y ejemplos de aplicación. En los seminarios de problemas y en las prácticas guiadas la participación del estudiante será más activa y estará dirigida por los profesores. En las tutorías se resolverán dudas y el trabajo personal permitirá afianzar las competencias.
La actividad presencial supone el 40% de los créditos (60 horas), de las cuales la mitad se desarrolla en grupo completo (unos 80 estudiantes) y la otra mitad en grupos subgrupos más pequeños (no más de 25-30 estidoantes por subgrupo).
8. Previsión de Técnicas (Estrategias) Docentes
9. Recursos
Libros de consulta para el alumno.
- E. Jurado Málaga; TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES; Servicio de Publicaciones Universidad de Extremadura; 2008
- E. Alfonseca, M. Alfonseca y R. Moriyón. TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES, McGraw Hill, 2007.
- Hopcroft, Motwani, Ullman INTRODUCCIÓN A LA TEORÍA DE AUTÓMATAS, LENGUAJES Y COMPUTACIÓN, Addison-Wesley, 2001.
- P. Linz; AN INTRODUCTION TO FORMAL LANGUAGES AND AUTOMATA; Fifth Ed.; Jones & Bartlett Learning, 2011.
- J. G. Brookshear; TEORÍA DE LA COMPUTACIÓN Addison-Wesley iberoamericana, 1993.
- García Saiz, T. y Gaudioso Vázquez, E.; AUTÓMATAS, GRAMÁTICAS Y LENGUAJES FORMALES; Ed. Sanz y Torres, 2010.
Otras referencias bibliográficas, electrónicas o cualquier otro tipo de recurso.
Enlaces de herramientas de prácticas
- JFLAP: http://www.cs.duke.edu/csed/jflap/
- Regex: https://regex101.com/
10. Evaluación
Consideraciones generales.
De forma general la calificación final se calculará con la media ponderada de las notas conseguidas en los apartados siguientes:
- Evaluación continua: 30% (Prácticas y seminarios: 15% + Ejercicio escrito: 15%)
- Examen final: 70% (preguntas teórico/prácticas + resolución de problemas)
Criterios de evaluación.
La evaluación continua de las prácticas y seminarios tendrá en cuenta la participación activa en clase y la resolución y/o entrega de las tareas o ejercicios propuestos a lo largo del curso. En caso de errores importantes o de duda sobre la autoría de las entregas se podrá citar al estudiante para que realice la defensa (oral o escrita) del trabajo entregado. Esta parte práctica es obligatoria y requiere una calificación mínima de 3 puntos sobre 10.
La prueba escrita de continua evaluará contenidos teóricos y prácticos de los dos primeros temas de la asignatura y no requiere nota mínima.
El examen final tendrá dos partes y se exigirá en cada una de ellas una calificación mínima de 3,5 sobre 10. La calificación global del examen deberá ser igual o superior a 4 puntos para poder hacer la media ponderada con la nota de continua.
Los estudiantes que no asistan al examen final tendrán en acta la calificación de No presentado independientemente de su participación en las actividades de evaluación continua.
Al principio de curso se realizará una descripción detallada de estos criterios y se hará pública a través de la web de la asignatura.
Instrumentos de evaluación.
Ejercicios: En cada tema se incluirán hojas de enunciados con ejercicios propuestos para que el estudiante los realice en las horas de trabajo no presencial. Estos ejercicios podrán ser revisados y evaluados a lo largo del curso.
Entregas de prácticas: en algunas sesiones de prácticas se propondrán tareas para entregar a través de la plataforma Studium.
Preguntas y debates: se realizarán principalmente durante los seminarios y las sesiones de prácticas guiadas y permitirán la evaluación de la participación, de la capacidad de trabajo en grupo y de las destrezas adquiridas.
Examen teórico-práctico, que podrá incluir:
- Preguntas de tipo test.
- Preguntas de respuesta corta para razonar y relacionar conceptos.
- Resolución de problemas y ejercicios prácticos.
Recomendaciones para la evaluación.
Se recomienda realizar un estudio continuado de la asignatura, puesto que la complejidad de los contenidos es creciente y cada nuevo tema incluye y amplía los conceptos y técnicas de los anteriores.
Se destaca la gran importancia de la realización del ejercicio tipo examen de la primera parte: a pesar de que el peso numérico en la nota final es pequeño resulta muy valioso para que el estudiante aborde y asiente las bases de la asignatura, sea consciente de las dificultades que la materia entraña,de los errores que ha cometido y de los criterios con los que va a ser evaluado en el examen final.
Recomendaciones para la recuperación.
Para los estudiantes que durante el curso no hayan realizado las entregas de prácticas por causas justificadas se podrá establecer un nuevo plazo de entrega/defensa o bien requerir en el examen la realización de algún ejercicio adicional específico de la parte que no se haya superado. En cualquier caso, para aprobar la asignatura deberá obtenerse en la parte práctica la calificación mínima establecida en los criterios generales.