Universitat Internacional de Catalunya

Habilitats de Programació

Habilitats de Programació
4
14872
4
Segon semestre
op
Llengua d'impartició principal: anglès

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