Universitat Internacional de Catalunya
Habilitats de Programació
Altres llengües d'impartició: català, castellà
Professorat
Natàlia Padilla Sirera: npadilla@uic.es
Cristina Lidón Moyano: clidon@uic.es
Presentació
La programació d'ordinadors és una realitat habitual per a aquelles persones interessades en l'ús de les tècniques bioinformàtiques en l'entorn biomèdic-clínic. Encara que en l'actualitat hi ha múltiples llenguatges de programació, en bioinformàtica hi ha dues que destaquen pel seu ús estès i la seva flexibilitat per a resoldre els problemes del camp: Python i R. L'objectiu d'aquest assignatura és el de familiaritzar a l'estudiant amb els aspectes més essencials d'aquests llenguatges, il·lustrant el seu ús en problemes concrets.
Requisits previs
Es recomana haver cursat i superat:
- Introducció a la bioinformàtica
- Bioestadística
Objectius
Aprendre els fonaments dels llenguatges Python i R i iniciar-se en la seva programació.
Competències/Resultats d’aprenentatge de la titulació
- CB01 - Que els estudiants hagin demostrat que posseeixen i comprenen coneixements en una àrea d'estudi que parteix de la base de l'educació secundària general, i s’acostuma a trobar en un nivell que, si bé es recolza en llibres de text avançats, inclou també alguns aspectes que impliquen coneixements procedents de l'avantguarda del seu camp d'estudi.
- CB03 - Que els estudiants tinguin la capacitat de reunir i interpretar dades rellevants (normalment dins de la seva àrea d'estudi) per emetre judicis que incloguin una reflexió sobre temes rellevants d'índole social, científica o ètica.
- CB04 - Que els estudiants puguin transmetre informació, idees, problemes i solucions a un públic tant especialitzat com no especialitzat.
- CB05 - Que els estudiants hagin desenvolupat les habilitats d'aprenentatge necessàries per emprendre estudis posteriors amb un alt grau d'autonomia.
- CE07 - Aplicar les eines estadístiques a estudis en Ciències de la Salut.
- CE19 - Reconèixer els principis de les ciències biomèdiques relacionades amb la salut i aprendre a treballar en qualsevol àmbit de les ciències biomèdiques (empresa biomèdica, laboratoris de bioinformàtica, laboratoris d'investigació, empresa d'anàlisis clíniques, etc.).
- CG07 - Integrar els conceptes bàsics relacionats amb el camp de la biomedicina tant teòrics com experimentals.
- CG10 - Dissenyar, redactar i executar projectes relacionats amb l'àrea de les ciències biomèdiques.
- CG11 - Reconèixer conceptes bàsics de diferents àmbits vinculats a les ciències biomèdiques.
- CT01 - Desenvolupar la capacitat d'organització i planificació adequades al moment.
- CT02 - Desenvolupar la capacitat per a la resolució de problemes.
- CT03 - Desenvolupar la capacitat d'anàlisi i síntesi.
- CT04 - Interpretar resultats experimentals i identificar elements consistents i inconsistents.
- CT05 - Fer servir internet com a mitjà de comunicació i com a font d'informació.
- CT06 - Saber comunicar, fer presentacions i redactar treballs científics.
- CT07 - Ser capaç de treballar en equip.
- CT08 - Raonar i avaluar les situacions i resultats des d'un punt de vista crític i constructiu.
- CT09 - Tenir la capacitat de desenvolupar habilitats en les relacions interpersonals.
- CT10 - Ser capaç de dur a terme un aprenentatge autònom.
- CT11 - Aplicar els coneixements teòrics a la pràctica.
- CT12 - Aplicar el mètode científic.
- CT13 - Reconèixer els aspectes generals i específics relacionats amb el camp de la nutrició i envelliment.
- CT14 - Respectar els drets fonamentals d'igualtat entre homes i dones, i la promoció dels drets humans i els valors propis d'una cultura de pau i de valors democràtics.
Resultats d’aprenentatge de l’assignatura
Com a resultat d'aprenentatge específic d'aquest curs es contempla el següent:
- L'alumne coneix i aplica el llenguatge de programació Python i R.
Continguts
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
Metodologia i activitats formatives
Modalitat totalment presencial a l'aula
Casos clínics o mètodes del cas (MC): Plantejament d'una situació real o imaginària. Els alumnes treballen les preguntes formulades en grups reduïts o en interacció activa amb el professor i es discuteixen les respostes. El professor intervé activament i si fa falta aporta nous coneixements.
Educació virtual (EV): Material en línia que l'alumne pot consultar des de qualsevol ordinador, a qualsevol hora i que contribuirà a l'autoaprenentatge de conceptes relacionats amb l'assignatura.
Sistemes i criteris d'avaluació
Modalitat totalment presencial a l'aula
Alumnes en primera convocatòria:
50% Python: Mètodes del cas: 60% + 40% Examen parcial de l'assignatura*
50% R: Mètodes del cas: 60% + 40% Examen final de l'assignatura*
És necessària una nota mínima de 5 per a fer mitja
Participació en ES-*Day: l'alumnat que participi en totes les sessions del Entrepreneurship & Social Day (E&S-Day), rebrà 0,5 punts extra sobre la nota final.
Alumnes en segona o posterior convocatòria: la nota dels mètodes del cas es guardarà i l'examen final representarà un 75% de la nota final. Els alumnes repetidors que desitgin repetir el parcial en 3 o 5 convocatòria, podran realitzar-ho comunicant-ho prèviament al professor titular. En qualsevol cas, s'hauran de presentar almenys a recuperar la part de l'assignatura que estigui suspesa (R i/o Python).
Punts generals a tenir en compte sobre el sistema d'avaluació:
1) Per a poder fer mitjana, en l'examen parcial i final s'haurà d'obtenir un 5 de nota mínima.
2) A més de l'esmentat anteriorment, per a aprovar l'assignatura, la mitjana de totes les qualificacions ha de ser 5 o superior.
3) El caràcter continuat d'aquesta avaluació fa que no sigui possible avaluar l'assignatura si no s'ha participat en un 75% de les hores.
4) L'ús indegut d'aparells electrònics (com el registre i difusió tant de l'alumnat com del professorat durant les diferents sessions, així com l'ús d'aquests aparells amb finalitats lúdics i no educatius) pot comportar l'expulsió de classe.
Bibliografia i 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