Introducción a la Ingeniería del Software para la Investigación

Fecha evento: 
01/07/2024 al 05/07/2024
Coordinación: 

Rubén Béjar Hernández, Profesor Titular Departamento de Informática e Ingeniería de Sistemas Universidad de Zaragoza.

Presencial
Horas lectivas totales: 
20.00h.
Horas lectivas presenciales: 
20.00h.
Tarifa general: 
145 euros
Tarifa reducida: 
120 euros
CURSO COMPLETO
Objetivos: 

Hoy en día, muchas/os científicas/os tienen que escribir software como parte de su investigación. En muchos casos han tenido una formación básica en programación y manejo de datos durante el grado y, quizás, algo de formación de postgrado relacionada con la estadística/ciencia de datos, o con el uso de software o bibliotecas de programación específicas de su ámbito de investigación. En otros casos se han tenido que autoformar. El resultado de esto es que para muchos artículos y proyectos se genera código de mala calidad, con demasiados errores, mal documentado y difícil de mantener y de reutilizar. Esto dificulta la replicabilidad de los experimentos, la ciencia abierta, el potencial de citación, el tener líneas de trabajo consistentes basadas en un código que se va ampliando y mejorando, y la incorporación de investigadoras/es noveles a estas líneas de trabajo.

El objetivo del curso es conseguir que las/os participantes adquieran algunas competencias básicas de ingeniería del software que les permitan mejorar los aspectos señalados antes.

También buscaremos que adquieran una mejor perspectiva sobre lo que es posible hacer usando las técnicas adecuadas. Esto tiene el objetivo de facilitarles encauzar su formación futura en esta temática con un mejor conocimiento de lo que les puede interesar más, y estar en mejor posición para decidir cuándo puede ser interesante incorporar ingenieros/as de software a sus proyectos de investigación.

Todo esto se encuentra dentro de lo que en los últimos años se ha empezado a denominar como Research Software Engineering (ver, por ejemplo: https://society-rse.org).

Programa: 

Lunes, 1 de Julio

  • 10:00 - 12:00 h. Fundamentos de Devops I. La línea de comandos. [5]
  • 12:00 - 14:00 h. Buenas prácticas de programación I. Modularización y estilo de código. [3]

Martes, 2 de Julio

  • 10:00 - 12:00 h. Ingeniería del Software I. Fundamentos de Git y GitHub. [4]
  • 12:00 - 14:00 h. Ingeniería del Software II. Las pruebas automáticas. [3]

Miércoles, 3 de Julio

  • 10:00 - 12:00 h. Buenas prácticas de programación II. Fundamentos de la orientación a objetos. [1]
  • 12:00 - 14:00 h. Fundamentos de Devops II. Construcción del software. [5]

Jueves, 4 de Julio

  • 10:00 - 12:00 h. Ingeniería del software III. Empaquetar y publicar software. [5]
  • 12:00 - 14:00 h. Fundamentos de Devops III. Integración automática con GitHub Actions. [4]

Viernes, 5 de Julio

  • 10:00 - 12:00 h. El software en la investigación replicable. [2]
  • 12:00 - 14:00 h. Proyecto final. [4]
Ponentes: 

1 Javier Nogueras Iso, Catedrático de la Universidad Departamento de Informática e Ingeniería de Sistemas Universidad de Zaragoza.
2 Mario Esteban Suaza Medina, Investigador Instituto de Investigación en Ingeniería de Aragón Universidad de Zaragoza.
3 Miguel Ángel Latre Abadía, Profesor Contratado Doctor Departamento de Informática e Ingeniería de Sistemas Universidad de Zaragoza.
4 Rubén Béjar Hernández, Profesor Titular Departamento de Informática e Ingeniería de Sistemas Universidad de Zaragoza.
5 Sergio Martín Segura, Profesor Departamento de Informática e Ingeniería de Sistemas Universidad de Zaragoza.

Alumnado: 

Investigadoras/es en cualquier ámbito (ciencias naturales, sociales, exactas, ingeniería, arquitectura etc.), en formación o consolidadas/os, cuyo trabajo de investigación requiera escribir y publicar software, y que quieren introducirse en técnicas de ingeniería del software para que ese software sea más fácil de reusar, de corregir, de ampliar, de mejorar o de citar, y que los experimentos que lo incluyan sean más fáciles de replicar.
Formación exigible: Conocimientos básicos de programación en Python (o de algún otro lenguaje de programación y ganas de aprender Python por su cuenta). Además, como para cualquier cosa relacionada con la ingeniería del software, es necesario poder leer documentación técnica escrita en inglés.

Reconocimiento de créditos: 

Solicitado el reconocimiento como créditos por las Actividades universitarias culturales por la Universidad de Zaragoza.

0,5 ECTS

1. Los asistentes pueden solicitar individualmente a los Servicios Provinciales de Educación el reconocimiento de la actividad como Formación Permanente de Profesorado presentando el certificado de haber realizado el curso.

2. Reconocimiento como créditos ECTS en el Grupo 9 de Universidades (G-9): Más información en https://cursosextraordinarios.unizar.es/ (Apartado créditos).

3. Créditos ECTS en otras universidades.

Los estudiantes interesados en que su Universidad les reconozca como créditos ECTS por haber realizado un Curso de Verano de la Universidad de Zaragoza, deben consultar con la Secretaría de su Facultad o Escuela de origen tal posibilidad.

Procedimiento de evaluación: 

CERTIFICADO DE ASISTENCIA:
El alumnado tendrá derecho a un Certificado de Asistencia que acreditará su participación en el curso siempre que haya asistido al menos al 85% de las horas lectivas presenciales.

DIPLOMA DE CRÉDITOS:
Para la obtención del Diploma de Créditos ECTS, según la normativa vigente en la Universidad de Zaragoza, será imprescindible superar el procedimiento de evaluación exigido por quienes coordinen el curso. En este caso, habrá que entregar un pequeño proyecto final que consistirá en un documento donde se planifique cómo las competencias adquiridas en el curso van a poder aplicarse al trabajo de investigación que el/la asistente realiza ahora, o que planea realizar en el futuro.

Lugar de celebración: 

Edificio Ada Byron
Laboratorio 0.01
C. María de Luna, 1
50018 Zaragoza