Lenguajes y Paradigmas de Programación
(Curso Académico 2022 - 2023)
Mostrar Todo


Nota informativa: Atendiendo a la normativa de Protección de Datos y propiedad intelectual en la que se limita la publicación de imágenes de terceras personas sin su consentimiento, aquellos que difundan grabaciones de las sesiones de clase sin previo consentimiento de las personas implicadas, serán responsables ante la ley del uso prohibido de las citadas grabaciones.



1. Datos descriptivos de la asignatura
  • Código: 139263014
  • Centro: Escuela Superior de Ingeniería y Tecnología
  • Lugar de impartición: Escuela Superior de Ingeniería y Tecnología
  • Titulación: Grado en Ingeniería Informática
  • Plan de Estudios: 2010 (publicado en 21-03-2011)
  • Rama de conocimiento: Ingeniería y Arquitectura
  • Itinerario/Intensificación:
  • Departamento/s:
  • Área/s de conocimiento:
    • Ciencia de la Computación e Inteligencia Artificial
    • Lenguajes y Sistemas Informáticos
  • Curso: 3
  • Carácter: Obligatoria
  • Duración: Primer cuatrimestre
  • Créditos ECTS: 6,0
  • Modalidad de impartición: Presencial
  • Horario: Ver horario
  • Dirección web de la asignatura: Ver web de la asignatura
  • Idioma: Español
2. Requisitos para cursar la asignatura
No existen requisitos para cursar la asignatura
3. Profesorado que imparte la asignatura

Profesor/a Coordinador/a: COROMOTO ANTONIA LEON HERNANDEZ

General:
Nombre:
COROMOTO ANTONIA
Apellido:
LEON HERNANDEZ
Departamento:
Ingeniería Informática y de Sistemas
Área de conocimiento:
Lenguajes y Sistemas Informáticos
Grupo:
Teoría (1) - Problemas (PA101 y PA102) - Prácticas (PE101, PE102, PE103 y PE104)
Contacto:
Teléfono 1:
922 31 81 80
Teléfono 2:
Correo electrónico:
cleon@ull.es
Correo alternativo:
cleon@ull.edu.es
Tutorías primer cuatrimestre:
DesdeHastaDíaHora incialHora finalLocalizaciónPlantaDespacho
Todo el cuatrimestre Lunes 09:30 12:30 Escuela Superior de Ingeniería y Tecnología - Módulo A - AN.4A ESIT 2 P2.039
Todo el cuatrimestre Martes 09:30 12:30 Escuela Superior de Ingeniería y Tecnología - Módulo A - AN.4A ESIT 2 P2.039
Observaciones: Este horario es susceptible de modificación por razones académicas. Los cambios le serán informados con antelación. Para evitar aglomeraciones y esperas innecesaria se debe solicitar cita previa a través de correo electrónico. Para llevar a cabo las tutoría en línea se utilizará la sala telemática disponible en el aula virtual de la asignatura.
Tutorías segundo cuatrimestre:
DesdeHastaDíaHora incialHora finalLocalizaciónPlantaDespacho
Todo el cuatrimestre Lunes 09:30 12:30 Escuela Superior de Ingeniería y Tecnología - Módulo A - AN.4A ESIT 2 P2.039
Todo el cuatrimestre Martes 09:30 12:30 Escuela Superior de Ingeniería y Tecnología - Módulo A - AN.4A ESIT 2 P2.039
Observaciones: Este horario es susceptible de modificación por razones académicas. Los cambios le serán informados con antelación. Para evitar aglomeraciones y esperas innecesaria se debe solicitar cita previa a través de correo electrónico. Para llevar a cabo las tutoría en línea se utilizará la sala telemática disponible en el aula virtual de la asignatura.
General:
Nombre:
RAFAEL
Apellido:
HERRERO ALVAREZ
Departamento:
Ingeniería Informática y de Sistemas
Área de conocimiento:
Ciencia de la Computación e Inteligencia Artificial
Grupo:
Prácticas (PE101, PE102, PE103, PE104)
Contacto:
Teléfono 1:
Teléfono 2:
Correo electrónico:
rherrero@ull.es
Correo alternativo:
Tutorías primer cuatrimestre:
DesdeHastaDíaHora incialHora finalLocalizaciónPlantaDespacho
Todo el cuatrimestre Jueves 10:00 12:00 Escuela Superior de Ingeniería y Tecnología - Módulo A - AN.4A ESIT 1 017
Todo el cuatrimestre Viernes 10:00 12:00 Escuela Superior de Ingeniería y Tecnología - Módulo A - AN.4A ESIT 1 017
Observaciones: Reservar tutoría previamente a través del Google Calendar (https://calendar.google.com/calendar/selfsched?sstoken=UUdTN3N0NnBpcWZwfGRlZmF1bHR8YzcxZTg1ZjZjNTUxOTFlNTJmNGM4NjBkMmRhMmRhMTk)
Tutorías segundo cuatrimestre:
DesdeHastaDíaHora incialHora finalLocalizaciónPlantaDespacho
Todo el cuatrimestre Jueves 10:00 12:00 Escuela Superior de Ingeniería y Tecnología - Módulo A - AN.4A ESIT 1 017
Todo el cuatrimestre Viernes 10:00 12:00 Escuela Superior de Ingeniería y Tecnología - Módulo A - AN.4A ESIT 1 017
Observaciones: Reservar tutoría previamente a través del Google Calendar (https://calendar.google.com/calendar/selfsched?sstoken=UUdTN3N0NnBpcWZwfGRlZmF1bHR8YzcxZTg1ZjZjNTUxOTFlNTJmNGM4NjBkMmRhMmRhMTk)
General:
Nombre:
ISRAEL
Apellido:
LÓPEZ PLATA
Departamento:
Ingeniería Informática y de Sistemas
Área de conocimiento:
Ciencia de la Computación e Inteligencia Artificial
Grupo:
Teoría (2) - Problemas (PA201 y PA202) - Prácticas ( PE201, PE202, PE203, PE204)
Contacto:
Teléfono 1:
Teléfono 2:
Correo electrónico:
ilopezpl@ull.es
Correo alternativo:
Tutorías primer cuatrimestre:
DesdeHastaDíaHora incialHora finalLocalizaciónPlantaDespacho
Todo el cuatrimestre Lunes 09:30 12:30 Escuela Superior de Ingeniería y Tecnología - Módulo C - AN.4A ESIT 2 P2.106
Todo el cuatrimestre Martes 09:30 12:30 Escuela Superior de Ingeniería y Tecnología - Módulo C - AN.4A ESIT 2 P2.106
Observaciones:
Tutorías segundo cuatrimestre:
DesdeHastaDíaHora incialHora finalLocalizaciónPlantaDespacho
Todo el cuatrimestre Lunes 09:30 12:30 Escuela Superior de Ingeniería y Tecnología - Módulo C - AN.4A ESIT 2 P2.106
Todo el cuatrimestre Martes 09:30 12:30 Escuela Superior de Ingeniería y Tecnología - Módulo C - AN.4A ESIT 2 P2.106
Observaciones:
4. Contextualización de la asignatura en el plan de estudio
  • Bloque formativo al que pertenece la asignatura: Fundamentos Tecnológicos de Ingeniería Informática
  • Perfil profesional: Ingeniero Técnico en Informática
5. Competencias

Competencias Específicas

  • C14 - 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.
  • C20 - Conocimiento y aplicación de los principios fundamentales y técnicas básicas de la programación paralela, concurrente, distribuida y de tiempo real.

Competencias Generales

  • CG8 - Conocimiento de las materias básicas y tecnologías, que capaciten para el aprendizaje y desarrollo de nuevos métodos y tecnologías, así como las que les doten de una gran versatilidad para adaptarse a nuevas situaciones.
  • CG9 - Capacidad para resolver problemas con iniciativa, toma de decisiones, autonomía y creatividad. Capacidad para saber comunicar y transmitir los conocimientos, habilidades y destrezas de la profesión de Ingeniero Técnico en Informática.

Transversales

  • T1 - Capacidad de actuar autónomamente.
  • T6 - Capacidad de comunicación efectiva en inglés.
  • T7 - Capacidad de comunicación efectiva (en expresión y comprensión) oral y escrita, con especial énfasis en la redacción de documentación técnica.
  • T9 - Capacidad para argumentar y justificar lógicamente las decisiones tomadas y las opiniones.
  • T12 - Capacidad de relación interpersonal.
  • T13 - Capacidad para encontrar, relacionar y estructurar información proveniente de diversas fuentes y de integrar ideas y conocimientos.
  • T16 - Capacidad de planificación y organización del trabajo personal.
  • T20 - Capacidad de trabajar en situaciones de falta de información y/o con restricciones temporales y/o de recursos.
  • T21 - Capacidad para el razonamiento crítico, lógico y matemático.
  • T23 - Capacidad de abstracción: capacidad de crear y utilizar modelos que reflejen situaciones reales.
  • T25 - Capacidad de análisis, síntesis y evaluación.
6. Contenidos de la asignatura

Contenidos teóricos y prácticos de la asignatura

Tema 1. Modelos de programación.
Lenguajes y Herramientas de Programación. Control de Versiones. Pruebas Unitarias. Desarrollo Dirigido por Pruebas.

Tema 2. Programación imperativa.
Estructuras de Datos. Subprogramas. Abstracción y Encapsulamiento.

Tema 3. Programación orientada a objetos.
Clases, Objetos, métodos. Encapsulamiento, Abstracción, Herencia, Polimorfismo, Mixins.

Tema 4. Programación declarativa: lógica y funcional.
Declarativa: Meta Programación. Lenguajes de Dominio Específico. Programación Orientada a Aspectos.
Lógica: Cláusulas. Hechos. Consultas. Reglas. 
Funcional: Funciones de Orden Superior. Lambdas. Clausuras. Evaluación Perezosa. Memoización. Listas Infinitas. 

Tema 5. Programación concurrente y paralela.
Procesos. Hilos. Programación Distribuida. Computación de Alto Rendimiento. Computación en la Nube.

Actividades a desarrollar en otro idioma

Parte de la bibliografía y los manuales de las herramientas utilizadas está en inglés, por lo que los alumnos tienen que realizar lecturas compresivas en ese idioma. Sin embargo, esta asignatura no forma parte de un itinerario, por lo tanto estas actividades no contribuyen a la evaluación.
7. Metodología y volumen de trabajo del estudiante

Modelo de Enseñanza Centrada en el Alumnado

Aplica las siguientes metodologías activas:

Descripción

Para cada tema, el equipo docente hará una exposición teórica de los conceptos fundamentales, haciendo hincapié en aquellos contenidos que se consideren de mayor relevancia (Clases teóricas). El profesorado se apoyará en material multimedia o en demostraciones in situ, que faciliten la presentación de los contenidos. Por cuenta propia, tras la clase, cada estudiante deberá complementar la información aportada por los docentes mediante la elaboración de su manual de estudio o apuntes (Estudio/preparación de clases teóricas). Para facilitar este proceso de auto-aprendizaje, el profesorado indicará, en cada clase, qué apartados concretos de los contenidos se han tratado y las referencias.

Además, con el objetivo de complementar la formación con un aprendizaje práctico, el profesorado resolverá casos prácticos y planteará ejercicios (Clases prácticas), que el estudiante tendrá que resolver de forma autónoma (Estudio/preparación de clases prácticas). Los ejercicios que presenten mayor dificultad para los estudiantes serán corregidos en clase mediante la participación activa del alumnado y del profesor en las clases de problemas y prácticas. Se distingue entre ejercicios dirigidos (Asistencia a tutorias) y ejercicios autónomos . Las calificaciones obtenidas en los ejercicios autónomos se utilizaran como evaluación del proceso formativo de la asignatura.

Por último, se realizarán trabajos con sus correspondientes informes en los que se apliquen los conocimientos adquiridos (Realización de trabajos - individual/grupal). Se promoverá el trabajo en equipo en la realización de estos proyectos. Los resultados y conclusiones se defenderán en una reunión grupal (Seminario).

El seguimiento continuo de los estudiantes será llevado a cabo mediante el Aula Virtual de la asignatura. La metodología activa y flexible que se utilizará permite su aplicación en los distintos escenarios que puedan surgir.

Finamente, indicar que la innovación educativa tiene muchas caras y una de ellas es el aprendizaje servicio, una metodología basada en proyectos en los que la adquisición de conocimientos confluye con una aplicación práctica en forma de servicio a la comunidad, la educación en valores y el pensamiento crítico. El objetivo del aprendizaje servicio es revertir parte del proceso educativo en beneficio de la comunidad, por ello, proponemos como actividad de la asignatura la organización de la Olimpiada de Pensamiento Computacional para estudiantes de primaria y secundaria.  La Olimpiada de Pensamiento Computacional permite a los estudiantes universitarios enseñar a los más jóvenes los fundamentos de las Ciencias de la Computación, por lo que, es un acto solidario. Además, investigar las características de las aulas preuniversitarias y las causas de la falta de interés por las Ciencias de la Computación de los niños y las niñas, es una actividad de aprendizaje. Por último, comprometerse en la organización y ejecución de las actividades de la Olimpiada de Pensamiento computacional aplicando y aprovechando lo estudiado en la asignatura de Lenguajes y Paradigmas de Programación, es aprendizaje servicio. En este sentido, se oferta una práctica opcional.

Actividades formativas en créditos ECTS, su metodología de enseñanza-aprendizaje y su relación con las competencias que debe adquirir el estudiante

Actividades formativas Horas presenciales Horas de trabajo autónomo Total horas Relación con competencias
Clases teóricas 30,00 0,00 30,0 [T25], [T23], [T21], [T16], [T12], [CG9], [CG8], [C20], [C14]
Clases prácticas (aula / sala de demostraciones / prácticas laboratorio) 17,00 0,00 17,0 [T25], [T23], [T21], [T20], [T16], [T13], [T12], [T9], [T7], [T6], [T1], [CG9], [CG8], [C20], [C14]
Realización de seminarios u otras actividades complementarias 2,00 7,00 9,0 [T25], [T23], [T21], [T13], [T12], [T9], [T7], [CG9], [CG8], [C20], [C14]
Realización de trabajos (individual/grupal) 0,00 28,00 28,0 [T25], [T23], [T21], [T20], [T16], [T13], [T12], [T6], [T1], [CG9], [CG8], [C20], [C14]
Estudio/preparación de clases teóricas 0,00 10,00 10,0 [T1], [CG9], [CG8], [C20], [C14]
Realización de exámenes 4,00 0,00 4,0 [T25]
Asistencia a tutorías 7,00 0,00 7,0 [T16], [CG9], [CG8], [C20], [C14]
Estudio autónomo individual o en grupo 0,00 45,00 45,0 [T25], [T23], [T21], [T20], [T16], [T13], [T12], [T9], [T7], [T6], [T1], [CG9], [CG8], [C20], [C14]
Total horas
Total ECTS
8. Bibliografía / Recursos

Bibliografía básica

1. Scott, Michael L., "Programming language pragmatics". 2nd edition. Elsevier, 2006.

2. Thomas, Dave; Fowler, Chad; Hunt Andy. "Programming Ruby 1.9". The Pragmatic Programmers, LLC. 2010.
 

3. Chacon, Scott. "Pro Git". Apress; 1st edition. August 26, 2009.

Bibliografía complementaria

Otros recursos

GitHub Classroom: https://classroom.github.com/

9. Sistema de evaluación y calificación

Descripción

La Evaluación de la asignatura se rige por el Reglamento de Evaluación y Calificación (REC) de la Universidad de La Laguna aprobado en Consejo de Gobierno el 21 de junio de 2022,  además de por lo establecido en la Memoria de Verificación inicial o posteriores modificaciones. En el mismo se definen dos modalidades de evaluación: evaluación única y evaluación continua.

1. La modalidad de evaluación única se llevará a cabo en los períodos de exámenes oficiales, con las convocatorias fijadas por la Universidad, y consistirá en un examen teórico-práctico en el que se valorará los conocimientos, competencias y resultados de aprendizaje y se podrá obtener una calificación entre 0 y 10 puntos.
Para cumplir con el artículo 5.4 del REC, y el alumnado pueda comunicar al coordinador de la asignatura que desea optar a este tipo de evaluación, se habilitará en el aula virtual una consulta cuya fecha de entrega será de un mes a partir del inicio del cuatrimestre. Se permitirán, entregas posteriores solo por circunstancias sobrevenidas, tales como enfermedad grave, accidente o imcompatibilidad de la jornada laboral.

2. La modalidad de evaluación continua contempla (página 45 de la Memoria de Modificación del Grado): 

     2.1. La obligatoriedad de asistir a clases y hacer uso de los foros y tutorías tanto presenciales como en línea.
     2.2  La realización de actividades prácticas en el laboratorio que constituye el 40% de la calificación siendo el 20% la "Valoración de las actividades prácticas en el laboratorio" y el 20% restante la "Elaboración de los informes". Las prácticas de laboratorio consistirán en:
           2.2.1 Ejercicios prácticos donde se realizarán tareas reales y/o simuladas.
           2.2.2 Prácticas individuales y/o grupales que se realizarán en los laboratorios frente al ordenador.

          Se realizará una práctica de laboratorio semanal, siendo las primeras las básicas, a continuación las metodológicas y finalmente las competenciales. El cálculo de este 40% se realizará como la media de las prácticas competenciales y para superarlo se ha de obtener, al menos, 5,0 puntos sobre 10,0.
 
     2.3 La realización de un "Examen final"  que constituye el 60% de la calificación. Para superar el examen se ha de obtener, al menos, 5,0 puntos sobre 10,0.
     
    2.4 Superadas con 5,0 puntos sobre 10,0 las prácticas en el laboratorio (40%) y el examen final (60%) de la evaluación continua, se procecerá a calcular la calificación de la asignatura aplicando la ponderación.

3. Se mantiene la modalidad de evaluación continua en la segunda convocatoria, guardando la calificación obtenida en las prácticas en el laboratorio (40%) y ofreciendo sólo la recuperación  del examen final (60%). 

4. Se ofrece la realización de una práctica "Práctica Bono" (opcional) cuya calificación se puede intercambiar por la obtenida en una la prácticas competenciales. 

5. La siguiente tabla presenta los tipos de prueba, las competencias, los criterios de evaluación y su ponderación:

Estrategia Evaluativa

Tipo de prueba Competencias Criterios Ponderación
Valoración de las actividades prácticas en el laboratorio [T25], [T23], [T21], [T20], [T16], [T13], [T12], [T9], [T7], [T6], [T1], [CG9], [CG8], [C20], [C14] * Adecuación a lo solicitado
* Concreción en la redacción
* Nivel de conocimientos adquiridos
* Nivel de aplicabilidad
20,00 %
Elaboración de informes [T1], [T9], [T13], [T16], [T23], [T25], [CG8], [T21], [C14], [C20], [CG9], [T6] * Adecuación a lo solicitado
* Concreción en la redacción
* Nivel de conocimientos adquiridos
* Nivel de aplicabilidad
20,00 %
Examen Final [T1], [T9], [T16], [T20], [T23], [T25], [CG8], [T21], [C14], [C20], [CG9], [T6] * Adecuación a lo solicitado
* Concreción en la redacción
* Nivel de conocimientos adquiridos
* Nivel de aplicabilidad
60,00 %
Práctica Bono [T1], [T12], [T13], [T16], [T20], [T23], [T25], [CG8], [T21], [C14], [CG9] * Adecuación a lo solicitado
* Concreción en la redacción
* Nivel de conocimientos adquiridos
* Nivel de aplicabilidad
0,00 %
10. Resultados de Aprendizaje
Autónomamente analizar, evaluar e integrar información técnica sobre los paradigmas y lenguajes de programación más idóneos para resolver problemas y proponer una implantación en sistemas concurrentes, paralelos, distribuidos y en tiempo real y argumentar por escrito sus propuestas.
Tanto de forma individual como en un equipo de trabajo, encontrar, analizar, evaluar e integrar información técnica sobre el paradigma y el lenguaje de programación más idóneo para resolver problemas y realizar una síntesis por escrito y una defensa oral.
Tanto de forma individual como en un equipo de trabajo, utilizar técnicas y metodologías actuales de desarrollo de software para resolver problemas, seleccionando las herramientas adecuadas para la gestión, el control de versiones, el desarrollo de pruebas, la integración e implantación en sistemas concurrentes, paralelos, distribuidos y en tiempo real. Realizar una síntesis y una defensa oral.
11. Cronograma / calendario de la asignatura

Descripción

En las guías docentes la planificación temporal de la programación sólo tiene la intención de establecer unos referentes u orientaciones para presentar la materia atendiendo a unos criterios cronológicos, sin embargo son solamente a título estimativo, de modo que el profesorado puede modificar – si así lo demanda el desarrollo de la materia – dicha planificación temporal.
 

Primer cuatrimestre

Semana Temas Actividades de enseñanza aprendizaje Horas de trabajo presencial Horas de trabajo autónomo Total
Semana 1: 1 Clases teóricas.
Clases prácticas.
Asistencia a tutorias.
Estudio autónomo o en grupo.
4.00 6.00 10.00
Semana 2: 1-2 Clases teóricas.
Clases prácticas.
Asistencia a tutorias.
Estudio autónomo o en grupo.
4.00 6.00 10.00
Semana 3: 2 Clases teóricas.
Clases prácticas.
Asistencia a tutorias.
Estudio autónomo o en grupo.
4.00 6.00 10.00
Semana 4: 2 Clases teóricas.
Clases prácticas.
Asistencia a tutorias.
Estudio autónomo o en grupo.
 
4.00 6.00 10.00
Semana 5: 3 Clases teóricas.
Clases prácticas.
Asistencia a tutorias.
Estudio autónomo o en grupo.
4.00 6.00 10.00
Semana 6: 3 Clases teóricas.
Clases prácticas.
Asistencia a tutorias.
Estudio autónomo o en grupo.
4.00 6.00 10.00
Semana 7: 3 Clases teóricas.
Clases prácticas.
Asistencia a tutorias.
Estudio autónomo o en grupo.
4.00 6.00 10.00
Semana 8: 3-4 Clases teóricas.
Clases prácticas.
Asistencia a tutorias.
Estudio autónomo o en grupo.
4.00 6.00 10.00
Semana 9: 4 Clases teóricas.
Clases prácticas.
Asistencia a tutorias.
Estudio autónomo o en grupo.
 
4.00 6.00 10.00
Semana 10: 4 Clases teóricas.
Clases prácticas.
Asistencia a tutorias.
Estudio autónomo o en grupo.
4.00 6.00 10.00
Semana 11: 4 Clases teóricas.
Clases prácticas.
 
2.00 5.00 7.00
Semana 12: 4-5 Clases teóricas.
Clases prácticas.
Asistencia a tutorias.
Estudio autónomo o en grupo.
4.00 6.00 10.00
Semana 13: 5 Clases teóricas.
Estudio autónomo o en grupo.
4.00 5.00 9.00
Semana 14: 5 Clases teóricas.
Clases prácticas.
Asistencia a tutorias.
Estudio autónomo o en grupo.
4.00 8.00 12.00
Semana 15: Semana 15 a 16 Realización de exámenes, evaluación y trabajo autónomo del alumno para la preparación de examen y la evaluación. 6.00 6.00 12.00
Semana 16 a 18: 0.00 0.00 0.00
Total 60.00 90.00 150.00
Fecha de última modificación: 11-07-2022
Fecha de aprobación: 15-07-2022