NO EXISTEN CAMBIOS
La guía de la asignatura ha sido actualizada con los cambios que aquí se mencionan.
NOMBRE DE LA ASIGNATURA |
NOMBRE DE LA ASIGNATURA |
TEORÍA DE LOS LENGUAJES DE PROGRAMACIÓN |
CÓDIGO |
CÓDIGO |
71012024 |
CURSO ACADÉMICO |
CURSO ACADÉMICO |
2023/2024 |
DEPARTAMENTO |
DEPARTAMENTO |
LENGUAJES Y SISTEMAS INFORMÁTICOS
|
TÍTULO EN QUE SE IMPARTE |
TÍTULO EN QUE SE IMPARTE |
|
|
|
GRADO EN INGENIERÍA INFORMÁTICA
|
CURSO - PERIODO - TIPO |
- GRADUADO EN INGENIERÍA INFORMÁTICA
-
SEGUNDO
CURSO
-
SEMESTRE 2
- OBLIGATORIAS
- ESPECÍFICO PARA INGENIEROS TÉCNICOS EN INFORMÁTICA DE SISTEMAS
-
OPTATIVAS
-
SEMESTRE 2
- OBLIGATORIAS
|
|
MÁSTER UNIVERSITARIO EN INGENIERÍA Y CIENCIA DE DATOS
|
Nº ECTS |
Nº ECTS |
6 |
HORAS |
HORAS |
150 |
IDIOMAS EN QUE SE IMPARTE |
IDIOMAS EN QUE SE IMPARTE |
CASTELLANO |
Esta asignatura presenta los contenidos relacionados con la teoría y la práctica de los lenguajes de programación (LP). Los objetivos generales de la asignatura son:
• El estudio formal de los Lenguajes de Programación (LP) y su especificación, para que el estudiante tenga una visión general que le permita entender el papel de la sintaxis y la semántica en los LP.
• Conocer los mecanismos de los LP y sus construcciones, para distinguir entre el control de secuencia y el control de datos en un programa, los rasgos que caracterizan a los elementos de datos en un lenguaje, su sistema de tipos o su ausencia.
• El estudio de los paradigmas de los lenguajes de programación existentes, enmarcar los LP en paradigmas y destacar las características de los LP que los hacen adecuados para la función que se les otorga.
Su estudio está orientado a:
• El programador profesional, que necesita saber las diferencias entre los LP para poder elegir el mas adecuado para el proyecto que quiera realizar o el problema a resolver o, si ya ha tomado esta decisión y trabaja con uno concreto, para mejorarlo con técnicas disponibles en otros LP.
• El diseñador de un nuevo LP que necesita saber tanto los fundamentos de los diferentes paradigmas de los LP como el panorama completo de los existentes, para considerar con todo rigor el nicho que va a ocupar su nuevo LP.
• El implementador de un LP que desarrolla su compilador o intérprete sobre una máquina particular o un tipo de máquina y pueda aprovechar lo que ha aprendido en este mismo proceso para futuros LP.
En general el programador, el diseñador y el implementador de un LP deben conocer el área de los LP, su evolución histórica, sus fundamentos teóricos, los distintos usos, etc para poder apreciar sus características diferentes, entender la influencia que ejercen las arquitecturas y aplicaciones de los ordenadores sobre el diseño de los LP y evitar futuros defectos de diseño de programas aprendiendo las lecciones del pasado.
La asignatura incluye una parte práctica con sesiones presenciales con el tutor, de asistencia obligatoria, que evaluará su práctica concreta (más información en el aula virtual).
Contextualización:
En el plan formativo del grado, esta asignatura se encuadra en la materia “Lenguajes de Programación”, altamente relacionada con las materias “Fundamentos de Programación”, y “Metodología de la Programación y Algoritmia”.
-
“Fundamentos de Programación” con dos asignaturas:
-
Fundamentos de Programación (primero, primer semestre o 1S)
-
Programación Orientada a Objetos (primero 2S)
-
“Metodología de la Programación y Algoritmia”, compuesta por las asignaturas:
-
Estrategias de Programación y Estructura de Datos (primero, 2S)
-
Programación y Estructuras de Datos Avanzadas (segundo, 1S)
-
Complejidad y Computabilidad (cuarto, 1S)
-
“Lenguajes de Programación”:
-
Autómatas, Gramáticas y Lenguajes (primero, 2S)
-
Teoría de los Lenguajes de Programación (segundo, 2S)
-
Procesadores del Lenguaje I (tercero, 1S)
-
Procesadores del Lenguaje II (tercero, 2S)
En la tabla oficial de reconocimiento de créditos de planes de estudios en la UNED, se puede observar que para esta asignatura solo se reconocen los créditos de la asignatura “Lenguajes de Programación” de la Ingeniería Técnica en Informática de Sistemas de la UNED. Esto se debe a que la asignatura planteada cubre casi un 80% de los aspectos teóricos de la de ITI Sistemas, aunque menos en los aspectos prácticos.
No hay ningún prerrequisito diferente de los generales, ya que esta asignatura puede ser cursada aisladamente, aunque el estudiante se beneficiaría si hubiera cursado previamente las dos asignaturas de primero de Fundamentos de Programación (Fundamentos de Programación y Programación Orientada a Objetos) y la de Metodología de la programación y Algoritmia del primer semestre de segundo (Programación y Estructuras de Datos Avanzadas).
Los canales de contacto con el Equipo Docente son los siguientes (por orden de preferencia):
- Curso virtual: a través de los foros del curso virtual se podrán realizar consultas al Equipo Docente. También existe un tablón de anuncios a través del cual el Equipo Docente enviará mensajes relevantes para la asignatura.
- Correo electrónico: se recomienda utilizar el correo tlp@lsi.uned.es para que llegue a todo el Equipo Docente en lugar de los correos personales de cada profesor.
- Teléfono:
- Fernando López Ostenero: 91 398 7793
- Ana García Serrano: 91 398 7993
- Atención presencial en la ETSI Informática de la UNED, situada en la calle Juan del Rosal 16, Madrid.
- Fernando López Ostenero: Despacho 2.09
- Ana García Serrano: Despacho 2.07
El horario de guardia del equipo docente será:
- Martes y jueves del segundo cuatrimestre de 11:00 a 13:00 horas (Ana García Serrano)
- Martes y Miércoles del segundo cuatrimestre: de 11:00 a 13:00 horas (Fernando López Ostenero).
Competencias genéricas:
Las competencias genéricas que propone la UNED se articulan en cuatro áreas competenciales, entre las que se encuentran las dos relacionadas con esta asignatura G.2 y G.5:
- Gestión autónoma y autorregulada del trabajo,
(G.2) Competencias cognitivas superiores: selección y manejo adecuado de conocimientos, recursos y estrategias cognitivas de nivel superior apropiados para el afrontamiento y resolución de diversos tipos de tareas/problemas con distinto nivel de complejidad y novedad: Análisis y Síntesis. Aplicación de los conocimientos a la práctica. Resolución de problemas en entornos nuevos o poco conocidos. Pensamiento creativo. Razonamiento crítico. Toma de decisiones.
- Gestión de los procesos de comunicación e información.
(G.5) Competencias en el uso de las herramientas y recursos de la Sociedad del Conocimiento: Manejo de las TIC. Competencia en la búsqueda de información relevante. Competencia en la gestión y organización de la información. Competencia en la recolección de datos, el manejo de bases de datos y su presentación.
- Trabajo en equipo
- Compromiso ético.
Competencias específicas:
Las competencias específicas a alcanzar durante el transcurso de los estudios de la titulación se han clasificado en tres apartados, entre las que se encuentran las relacionadas con esta asignatura (FB.4, FB.5.2):
- Bloque de Formación Básica
(FB.4) Conocimientos básicos sobre el uso y programación de los ordenadores, sistemas operativos, bases de datos y programas informáticos con aplicación en ingeniería.
(FB.5) Conocimiento de la estructura, organización, funcionamiento e interconexión de los sistemas informáticos, así como de los fundamentos de su programación, y su aplicación para la resolución de problemas propios de la ingeniería.
- Bloque Común a la Rama de Informática
(BC.1) Capacidad para diseñar, desarrollar, seleccionar y evaluar, aplicaciones y sistemas informáticos, asegurando su fiabilidad, seguridad y calidad, conforme a los principios éticos y a la legislación y normativa vigente.
(BC.6) 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.
(BC.7) Conocimiento, diseño y utilización de forma eficiente de los tipos y estructuras de datos más adecuados a la resolución de un problema.
- Bloque de Tecnologías Específicas: Computación
(BTEc.1) Capacidad para tener un conocimiento profundo de los principios fundamentales de la computación y saberlos aplicar para interpretar, seleccionar, valorar, modelar, y crear nuevos conceptos, teorías, usos y desarrollos tecnológicos relacionados con la informática.
(BTEc.2) 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.
- Bloque de Tecnologías Específicas: Competencias de otras áreas tecnológicas, Tecnologías de la Información
(BTEti.2) Capacidad para seleccionar, diseñar, implantar, integrar, evaluar, explotar y mantener las tecnologías de hardware, software y redes, dentro de los parámetros de coste y calidad adecuados.
El objetivo general de la materia es proporcionar al estudiante formación relacionada con los lenguajes de programación (LP) en aspectos como:
• La habilidad para desarrollar algoritmos eficaces: muchos LP incluyen características que, cuando se usan de forma apropiada, benefician al programador pero si se usan incorrectamente, pueden o desperdiciar tiempo de cómputo o conducir al programador a errores lógicos.
• El uso correcto de un LP: conociendo cómo se implementan las características del LP que se use, se mejora la habilidad para escribir programas.
• El conocimiento de construcciones útiles de programación: el LP sirve a la vez como una ayuda y como una restricción para el pensamiento. Un LP permite estructurar la manera en que uno concibe un programa, y ayuda a expresarse en formas (construcciones de programación) difíciles de expresar solo con palabras.
• La elección de un LP según el problema a resolver o proyecto a realizar: el conocimiento teórico de los diferentes paradigmas de programación y de los LP permite la elección del LP idóneo para un proyecto particular.
• El aprendizaje de nuevos LP: el conocimiento profundo de las construcciones y otros elementos de un LP, junto con sus técnicas de ejecución de programas, permite al programador aprender nuevos LP con más facilidad.
• El diseño de un nuevo LP: el diseñador de un proyecto complejo debe ocuparse de muchas de las cuestiones que están presentes en el diseño de un LP para usos generales. Por lo tanto es doble el resultado del aprendizaje: diseño de programas y métodos de implementación de LP.
Los resultados de aprendizaje y sus competencias en esta asignatura según el plan de estudios del Grado en Ingeniería Informática de la UNED, y que se cubren convenientemente con el planteamiento anterior son:
• Conocer y comprender los constructores propios de los lenguajes de programación y sus diferentes paradigmas, así como las técnicas para su implementación (Competencias: G2, FB3, BC6, BC7, BTEc1, BTEc2)
• Saber elegir el lenguaje más apropiado para el desarrollo de una aplicación. Conocer las alternativas y sus características (Competencias: G2,G5, FB3, BC1, BC7, BTEti2, BTEc1, BTEc2)
• Utilizar los constructores de distintos lenguajes en la implementación de programas (Competencias: G5, FB3, FB4.2, BC5, BC7, BTEc1, BTEc2)
Tema 1. Paradigmas de computación.
Tema 2. Principios de diseño de los lenguajes.
Tema 3. Programación Funcional.
Tema 4. Programación Lógica.
Tema 5. Sintaxis de los lenguajes de programación.
Tema 6. Semántica básica.
Tema 8. Control I: Expresiones y sentencias.
Tema 9. Control II: Subprogramas y ambientes.
La asignatura no tiene clases teóricas presenciales de carácter obligatorio. Los contenidos teóricos se impartirán a distancia, de acuerdo con las normas y estructuras de soporte telemático de la enseñanza en la UNED.
Junto a las actividades y enlaces con fuentes de información externas, existe material didáctico propio preparado por el equipo docente con ejercicios que organizan las actividades prácticas del alumno.
Para solicitar plaza/turno de prácticas de laboratorio/experimentales, el estudiante tendrá que acceder a la aplicación de prácticas desde su escritorio. En estas imágenes puede ver desde dónde se puede realizar el acceso a dicha aplicación:
https://descargas.uned.es/publico/pdf/guias/ACCESO_PRACTICAS_GRADOS_2017.pdf
Si al acceder a ella no encuentra ninguna oferta, deberá ponerse en contacto con el centro asociado donde está matriculado.
TIPO DE PRUEBA PRESENCIAL
|
Tipo de examen |
Tipo de examen |
Examen de desarrollo |
Preguntas desarrollo |
Preguntas desarrollo |
4 |
Duración |
Duración |
120 (minutos) |
Material permitido en el examen |
Material permitido en el examen |
No se permite ningún material en el examen. |
Criterios de evaluación |
Criterios de evaluación |
Las respuestas por parte del estudiante se valorarán según los siguientes criterios: - Corrección: se valorará si el estudiante contesta correctamente a la pregunta formulada.
- Completitud: se valorará si la respuesta del estudiante no omite aspectos relevantes para la pregunta formulada.
- Relevancia: se valorará si la respuesta del estudiante no incluye aspectos no relacionados con la pregunta formulada.
- Justificación: se valorará la corrección de las argumentaciones dadas por el estudiante para su respuesta.
|
% del examen sobre la nota final |
% del examen sobre la nota final |
70 |
Nota mínima del examen para aprobar sin PEC |
Nota mínima del examen para aprobar sin PEC |
|
Nota máxima que aporta el examen a la calificación final sin PEC |
Nota máxima que aporta el examen a la calificación final sin PEC |
|
Nota mínima en el examen para sumar la PEC |
Nota mínima en el examen para sumar la PEC |
|
Comentarios y observaciones |
Comentarios y observaciones |
Se recuerda a los estudiantes que los exámenes son escaneados, por lo que deberán procurar dejar un margen en las hojas de respuesta para evitar posibles pérdidas de texto durante el proceso de escaneo. Por la misma razón, los exámenes deberán ser realizados con bolígrafo, nunca con lápiz. Para facilitar la tarea de corrección, cada pregunta del examen se deberá responder en hojas independientes, de forma que en una misma hoja no se incluyan respuestas a dos preguntas distintas. |
PRUEBAS DE EVALUACIÓN CONTINUA (PEC)
|
¿Hay PEC? |
¿Hay PEC? |
No |
Descripción |
Descripción |
No existen Pruebas de Evaluación Contínua, pero sí una Práctica Obligatoria y una serie de Actividades Optativas. |
Criterios de evaluación |
Criterios de evaluación |
No existen Pruebas de Evaluación Contínua. |
Ponderación de la PEC en la nota final |
Ponderación de la PEC en la nota final |
|
Fecha aproximada de entrega |
Fecha aproximada de entrega |
|
Comentarios y observaciones |
Comentarios y observaciones |
|
OTRAS ACTIVIDADES EVALUABLES
|
¿Hay otra/s actividad/es evaluable/s? |
¿Hay otra/s actividad/es evaluable/s? |
Si |
Descripción |
Descripción |
Práctica Obligatoria La práctica, que se realizará en lenguajes declarativos representativos de los paradigmas de programación introducidos en la asignatura (funcional y/o lógico), estará dividida en dos tareas principales: • La primera de ellas, de carácter más práctico, consistirá en resolver un problema mediante un programa realizado en los lenguajes de programación indicados, que se estudian en los temas 3 y 4 de la asignatura. • Además de esta tarea de programación, el estudiante deberá identificar los conceptos teóricos de la asignatura dentro del código obtenido y relacionarlos con sus equivalentes en otros lenguajes de programación representativos de los diferentes paradigmas de programación que se ven en la asignatura. Esta práctica será corregida por los Tutores en los Centros Asociados, por lo que la fecha de entrega dependerá de cada tutor. Actividades Optativas También existe una serie de Actividades Optativas que los estudiantes podrán realizar a lo largo del cuatrimestre sin necesidad de supervisión por parte de Tutores o Equipo Docente. Estas actividades se corresponden con las unidades didácticas 3 y 4. La fecha de entrega de las actividades optativas coincidirá con el final de los exámenes de la convocatoria correspondiente (segunda semana en junio, semana única en septiembre). Si se aprueba la asignatura en la convocatoria de junio, la entrega de las actividades optativas de cara a septiembre no modificará la calificación obtenida. |
Criterios de evaluación |
Criterios de evaluación |
Cada curso académico la práctica y las actividades optativas serán diferentes y, por tanto, los criterios de evaluación son específicos para cada curso académico. No obstante, como criterio genérico, la implementación de una práctica siempre deberá funcionar correctamente, lo que se evaluará sometiendo el programa a una batería de juegos de prueba. Si una práctica no supera dichos juegos de prueba, se considerará suspensa. |
Ponderación en la nota final |
Ponderación en la nota final |
La práctica supone el 25% de la calificación de la asignatura.Las actividades optativas suponen el 5% de la calificación de la asignatura. |
Fecha aproximada de entrega |
Fecha aproximada de entrega |
A finales del cuatrimestre. |
Comentarios y observaciones |
Comentarios y observaciones |
Aspectos importantes que se deben destacar son: • El estudiante debe dirigirse a su tutor o Centro Asociado con suficiente antelación para conocer el calendario de las sesiones presenciales obligatorias de prácticas. • Habrá un cierto número de sesiones de control y orientación sobre las prácticas, de asistencia obligatoria, y que se celebrarán en los Centros Asociados, bajo la supervisión y guía de los Tutores. Los Tutores propondrán una fecha límite de entrega de la práctica. • Para poder aprobar la asignatura, será requisito imprescindible entregar en tiempo y forma la práctica resuelta y superar los mínimos requeridos para aprobar dicho trabajo. • El anterior punto implica que todos los estudiantes deberán haber entregado la documentación antes de la fecha establecida por su tutor, ya sea para la convocatoria de junio o la de septiembre. • Los Tutores corregirán las prácticas, establecerán días de revisión e informarán al estudiante de las mismas a través del Centro Asociado. • La calificación de la práctica se guarda únicamente de la convocatoria de junio a la de septiembre. No se guardan calificaciones de prácticas de un curso para otro. • Para optar a una calificación de Matrícula de Honor, será requisito indispensable el realizar todas las Actividades Optativas. |
¿Cómo se obtiene la nota final?
|
|
La plataforma de e-Learning aLF proporcionará el aula virtual y el adecuado interfaz de interacción entre el estudiante y sus profesores. La plataforma aLF permite impartir y recibir formación, gestionar y compartir documentos, crear y participar en comunidades temáticas, así como realizar proyectos online. Se usarán las herramientas necesarias para que, tanto el equipo docente como los estudiantes, encuentren la manera de compaginar el trabajo individual con el aprendizaje cooperativo.
Para las actividades complementarias se utilizarán recursos audiovisuales de la UNED (televisión, visualización etc), de acuerdo a la planificación que el equipo docente publicará anualmente.