TÉCNICAS PARA EL DESARROLLO DE SOFTWARE

Objetivo
Este curso introduce prácticas fundamentales del desarrollo de software orientadas a proyectos de ciencia e ingeniería de datos. Está diseñado para estudiantes sin experiencia profesional previa en programación, con el objetivo de capacitarlos para integrarse de forma efectiva en equipos de desarrollo, ya sea en entornos académicos, personales o profesionales. Al finalizar, los estudiantes serán capaces de aplicar buenas prácticas de desarrollo de software de manera colaborativa y robusta, utilizando herramientas y metodologías actuales.

Temas Centrales
A lo largo del curso se abordan temáticas clave como control de versiones con Git y Github, depuración asistida con herramientas de inteligencia artificial, desarrollo guiado por pruebas (TDD), testing con Pytest y Doctest, gestión de entornos virtuales y dependencias con Poetry y Conda, así como el ciclo de vida del desarrollo de software con integración y despliegue continuo (CI/CD) mediante GitHub Actions. Además, se enseña el empaquetado y publicación de paquetes en PyPI, versionado semántico y mejores prácticas de organización de proyectos en Python.


MATÍAS CALLARA. Doctor en Informática, Université de Haute-Alsace (Francia). Magíster en Optimización de Sistemas y Seguridad por la Université de Technologie de Troyes. Ingeniero Industrial, UTN. Durante su doctorado, su investigación se centró en el uso de algoritmos de aprendizaje automático para la predicción de comportamiento en arquitecturas de computación en la nube. Con más de diez años de experiencia en la intersección del aprendizaje automático, la investigación operativa y la teoría de la decisión, actualmente se desempeña como Senior Data Scientist en Roche (Suiza). En este rol, ha liderado el desarrollo de soluciones de inteligencia artificial y gestiona portafolios de productos digitales junto a equipos multidisciplinarios, aplicando su conocimiento en herramientas de ciencia de datos, procesos de desarrollo y despliegue de soluciones analíticas, y lenguajes de programación como Python.