Guía docente de Fundamentos de Programación Científica en Química (29111F1)

Curso 2024/2025
Fecha de aprobación: 28/06/2024

Grado

Grado en Química

Rama

Ciencias

Módulo

Programación Científica en Química

Materia

Fundamentos de Programación Científica en Química

Curso

4

Semestre

1

Créditos

6

Tipo

Optativa

Profesorado

Teórico

Luis Javier Herrera Maldonado. Grupo: A

Práctico

  • Héctor Jesús García de Marina Peinado Grupo: 3
  • Luis Javier Herrera Maldonado Grupo: 1
  • Claudia Villalonga Palliser Grupo: 2

Tutorías

Luis Javier Herrera Maldonado

Email
  • Martes de 10:00 a 12:00 (Etsiit)
  • Jueves
    • 12:00 a 14:00 (Etsiit)
    • 17:00 a 20:00 (Etsiit)

Héctor Jesús García de Marina Peinado

Email
No hay tutorías asignadas para el curso académico.

Claudia Villalonga Palliser

Email
  • Primer semestre
    • Lunes de 10:00 a 13:00 (D1.3, Edif. Auxiliar, Etsiit)
    • Viernes de 10:00 a 13:00 (D1.3, Edif. Auxiliar, Etsiit)
  • Segundo semestre
    • Miércoles de 10:00 a 13:00 (D1.3, Edif. Auxiliar, Etsiit)
    • Viernes de 10:00 a 13:00 (D1.3, Edif. Auxiliar, Etsiit)

Prerrequisitos y/o Recomendaciones

No se exigen

Breve descripción de contenidos (Según memoria de verificación del Máster)

  • Conceptos básicos sobre Programación.
  • Lenguajes de alto nivel orientados al cálculo científico.
  • Datos, estructuras de control y funciones.
  • Ficheros.
  • Representación gráfica y visualización de datos.
  • Métodos informáticos para el análisis de datos.

Competencias

Competencias Generales

  • CG01. El alumno deberá adquirir la capacidad de analizar y sintetizar 
  • CG03. El alumno deberá adquirir la capacidad de comunicarse de forma oral y escrita en la lengua oficial del Grado 
  • CG05. El alumno deberá adquirir la capacidad de gestionar datos y generar información / conocimiento 
  • CG06. El alumno deberá adquirir la capacidad de resolver problemas 
  • CG09. El alumno deberá adquirir la capacidad de razonar críticamente 
  • CG10. El alumno deberá adquirir la capacidad de realizar un aprendizaje autónomo para su desarrollo continuo profesional 

Competencias Específicas

  • CE30. El alumno deberá saber hacer o tener la capacidad de utilizar razonadamente las herramientas matemáticas e informáticas para trabajar con datos químicos 
  • CE46. El alumno deberá saber o conocer los fundamentos o principios de otras disciplinas necesarios para las distintas áreas de la Química. 

Resultados de aprendizaje (Objetivos)

Al finalizar esta materia el alumnado deberá:

  • Programar en un lenguaje relevante para el cálculo científico.
  • Utilizar herramientas informáticas orientadas a aplicaciones científico-técnicas para el análisis de datos y la simulación de sistemas químicos.
  • Identificar las posibilidades y limitaciones de los ordenadores como herramienta para el avance del conocimiento científico y para el desarrollo profesional.

Programa de contenidos Teóricos y Prácticos

Teórico

  • BLOQUE 1. Conceptos básicos sobre Programación de Ordenadores: Informática, sistema informático, datos e información. Arquitectura básica de un computador. El sistema operativo. Programación de ordenadores. Informática, programación de ordenadores y Química. Química computacional.
  • BLOQUE 2. Introducción a Python: Entornos de programación. Tipos de datos básicos. Cadenas de caracteres. Funciones predefinidas. Módulos e importación de funciones y variables.
  • BLOQUE 3. Programas: Escritura y ejecución. Entrada/salida. Legibilidad y comentarios
  • BLOQUE 4. Programación estructurada: sentencias condicionales, iterativas y captura y tratamiento de excepciones. Resolución de problemas científicos de optimización y minimización.
  • BLOQUE 5. Datos estructurados. Cadenas, listas y tuplas. Diccionarios.
  • BLOQUE 6. Arrays y visualización de resultados
  • BLOQUE 7. Funciones. Clases y objetos. Ficheros.
  • BLOQUE 8: Aplicaciones avanzadas utilizando Programación en Química. Análisis de datos Químicos, Calibración en Química. Clasificación. Regresión. Simulación de procesos químicos. Uso de plataformas de altas prestaciones para aplicaciones químicas.

Práctico

Seminarios/Talleres

  • Introducción a Servicios del C.S.I.R.C. de la U.G.R.
  • Introducción a la programación y control de procesos con Arduino (complementado con sesiones en teoría y prácticas).
  • Calibración y Validación en Química.

Prácticas de Laboratorio:

  • Bloque I. Entorno de programación y programación básica con Python.
  • Bloque II. Tipos de datos básicos. Cadenas de caracteres.
  • Bloque III. Primeros programas. Entrada y salida de datos.
  • Bloque IV. Programación estructurada en Python.
  • Bloque V. Programación estructurada en Python II.
  • Bloque VI. Verificación y Depuración de programas.
  • Bloque VII. Eficiencia.
  • Bloque VIII. Funciones y estructuras de datos compuestas.
  • Bloque IX. Calibración en Química.

Bibliografía

Bibliografía fundamental

Bibliografía complementaria

  • Python for Chemists. Kiyoto Aramis TanemuraDiego Sierra-CostaKenneth M. Merz Jr.. American Chemical Society. 2022. http://doi.org/10.1021/acsinfocus.7e5030
  • Python 3. Los fundamentos del lenguaje. Chazallet, Sébastien. 2020.

Metodología docente

  • MD01. Lección magistral/expositiva. 
  • MD02. Resolución de problemas y estudios de casos prácticos. 
  • MD05. Prácticas en sala de informática. 
  • MD06. Seminarios. 
  • MD08. Realización de trabajos en grupo. 
  • MD09. Realización de trabajos individuales. 

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

Evaluación Ordinaria

La evaluación de la adquisición de las competencias de esta materia se realizará, de forma individualizada, a partir mecanismos que combinen un seguimiento continuo y un examen final. Se basará en los siguientes componentes principales, independientemente del régimen de asistencia (presencial o virtual):

  • Asistencia y participación en las sesiones presenciales, realizando los ejercicios que se irán proponiendo a lo largo de las sesiones.
  • Realización de las diferentes prácticas de ordenador.
  • El examen final consiste en la resolución de diversos problemas de Programación (en muchos casos similares a los que se tratarán en teoría y prácticas).
  • Será necesario superar el examen final para superar la asignatura.
  • La ponderación aproximada de cada una de las partes de los criterios de evaluación será la siguiente:
    • Asistencia, participación 10%.
    • Examen final 45%.
    • Prácticas de laboratorio 45%.

Evaluación Extraordinaria

En la convocatoria extraordinaria, la evaluación se basará en:

  • Será necesario superar el examen final para superar la asignatura.
  • La calificación final será el MÁXIMO entre la nota del examen final, y la ponderación anterior (asistencia y participación 10%; examen final 45%; prácticas de laboratorio 45%).

Evaluación única final

En virtud al Artículo 8 de la Normativa de Evaluación y Calificación de los Estudiantes de la Universidad de Granada, el alumno puede examinarse mediante la evaluación única final. Para acogerse a esta opción, el estudiante ha de solicitarlo al director del Departamento en las dos primeras semanas de impartición de la asignatura, alegando y acreditando las razones que le asisten para no poder seguir el sistema de evaluación continua.

La prueba única consistirá en un examen de ejercicios de programación, relacionados con el temario impartido en la asignatura. Durante la prueba, dichos ejercicios podrán ser practicados en el ordenador, y en cualquier caso serán entregados al profesor.

Información adicional

Información de interés para estudiantado con discapacidad y/o Necesidades Específicas de Apoyo Educativo (NEAE): Gestión de servicios y apoyos (https://ve.ugr.es/servicios/atencion-social/estudiantes-con-discapacidad).

Software Libre

  • Anaconda
  • Spyder
  • Jupyter Notebooks
  • Thonny