En aquest curs, els estudiants aprendran els conceptes bàsics dels sistemes operatius Linux, l'accés remot a servidors, els conceptes bàsics de la programació Bash i la programació en general. El curs està centrat en la pràctica, amb èmfasi en el desenvolupament d'habilitats bàsiques de lògica de programació, anàlisi de dades de línia d'ordres, eficiència i ètica de treball adequada en servidors compartits (gestió de recursos del servidor).
Un treball de projecte permetrà als estudiants aprendre a compartir la càrrega de treball i optimitzar els resultats en un projecte de bioinformàtica/programació.
En aquest curs, els estudiants aprendran com funcionen els sistemes operatius Linux/UNIX, entendran els avantatges i els inconvenients d'aquests sistemes i adquiriran habilitats bàsiques de programació i desenvoluparan habilitats bàsiques de lògica de programació.
Al final del curs, els estudiants podran controlar sistemes Linux/UNIX mitjançant eines de línia d'ordres, executar programari a la línia d'ordres i resoldre problemes bioinformàtics des de la línia d'ordres. Els estudiants també sabran com arribar a servidors distants en una xarxa, moure fitxers entre ordinadors/servidors i executar ordres en un servidor distant que executa un sistema operatiu Linux/UNIX. Els estudiants podran gestionar i analitzar dades directament mitjançant el sistema Linux, estimar els requisits de recursos per a tasques computacionals i supervisar l'ús de recursos d'aquestes tasques.
Els estudiants aprendran a treballar de manera eficient i a utilitzar responsablement els recursos dels grans servidors. Es posarà èmfasi en els mètodes de treball adequats: els estudiants aprendran a controlar l'ús dels recursos del servidor i a utilitzar servidors amb diversos usuaris, sense molestar altres usuaris en el seu treball/recerca.
Temes:
I. Conceptes bàsics del llenguatge de programació bash, ordres bàsiques
II. Escriure scripts bash
III. Tipus de variables bash i el seu ús; variables integrades
IV. Condicions de Bash, operadors lògics
V. Lògica de programació I.
VI. Pràctica I.
VII. Bucles Bash i control de bucles
VIII. Arguments de la línia d'ordres i el seu ús en scripts
IX. Lògica de programació II.
X. Pràctica II.
XI. Monitorització de l'ús dels recursos, gestió de recursos
XII. Treball responsable dels bioinformàtics en servidors
+Treball de projecte per implementar com a autoestudi en grup.
Avaluació
Els estudiants faran un col·loqui durant el període d'exàmens. El col·loqui constarà de dues parts: una prova teòrica i una tasca pràctica. La prova teòrica pot incloure preguntes de tipus test i de tipus assaig. La tasca pràctica consisteix en tasques de programació, que els estudiants han de resoldre de manera independent.
Al final del curs, l'alumne podrà dissenyar i implementar pipelines bàsics d'anàlisi bioinformàtica en un entorn Linux, i monitoritzar l'ús dels recursos del seu propi servidor.
El curs requereix un ordinador per part dels estudiants i la instal·lació de certs programes, que permeten als estudiants iniciar sessió al servidor que s'utilitzarà durant el curs. El professor proporcionarà assistència per a la instal·lació d'aquests programes.
No s'esperen coneixements de programació.
Documentació del curs (obligatòria o recomanada): Materials del curs (diapositives de presentació, apunts de classe)
Recomanat: Machtelt Garrels: Guia de Bash per a principiants (disponible en línia a: https://tldp.org/LDP/Bash-Beginners-Guide/html/)
Conferència: 45 minuts
Pràctica: 45 minuts
Un treball de projecte: els estudiants hauran d'implementar un treball de projecte durant la segona meitat del curs en grups. Això inclourà l'anàlisi de diferents tipus de dades genètiques (exemple de projecte: escriure un codi Bash que identifiqui tots els marcs de lectura oberts en una seqüència d'ADN proporcionada).
Consulta: s'oferiran hores addicionals de consulta si els estudiants ho sol·liciten.
Transcripció de registres