Guía docente de Fundamentos de Programación Científica en Química (29111F1)
Grado
Rama
Módulo
Materia
Curso
Semestre
Créditos
Tipo
Profesorado
Teórico
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
EmailClaudia 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
- Introduction to Python for Engineers and Scientists. Sandeep Nagar. Apress 2018. https://doi.org/10.1007/978-1-4842-3204-0
- Andrés Marzal Varó, Isabel Gracia Luengo, Pedro García Sevilla. Introducción a la Programación con Python 3. Publicacions de la Universitat Jaume I, 2014. http://dx.doi.org/10.6035/Sapientia93
- Numerical Python. A Practical Techniques Approach for Industry. Apress. 2015. https://doi.org/10.1007/978-1-4842-0553-2
- Python for Chemists. Christian Hill. Cambridge University Press. 2023. https://doi.org/10.1017/9781009106696
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.
Enlaces recomendados
- Documentación de Python: https://www.python.org/doc/
- https://weisscharlesj.github.io/SciCompforChemists/
- Software disponible en la UGR: http://csirc.ugr.es/informatica/ServiciosCorporativos/software
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