En este curso, los alumnos aprenderán los fundamentos de los sistemas operativos Linux, el acceso remoto a servidores, los conceptos básicos de la programación en Bash y la programación en general. El curso tiene un enfoque práctico y hace hincapié en el desarrollo de habilidades básicas de lógica de programación, el análisis de datos mediante la línea de comandos, la eficiencia y la ética de trabajo adecuada en servidores compartidos (gestión de recursos del servidor).
Un trabajo de proyecto permitirá a los alumnos aprender a repartir la carga de trabajo y optimizar los resultados en un proyecto de bioinformática o programación.
En este curso, los alumnos aprenderán cómo funcionan los sistemas operativos Linux/UNIX, comprenderán las ventajas y los inconvenientes de estos sistemas y adquirirán conocimientos básicos de programación, además de desarrollar habilidades básicas de lógica de programación.
Al finalizar el curso, los alumnos serán capaces de controlar sistemas Linux/UNIX mediante herramientas de línea de comandos, ejecutar software en la línea de comandos y resolver problemas de bioinformática desde la línea de comandos. Los alumnos también sabrán cómo conectarse a servidores remotos en una red, transferir archivos entre ordenadores o servidores y ejecutar comandos en un servidor remoto que ejecute un sistema operativo Linux/UNIX. Los estudiantes serán capaces de gestionar y analizar datos utilizando directamente el sistema Linux, estimar los requisitos de recursos para tareas computacionales y supervisar el uso de recursos de dichas tareas.
Los estudiantes aprenderán a trabajar de forma eficiente y a utilizar de manera responsable los recursos de servidores de gran capacidad. Se hará hincapié en una ética de trabajo adecuada: los estudiantes aprenderán a supervisar el uso de los recursos de su servidor y a utilizar servidores con múltiples usuarios, sin perturbar el trabajo o la investigación de los demás usuarios.
Temas:
I. Conceptos básicos del lenguaje de programación Bash, comandos básicos
II. Escritura de scripts en Bash
III. Tipos de variables en Bash y su uso; variables integradas
IV. Condiciones en Bash, operadores lógicos
V. Lógica de programación I.
VI. Prácticas I.
VII. Bucles en Bash y control de bucles
VIII. Argumentos de la línea de comandos y su uso en scripts
IX. Lógica de programación II.
X. Prácticas II.
XI. Supervisión del uso de recursos y gestión de recursos
XII. Trabajo responsable de los bioinformáticos en servidores
+Trabajo de proyecto que se llevará a cabo como autoaprendizaje en grupos.
Evaluación
Los alumnos realizarán un coloquio durante el periodo de exámenes. El coloquio constará de dos partes: una prueba teórica y una tarea práctica. La prueba teórica puede incluir tanto preguntas de opción múltiple como de desarrollo. La tarea práctica consiste en ejercicios de programación que los alumnos deberán resolver de forma independiente.
Al finalizar el curso, el alumno será capaz de diseñar e implementar flujos de trabajo básicos de análisis bioinformático en un entorno Linux, así como de supervisar el uso de los recursos de su propio servidor.
El curso requiere que los alumnos dispongan de un ordenador y tengan instalados determinados programas, lo que les permitirá acceder al servidor que se utilizará durante el curso. El profesor prestará ayuda para instalar dichos programas.
No se requieren conocimientos de programación.
Bibliografía del curso (obligatoria o recomendada): Materiales del curso (diapositivas de presentaciones, apuntes de clase)
Recomendada: Machtelt Garrels: Guía de Bash para principiantes (disponible en línea en: https://tldp.org/LDP/Bash-Beginners-Guide/html/)
Clase magistral: 45 minutos
Prácticas: 45 minutos
Trabajo de proyecto: los alumnos deberán realizar un trabajo de proyecto en grupos durante la segunda mitad del curso. Este incluirá el análisis de diferentes tipos de datos genéticos (ejemplo de proyecto: escribir un código en Bash que identifique todos los marcos de lectura abiertos en una secuencia de ADN proporcionada).
Tutoría: se ofrecerán horas de tutoría adicionales si los alumnos lo solicitan.
Extracto académico