Grado en Ingeniería Telemática (Redes y Tecnologías de Internet)

Grado en Ingeniería Telemática (Redes y Tecnologías de Internet)

Fórmate para ser un ingeniero experto en Redes y Tecnologías de Internet y adquiere a la vez las certificaciones oficiales de CCNA y CCNP

Lenguajes de programación

Descripción
Al acabar el curso el alumno: - Conoce los fundamentos básicos por la definición formal de lenguajes de programación. - Usa correctamente las técnicas para la implementación de lenguajes de programación. - Conoce los diferentes paradigmas de programación. - Tiene la capacidad suficiente para escoger el lenguaje de programación más adecuado por la resolución de un problema.
Tipo asignatura
Optativa
Semestre
Segundo
Créditos
6.00

Profesores Titulares

Conocimientos previos
Objetivos

G-1. Capacidad de análisis y síntesis de marcos conceptuales para generar nuevos conocimientos.
G-2. Capacidad de organizar y planificar la aplicación de nuevos conocimientos.
G-3. Conocimientos generales básicos sobre el área de estudio.
G-4. Adquirir conocimientos básicos de la profesión.
G-5. Comunicación oral y escrita en la propia lengua.
G-9. Resolución de problemas.
G-10. Toma de desicions.
G-11. Conocimientos básicos y fundamentales del ámbito de formación.
G-13. Adquirir capacidad de crítica y autocrítica.
G-14. Trabajo en equipo.
G-15. Adquirir habilidades interpersonales.
G-22. Capacidad de aplicar los conocimientos a la práctica.
G-24. Capacidad para desarrollar nuevas estrategias de aprendizaje.
G-26. Generar nuevas ideas (creatividad).
G-30. Diseñar y gestionar proyectos.
E-1. Aprender de forma autónoma nuevos conocimientos y técnicas oportunas por la concepción, el desarrollo o la explotación de sistemas informáticos.

Contenidos

1. Lenguajes de programación: definición y diseño.
2. Sintaxis: clasificación de Chomsky.
3. Lenguajes regulares, expresiones regulares y autómatas de estados finitos.
4. Análisis lexicográfico: diseño e implementación.
5. Lenguajes incontextuals, gramáticas incontextuals y analizadores sintácticos.
6. Analizadores sintácticos descendentes y ascendientes: diseño e implementación.
7. Traducción dirigida por sintaxis.
8. Gramáticas de atributos.
9. Análisis semántico: diseño e implementación.
10. Generación de código: diseño e implementación.

Metodología

La asignatura se desarrolla a partir de clases presenciales donde se dan los contenidos teóricos necesarios para conseguir los objetivos de aprendizaje. Estas sesiones se complementan con prácticas guiadas al laboratorio y que los alumnos también tienen que realizar en grupo.

Las tecnologías usadas son: javacc, java.

Evaluación

Es una asignatura teórico-práctica en la que se combinan las explicaciones teóricas con las prácticas. La combinación de teoría y práctica totalmente coordinadas permiten un fuerte afiançament de los contenidos, y por lo tanto, de las competencias asociadas.
La evaluación del alumno se hace a partir de los instrumentos siguientes de evaluación:
Exámenes y ejercicios de evaluación continua (50%) y el desarrollo y presentación de prácticas (50%).
Para aprobar la asignatura hay que hacerlo por separado tanto a la parte práctica como la de teoría.

Criterios evaluación
Bibliografía básica

[1] Tucker, A. B, Noonan, R.E., Programming Languages, Principles and Paradigms, 2nd edition, McGraw-Hill, 2007
[2] Pratt, Terrence and Zelkowitz, Marvin V. "Programming Languages: Design and Implementation (Fourth edition)". Prentice Hall, 2001
[3] Mozota, M., Teoria de la compilació: Anàlisi lèxic i sintàctic, LaSalleOnline Enginyers, 2009
[4] Mozota, M., Teoria de la compilació: Anàlisi semàntica i generació de codi, LaSalleOnline Enginyers, 2009

Material complementario