Linux y Programación
Detalles de la asignatura
Esta asignatura ofrece al alumno/a contenidos relacionados con del uso sistema operativo UNIX/Linux sirviendo como base para el resto de asignaturas prácticas del Máster. Además, se imparte formación en el entorno de programación estadística R, en el lenguaje de programación Python, y en el lenguaje de bases de datos SQL. La asignatura incluye también formación en cloud computing e infraestructuras computacionales de alto rendimiento. Finalmente, se imparte una introducción a Machine learning y fundamentos de Inteligencia Artificial aplicados a la salud.
Coordinación
Tomás Di Domenico
(CNIO)
Director del departamento de Tecnologías de la Información y Computación Científica en el Centro Nacional de Investigaciones Oncológicas (CNIO).
Ingeniero informático y experto en análisis de datos genómicos. Doctor en bioinformática por la Universidad de Padua, realizó su formación postdoctoral en la Universidad de Cambridge, donde investigó el rol de los piRNAs en el control de la estabilidad genómica y se familiarizó con tecnologías de secuenciación de lectura larga.
Desde 2014, utiliza activamente la tecnología de secuenciación por nanoporos. Actualmente trabaja en el CNIO, donde también lidera la implementación de estas tecnologías en estudios oncológicos. Ha impartido clases en diversas instituciones incluyendo las Universidades de Buenos Aires, Padua, Cambridge, y la Autónoma de Madrid.
Programa
Introducción al SO Unix/Linux.
Gestión básica del sistema operativo. Gestión de procesos. Sistemas de ficheros. Órdenes avanzadas. Intérprete de Órdenes y Configuración del Usuario. Gestión de permisos. Transmisión de archivos.
Linux avanzado
Filtros y «pipes». Scripts en entorno Linux. Conexión en remoto. Programación en bash. Buenas prácticas en computación científica. Git. Cloud Computing.
Programación con Python
Introducción al lenguaje Python. Tipos y estructuras de datos. Bloques de código y estructuras de control. Funciones y programación estructurada. Operaciones de E/S y manipulación de archivos. Módulos, paquetes y distribución de software.
Programación y estadística en R
Características básicas. Tipos de objetos. Variables en R. Manejo de datos y ficheros. Gráficos. Estadística descriptiva. Inferencia estadística básica.
SQL y bases de datos relacionales
Introducción a SQL. Operadores, tablas y estructuras de datos. Definición y normalización de tablas. Edición. Consultas básicas. Consultas avanzadas.