Guía docente de la asignatura

Programación Técnica y Científica (Especialidad Computación y Sistemas Inteligentes)

Curso 2021 / 2022
Fecha última actualización: 21/06/2021
Fecha de aprobación: 21/06/2021

Grado

Grado en Ingeniería Informática

Rama

Ingeniería y Arquitectura

Módulo

Complementos de Computación y Sistemas Inteligentes

Materia

Herramientas de Computación Científica

Curso

4

Semestre

1

Créditos

6

Tipo

Optativa

Profesorado

Teoría

  • Miguel García Silvente. Grupos: A

Prácticas

  • Eugenio Aguirre Molina. Grupos: 1

Tutorías

Miguel García Silvente

mgs@ugr.es
  • Primer semestre
    • Jueves de 10:30 a 11:30 (D30 Etsiit)
    • Jueves de 13:30 a 14:00 (D30 Etsiit)
    • Martes de 10:30 a 11:30 (D30 Etsiit)
    • Martes de 13:30 a 14:00 (D30 Etsiit)
    • Miércoles de 10:30 a 13:30 (D30 Etsiit)
  • Segundo semestre
    • Lunes de 11:00 a 14:00 (D30 Etsiit)
    • Miércoles de 11:00 a 14:00 (D30 Etsiit)

Eugenio Aguirre Molina

eaguirre@ugr.es
  • Primer semestre
    • Jueves de 11:00 a 14:00 (D30 (Etsiit))
    • Lunes de 10:00 a 11:30 (D30 (Etsiit))
    • Miércoles de 9:30 a 11:00 (Bo (Fcyd))
  • Segundo semestre
    • Martes de 11:00 a 14:00 (D30 (Etsiit))
    • Miércoles de 11:00 a 14:00 (D30 (Etsiit))

Prerrequisitos y/o Recomendaciones

No es necesario que los estudiantes tengan aprobadas asignaturas, materias o módulos previos como requisito indispensable para cursar este módulo. No obstante se recomienda la superación de los contenidos y adquisición de competencias de las materias de formación básica y de rama.

Breve descripción de contenidos (Según memoria de verificación del Grado)

  • Herramientas y lenguajes de alto nivel orientados al cálculo técnico y científico.
  • Representación gráfica y visualización de datos.
  • Prototipado y desarrollo rápido de software técnico y científico.
  • Bibliotecas de software específicas para ingeniería.
  • Resolución de problemas comunes en las ingenierías.
  • Comunicación e integración de software desarrollado en diferentes lenguajes.

Competencias asociadas a materia/asignatura

Competencias generales

  • CG08 - 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.
  • CG09 - 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.

Resultados de aprendizaje (Objetivos)

  • Conocer herramientas y plataformas de desarrollo de software y prototipos software específicamente orientadas al cálculo técnico y científico, entendiendo las características que las distinguen de otras de carácter genérico.
  • Familiarizarse con lenguajes de programación o extensiones de lenguajes específicamente orientados al cálculo técnico y científico, comprendiendo las herramientas que proporcionan para facilitar el desarrollo de software que resuelva problemas de Ingeniería.
  • Estudiar herramientas orientadas a la visualización de datos científicos y de Ingeniería.
  • Conocer herramientas interactivas para el diseño de diagramas de visualización de conjuntos de datos científicos y técnicos.
  • Conocer distintos formatos estándar de almacenamiento de grandes cantidades de datos.
  • Conocer distintas bibliotecas software orientadas específicamente a la solución de problemas de ingeniería y científicos.
  • Estudiar la solución de problemas del ámbito de la Ingeniería, con especial atención a problemas tipo que tengan aplicación en varias especialidades de ingeniería.
  • Conocer mecanismos y herramientas que faciliten la integración de software desarrolladoen diferentes lenguajes de programación, entendiendo los procesos de comunicación entre los diferentes módulos desarrollados.

 

Programa de contenidos teóricos y prácticos

Teórico

  • Tema 1. Introducción a la Programación en Python.
    • Elementos básicos del lenguaje.
    • Variables.
    • Funciones.
    • Ficheros
  • Tema 2. Computación numérica en Python.
    • Vectores.
    • Matrices.
  • Tema 3. Combinación de Python con otros lenguajes.
    • Envolviendo código.
    • Usando herramientas.
  • Tema 4. Introducción a la programación de interfaces de usuario en Python.
    • Elementos básicos.
    • Elementos más complejos.
  • Tema 5. Programación avanzada en Python.
    • Argumentos en línea de órdenes.
    • Expresiones regulares.
    • Manejo de ficheros.
  • Tema 6. Manejo y visualización de datos científicos.
    • Manipulación de datos multidimensionales.
    • Indexación de datos.
    • Visualización de datos.
  • Tema 7. Herramientas y Aplicaciones.
    • Herramientas para representar funciones.
    • Aplicaciones científicas.

Práctico

  • Bibliotecas científicas y para ingeniería: Numerical Recipes, OpenCV, etc.
  • Desarrollo de una aplicación científica con python.
  • Eficiencia numérica con python.
  • Desarrollo de una aplicación con bibliotecas científicas.
  • Seminarios:
    • Instalación de herramientas.
    • Elementos de Ingeniería del software con Python.
    • Desarrollo de aplicaciones web con Python.

Bibliografía

Bibliografía fundamental

  • Langtangen, H.P., A Primer on Scientific Programming with Python(3ª ed), Springer, 2012.
  • Langtangen, H.P., Python Scripting for Computational Science, Springer, 2009.
  • Kaplan, D., Introduction to Scientific Computation and Programming, CL-Engineering, 2004.
  • Strang, G., Computational Science and Engineering, Wellesley-Cambridge Press, 2007.

Bibliografía complementaria

  • Martelli, A., Python in a nutshell. A desktop quick reference (2ªed), O'Really, 2006
  • Martelli, A., Martelli, A., Ascher, D., Python Cookbook, O'Really, 2013
  • Rossant, C., Learning IPython for interactive computing and data visualization : learn IPython for interactive Python programming, high-performance numerical computing, and data visualization, Packt Publishing, 2013
  • Danaila, I., Joly, P., Kaber, S.M. y Postel, M., An Introduction to Scientific Computing: Twelve Computational Projects Solved with MATLAB, Springer, 2006.
  • Kiusalaas, J., Numerical Methods in Engineering with Python, Cambridge University Press, 2010.
  • Press, W.H., Teukolsky, S.A., Vetterling, W.T. y Flannery, B.P., Numerical Recipes: The Art of Scientific Computing, Cambridge University Press, 2007.

Enlaces recomendados

Metodología docente

  • MD01 Lección Magistral (Clases Teóricas-Expositivas) 
  • MD02 Actividades Prácticas (Resolución de Problemas, Resolución de Casos Prácticos, Desarrollo de Proyectos, Prácticas en Laboratorio, Taller de Programación, Aula de Informática, Prácticas de Campo). 
  • MD03  Seminarios (Debates, Demos, Exposición de Trabajos Tutelados, Conferencias, Visitas Guiadas, Monografías). 
  • MD04 Actividades no presenciales Individuales. 
  • MD05 Actividades no presenciales Grupales. 
  • MD06 Tutorías Académicas. 

Evaluación (instrumentos de evaluación, criterios de evaluación y porcentaje sobre la calificación final)

Evaluación ordinaria

  • Para la parte teórica se realizará una examen teórico-práctico. La ponderación de este bloque será de un 40%.
  • Para la parte práctica se realizarán prácticas de laboratorio, resolución de problemas y desarrollo de proyectos individuales. Así mismo, se valorarán las entregas de los informes/memorias realizados por los estudiantes, o en su caso, las entrevistas personales con los estudiantes y las sesiones de evaluación. La ponderación de este bloque será de un 50%.
  • La parte de trabajo autónomo y los seminarios se evaluarán teniendo en cuenta la asistencia a los seminarios, los problemas propuestos que hayan sido resueltos y entregados por los estudiantes y las entrevistas efectuadas durante el curso y la presentación oral de los trabajos desarrollados. La ponderación de estos será de un 10%.
  • La calificación global corresponderá por tanto a la puntuación ponderada de los diferentes aspectos y actividades que integran el sistema de evaluación. Por tanto, el resultado de la evaluación será una calificación numérica obtenida mediante la suma ponderada de las calificaciones correspondientes a una parte teórica, una parte práctica y, en su caso, una parte relacionada con el trabajo autónomo de los estudiantes, los seminarios impartidos y el aprendizaje basado en proyectos.

Tabla con las ponderaciones:

Actividades Formativas Ponderación
Parte teórica 40%
Parte práctica 50%
Otros (seminarios, participación, etc) 10%

 

Evaluación extraordinaria

Se realizará un examen teórico-práctico que constituirá el 100% de la calificación.

Cada estudiante podrá guardar la nota obtenida en la convocatoria ordinaria en los bloques de "Parte
Práctica" y “Otros” y en ese caso la calificación final del examen será de 4 puntos.

Evaluación única final

Esta modalidad de evaluación se realizará en un acto académico en la fecha establecida por el Centro.
El contenido se evaluará mediante un examen escrito (evaluado de 0 a 10) que incluirá preguntas y problemas de tipo teórico-práctico.

 

Información adicional

Definición de grupo grande y grupo pequeño:

  • Los grupos grandes son grupos de 45 a 60 estudiantes.
  • Los grupos pequeños son grupos de 15 a 20 estudiantes.

 

ESCENARIO A (ENSEÑANZA-APRENDIZAJE PRESENCIAL Y TELE-PRESENCIAL)

Horario (Según lo establecido en el POD)

Los mismos horarios que aparecen para la docencia normal.

Herramientas para la atención tutorial (Indicar medios telemáticos para la atención tutorial)

  • Plataforma Google Meet o similares
  • Correo electrónico
  • Plataforma PRADO

Medidas de adaptación de la evaluación (Instrumentos, criterios y porcentajes sobre la calificación)

La metodología docente utilizada en esta asignatura puede ser aplicada en el escenario A y en el escenario B sin cambios sustanciales, dado que mucho material facilitado por los profesores será puesto a disposición del estudiante en formato pdf, o vídeo-tutoriales y todo el material de la asignatura se diseña para ser impartido en un entorno completamente online si fuese necesario. En el escenario A, se seguirá la metodología indicada en el apartado “Metodología Docente”, donde el material o los video-tutoriales se estudiarán por el estudiante de forma asíncrona y las clases presenciales síncronas se realizarán en las instalaciones del Centro. En las clases síncronas aparte de la teoría o prácticas que se impartan, se resolverán dudas, realizarán ejercicios y se profundizará en los conceptos estudiados en el material suministrado a los estudiantes.

Evaluación ordinaria

No hay cambios con respecto a lo descrito en el apartado “Evaluación” de este documento.

Evaluación extraordinaria

Examen síncrono:

  • Descripción: Resolución de problemas teórico-prácticos realizados sobre plataforma online.
  • Porcentaje sobre calificación final: 100%

Cada estudiante podrá guardar la nota obtenida en la convocatoria ordinaria en los bloques de "Parte
Práctica" y “Otros” y en ese caso la calificación final del examen síncrono será de 4 puntos.

Evaluación única final

No hay cambios con respecto a lo descrito en el apartado “Evaluación” de este documento.

ESCENARIO B (SUSPENSIÓN DE LA ACTIVIDAD PRESENCIAL)

Horario (Según lo establecido en el POD)

Los mismos horarios que aparecen para la docencia normal.

Herramientas para la atención tutorial (Indicar medios telemáticos para la atención tutorial)

  • Plataforma Google Meet o similares
  • Correo electrónico
  • Plataforma PRADO

Medidas de adaptación de la evaluación (Instrumentos, criterios y porcentajes sobre la calificación)

La metodología docente utilizada en esta asignatura puede ser aplicada en el escenario A y en el escenario B sin cambios sustanciales, dado que mucho material facilitado por los profesores será puesto a disposición del estudiantado y, si fuera necesario, todo el material de la asignatura se diseñaría para ser impartido en un entorno completamente online. En el escenario B, se seguirá la metodología indicada en el apartado “Metodología Docente”, donde los materiales se estudiarán por el estudiante de forma asíncrona y las clases telepresenciales síncronas se realizarán a través de Google Meet.

Evaluación ordinaria

  • Teoría: Examen síncrono
    • Descripción: Resolución de problemas teórico-prácticos realizados sobre plataforma online.
    • Porcentaje sobre calificación final: 40%
  • Prácticas: Aprendizaje basado en proyectos
    • Descripción: Elaboración y entregas de ejercicios/proyectos prácticos y la explicación de sus fundamentos, relacionados con todos los contenidos teóricos de la asignatura.
    • Porcentaje sobre calificación final: 60%

Evaluación extraordinaria

Examen síncrono:

  • Descripción: Resolución de problemas teórico-prácticos realizados sobre plataforma online.
  • Porcentaje sobre calificación final: 100%

Cada estudiante podrá guardar la nota obtenida en la convocatoria ordinaria en los bloques de "Parte
Práctica" y “Otros” y en ese caso la calificación final del examen síncrono será de 4 puntos.

Evaluación única final

  • Examen por vía telemática
  • Porcentaje sobre calificación final: 100%