Universitat Internacional de Catalunya
Habilidades de Programación
Otras lenguas de impartición: catalán, castellano
Profesorado
Natàlia Padilla Sirera: npadilla@uic.es
Cristina Lidón Moyano: clidon@uic.es
Presentación
La programación de ordenadores es una realidad habitual para aquellas personas interesadas en el uso de las técnicas bioinformáticas en el entorno biomédico-clínico. Aunque en la actualidad hay múltiples lenguajes de programación, en bioinformática hay dos que destacan por su uso extendido y su flexibilidad para resolver los problemas del campo: Python y R. El objetivo de este asignatura es el de familiarizar al estudiante con los aspectos más esenciales de estos lenguajes, ilustrando su uso en problemas concretos.
Requisitos previos
Se recomienda haber cursado y superado:
- Introducción a la bioinformática
- Bioestadística
Objetivos
- Aprender los fundamentos de los lenguajes Python y R e iniciarse en su programación.
Competencias/Resultados de aprendizaje de la titulación
- CB01 - Que los estudiantes hayan demostrado poseer y comprender conocimientos en un área de estudio que parte de la base de la educación secundaria general, y se suele encontrar a un nivel que, si bien se apoya en libros de texto avanzados, incluye también algunos aspectos que implican conocimientos procedentes de la vanguardia de su campo de estudio.
- CB03 - Que los estudiantes tengan la capacidad de reunir e interpretar datos relevantes (normalmente dentro de su área de estudio) para emitir juicios que incluyan una reflexión sobre temas relevantes de índole social, científica o ética.
- CB04 - Que los estudiantes puedan transmitir información, ideas, problemas y soluciones a un público tanto especializado como no especializado.
- CB05 - Que los estudiantes hayan desarrollado aquellas habilidades de aprendizaje necesarias para emprender estudios posteriores con un alto grado de autonomía.
- CE07 - Aplicar las herramientas estadísticas a estudios en Ciencias de la Salud.
- CE19 - Reconocer los principios de las ciencias biomédicas relacionadas con la salud y aprender a trabajar en cualquier ámbito de las ciencias biomédicas (empresa biomédica, laboratorios de bioinformática, laboratorios de investigación, empresa de análisis clínicos, etc.).
- CG07 - Integrar los conceptos básicos relacionados con el campo de la biomedicina tanto a nivel teórico como experimental.
- CG10 - Diseñar, redactar y ejecutar proyectos relacionados con el área de las ciencias biomédicas.
- CG11 - Reconocer conceptos básicos de diferentes ámbitos vinculados a las ciencias biomédicas.
- CT01 - Desarrollar la capacidad de organización y planificación adecuadas al momento.
- CT02 - Desarrollar la capacidad para la resolución de problemas.
- CT03 - Desarrollar la capacidad de análisis y síntesis.
- CT04 - Interpretar resultados experimentales e identificar elementos consistentes e inconsistentes.
- CT05 - Usar internet como medio de comunicación y como fuente de información.
- CT06 - Saber comunicar, hacer presentaciones y redactar trabajos científicos.
- CT07 - Ser capaz de trabajar en equipo.
- CT08 - Razonar y evaluar las situaciones y resultados desde un punto de vista crítico y constructivo.
- CT09 - Tener la capacidad de desarrollar habilidades en las relaciones interpersonales.
- CT10 - Ser capaz de llevar a cabo un aprendizaje autónomo.
- CT11 - Aplicar los conocimientos teóricos a la práctica.
- CT12 - Aplicar el método científico.
- CT13 - Reconocer los aspectos generales y específicos relacionados con el campo de la nutrición y envejecimiento.
- CT14 - Respetar los derechos fundamentales de igualdad entre hombres y mujeres, y la promoción de los derechos humanos y los valores propios de una cultura de paz y de valores democráticos.
Resultados de aprendizaje de la asignatura
Como resultado de aprendizaje específico de este curso se contempla el siguiente:
- El alumno conoce y aplica el lenguaje de programación Python y R.
Contenidos
1. General concepts in programming: identifying the key steps in solving a problem
2.- Python programming fundamentals
2.1 Variables and data types: strings, numbers, and booleans
2.2 Conditions and loops: how to control the execution of a program
2.3 Lists: storing heterogeneous data
2.4 Dictionaries. A fast, direct form of accessing data: key-value pairs
2.5 Functions. Modules and Packages
2.6 Objects: a way to keep data and methods tidy
2.7 Testing: to keep your code clean and reliable
3.- R programming fundamentals
3.1 Introduction to basics: Calculations; Data types in R; Read datasets; Statistical programing review; Storing datasets; Linking to other computer languages
3.2. R Objects: Vectors, matrices, Arrays, Lists, Data frames; Logical operations; Storing heterogeneous data
3.2 Coding basics: Loops and functions
3.3 Transformations: apply, lapply, sapply, tapply; Relational Data: merge, dplyr
3.4 Tables and visualization: ggplot
3.5 Bioinformatic tools: Tydiverse, R Markdown, Bioconductor
Metodología y actividades formativas
Modalidad totalmente presencial en el aula
Casos clínicos o métodos del caso (MC): Planteamiento de una situación real o imaginaria. Los alumnos trabajan las preguntas formuladas en grupos reducidos o en interacción activa con el profesor y se discuten las respuestas. El profesor interviene activamente y si hace falta aporta nuevos conocimientos.
Educación virtual (EV): Material online que el alumno puede consultar desde cualquier ordenador, a cualquier hora y que contribuirá al autoaprendizaje de conceptos relacionados con la asignatura.
Sistemas y criterios de evaluación
Modalidad totalmente presencial en el aula
Alumnos en primera convocatoria:
50% Python: Métodos del caso: 60 % + 40% Examen parcial de la asignatura*
50% R: Métodos del caso: 60 % + 40% Examen final de la asignatura*
*Es necesaria una nota mínima de 5 para hacer media
Participación en ES-Day: el alumnado que participe en todas las sesiones del Entrepreneurship & Social Day (E&S-Day), recibirá 0,5 puntos extra sobre la nota final.
Alumnos en segunda o posterior convocatoria: la nota de los métodos del caso se guardará y el examen final representará un 75% de la nota final. Los alumnos repetidores que deseen repetir el parcial en 3 o 5 convocatoria, podrán realizarlo comunicándolo previamente al profesor titular. En cualquier caso, se deberán presentar al menos a recuperar la parte de la asignatura que esté suspendida (R y/o Python).
Puntos generales a tener en cuenta sobre el sistema de evaluación:
1) Para poder hacer media, en el examen parcial y final se deberá obtener un 5 de nota mínima.
2) Además de lo mencionado anteriormente, para aprobar la asignatura, la media de todas las calificaciones ha de ser 5 o superior.
3) El carácter continuado de esta evaluación hace que no sea posible evaluar la asignatura si no se ha participado en un 75% de las horas.
4) El uso indebido de aparatos electrónicos (como el registro y difusión tanto del alumnado como del profesorado durante las diferentes sesiones, así como el uso de estos aparatos con fines lúdicos y no educativos) puede comportar la expulsión de clase.
Bibliografía y recursos
Python Crash Course: A Hands-On, Project-Based Introduction to Programming de Eric Matthes
Hands-On Programming with R de Garett Grolemund
The R Book de Michael J. Crawley
The Art of R Programming de Norman Matloff
Practical Data Science with R de Nina Zumel y John Mount