|
|||||||||||||||||||||
Consulta de los datos generales Descripción La asignatura en el conjunto del plan de estudios Campos profesionales en el que se proyecta Conocimientos previos Información previa a la matrícula Objetivos y competencias Contenidos Consulta de los recursos de aprendizaje de la UOC para la asignatura Información adicional sobre los recursos de aprendizaje y herramientas de apoyo Informaciones sobre la evaluación en la UOC Consulta del modelo de evaluación | |||||||||||||||||||||
Este es el plan docente de la asignatura para el primer semestre del curso 2024-2025. Podéis consultar si la asignatura se ofrece este semestre en el espacio del campus Más UOC / La universidad / Planes de estudios). Una vez empiece la docencia, tenéis que consultarlo en el aula. El plan docente puede estar sujeto a cambios. | |||||||||||||||||||||
Los compiladores son herramientas indispensables para cualquier informático, encargadas de traducir información textual de un formato o lenguaje a otro. Por ejemplo, actúan como piezas clave en el proceso la ejecución de un programa: traducen el programa desde el lenguaje de alto nivel utilizado por los humanos hasta un lenguaje de bajo nivel que se puede ejecutar en un ordenador (como el ensamblador o el código máquina). Esta asignatura presenta la estructura básica de un compilador: los módulos que lo componen y cómo se comunican entre sí. Nos centraremos en el caso de los lenguajes de programación de propósito general y en el proceso de generación de un ejecutable a partir de un programa en alto nivel. Concretamente, se verá cómo se analiza un programa fuente para obtener sus componentes y se detectan los posibles errores introducidos por el programador. Se introducirá también el concepto de intérprete y su relación con los compiladores. Después se estudiará cómo a partir de los datos obtenidos en la parte de análisis, se genera el código objeto y es optimizado para mejorar el rendimiento. Todo eso se pondrá en práctica mediante el uso de herramientas para la construcción de compiladores. |
|||||||||||||||||||||
La asignatura Compiladores se puede cursar como asignatura optativa o bien como parte del itinerario de Computación. Dentro de este itinerario, esta asignatura permite aplicar los conocimientos obtenidos en Autómatas y Gramáticas al estudio de los lenguajes de programación. Además, junto con Inteligencia Artificial y Aprendizaje computacional, la asignatura proporciona las bases utilizadas en las técnicas del procesamiento de lenguaje natural. |
|||||||||||||||||||||
Además del área de compiladores, todas las técnicas que se estudian en esta asignatura, se pueden aplicar, en general, a cualquier sistema de procesamiento de lenguajes y de traducción. La construcción de compiladores e intérpretes también es relevante en el intercambio de información textual entre diferentes sistemas software: construcción de librerías de importación/exportación, definición de lenguajes de intercambio de datos, etc. Así pues, esta asignatura ocupa una posición muy relevante en las salidas profesionales en áreas donde la definición formal de un lenguaje se hace necesaria como la definición de lenguajes de programación, el procesamiento de lenguaje natural o la traducción automática, entre otros. Por último, las competencias adquiridas en esta asignatura pueden ser útiles para cualquier desarrollador, dado que permiten entender mejor los lenguajes de programación, el funcionamiento de los intérpretes y los compiladores y el proceso de ejecución de un programa. |
|||||||||||||||||||||
La asignatura presupone un buenos conocimientos de programación, específicamente en lenguaje Java, por lo que resulta muy recomendable haber cursado las asignaturas de programación y de estructuras de datos correspondientes con anterioridad. Además, para el buen seguimiento de la asignatura se tiene que partir de unos conocimientos básicos en lenguajes, expresiones regulares, autómatas finitos y gramáticas. Y, finalmente, hay que tener conocimientos básicos sobre lenguaje ensamblador y estructura de computadores. |
|||||||||||||||||||||
Antes de cursar esta asignatura, es muy recomendable haber cursado previamente las asignaturas siguientes:
Además, es recomendable a pesar de que no imprescindible haber cursado la asignatura de Diseño de estructuras de datos. |
|||||||||||||||||||||
Las competencias generales del Grado que se ponen de manifiesto en esta asignatura son:
Las competencias específicas de esta asignatura son:
|
|||||||||||||||||||||
La asignatura se estructura en seis módulos:
|
|||||||||||||||||||||
|
|||||||||||||||||||||
Los módulos didácticos constituyen la parte más importante de los materiales de la asignatura. Los podéis descargar en formato PDF desde el apartado Recursos del aula. La asignatura dispone de un manual de referencia para las herramientas de construcción de compiladores utilizadas en la asignatura, el Manual de JLex y CUP, que podéis encontrar en el aula virtual dentro del apartado de Recursos. Disponéis de un aula de Laboratorio de Java de Compiladores donde recibiréis más información sobre el software de la asignatura (entorno JDK para la ejecución de programas Java, JLex y CUP). |
|||||||||||||||||||||
En la UOC, la evaluación generalmente es virtual. Se estructura en torno a la evaluación continua, que incluye diferentes actividades o retos; la evaluación final, que se lleva a cabo mediante pruebas o exámenes, y el trabajo final de la titulación. Las actividades o pruebas de evaluación pueden ser escritas y/o audiovisuales, con preguntas aleatorias, pruebas orales síncronas o asíncronas, etc., de acuerdo con lo que decida cada equipo docente. Los trabajos finales representan el cierre de un proceso formativo que implica la realización de un trabajo original y tutorizado que tiene como objetivo demostrar la adquisición competencial hecha a lo largo del programa. Para verificar la identidad del estudiante y la autoría de las pruebas de evaluación, la UOC se reserva la potestad de aplicar diferentes sistemas de reconocimiento de la identidad y de detección del plagio. Con este objetivo, la UOC puede llevar a cabo grabación audiovisual o usar métodos o técnicas de supervisión durante la ejecución de cualquier actividad académica. Asimismo, la UOC puede exigir al estudiante el uso de dispositivos electrónicos (micrófonos, cámaras u otras herramientas) o software específico durante la evaluación. Es responsabilidad del estudiante asegurar que estos dispositivos funcionan correctamente. El proceso de evaluación se fundamenta en el trabajo personal del estudiante y presupone la autenticidad de la autoría y la originalidad de las actividades académicas. La web sobre integridad académica y plagio de la UOC contiene información al respecto. La falta de autenticidad en la autoría o de originalidad de las pruebas de evaluación; la copia o el plagio; la suplantación de identidad; la aceptación o la obtención de cualquier actividad académica a cambio o no de una contraprestación; la colaboración, el encubrimiento o el favorecimiento de la copia, o el uso de material, software o dispositivos no autorizados en el plan docente o el enunciado de la actividad académica, incluida la inteligencia artificial y la traducción automática, entre otras, son conductas irregulares en la evaluación que pueden tener consecuencias académicas y disciplinarias graves. Estas conductas irregulares pueden conllevar el suspenso (D/0) en las actividades evaluables definidas en el plan docente -incluidas las pruebas finales- o en la calificación final de la asignatura, ya sea porque se han utilizado materiales, software o dispositivos no autorizados durante las pruebas (como el uso de inteligencia artificial no permitida, redes sociales o buscadores de información en internet), porque se han copiado fragmentos de texto de una fuente externa (internet, apuntes, libros, artículos, trabajos o pruebas de otros estudiantes, etc.) sin la citación correspondiente, por la compraventa de actividades académicas, o porque se ha llevado a cabo cualquier otra conducta irregular. Asimismo, y de acuerdo con la normativa académica, las conductas irregulares en la evaluación también pueden dar lugar a la incoación de un procedimiento disciplinario y a la aplicación, si procede, de la sanción que corresponda, de conformidad con lo establecido en la normativa de convivencia de la UOC. En el marco del proceso de evaluación, la UOC se reserva la potestad de:
Inteligencia artificial en el marco de la evaluación La UOC reconoce el valor y el potencial de la inteligencia artificial (IA) en el ámbito educativo y, a su vez, pone de manifiesto los riesgos que supone si no se utiliza de forma ética, crítica y responsable. En este sentido, en cada actividad de evaluación se informará al estudiantado sobre las herramientas y los recursos de IA que se pueden utilizar y en qué condiciones. Por su parte, el estudiantado se compromete a seguir las indicaciones de la UOC a la hora de realizar las actividades de evaluación y de citar las herramientas utilizadas y, concretamente, a identificar los textos o imágenes generados por sistemas de IA, los cuales no podrá presentar como si fueran propios. Respecto a usar o no la IA para resolver una actividad, el enunciado de las actividades de evaluación indica las limitaciones en el uso de estas herramientas. Debe tenerse en cuenta que usarlas de manera inadecuada, como por ejemplo en actividades en las que no están permitidas o no citarlas en las actividades en las que sí lo están, puede considerarse una conducta irregular en la evaluación. En caso de duda, se recomienda que, antes entregar la actividad, se haga llegar una consulta al profesorado colaborador del aula. |
|||||||||||||||||||||
|