Universitat Internacional de Catalunya

Habilidades de Programación

Habilidades de Programación
4
14872
4
Segundo semestre
op
Lengua de impartición principal: inglés

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