Topicos

Ingeniería de Software: Tecnologías Emergentes y Convergentes

Esta edición de nuestra escuela de verano se centra en tecnologías emergentes y prácticas recientes en la ingeniería de software que tendrán un tremendo impacto en el futuro de nuestra sociedad, incluyendo: machine learning / inteligencia artificial, internet de las cosas, computación en la nube y en el borde, e ingeniería de software continua / DevOps. Estas tecnologías ya están siendo requeridas en el desarrollo de Industry 4.0 y Society 5.0.
 
La integración de varias de estas nuevas tecnologías emergentes y convergentes permite el desarrollo de sistemas más inteligentes que deben ser diseñados con nuevas prácticas de ingeniería de software que les permitan evolucionar, lo más dinámicamente posible, para lidiar con los altos niveles de incertidumbre que surgen de cambios en el entorno, los requisitos y las necesidades del negocio. Estos sistemas deben poder monitorear, recopilar, intercambiar, analizar y proporcionar nuevo conocimiento y datos valiosos sobre sí mismos y sus entornos para ser más eficientes, autorregulados e inteligentes.
topicos-escuela-verano-ingenieria-software-2020.jpg

Las tecnologías emergentes que se estudiarán en esta escuela de verano se pueden integrar en sistemas de software con procesos continuos de ingeniería de software, para instrumentar y conectar los mundos físico, digital y biológico de innumerables maneras.
La sinergia originada en la convergencia de estas tecnologías tiene el potencial de mejorar drásticamente la eficiencia de las empresas y organizaciones, incluso ayudando a regenerar el entorno natural a través de una mejor gestión de activos, revirtiendo en parte el daño que las revoluciones industriales anteriores han causado.


El primer día estará dedicado a construir un contexto de trabajo con la industria, sus preocupaciones, pero también sus planes y acciones en torno a estas tecnologías emergentes. Los días dos a cuatro se centrarán en el desarrollo de cinco talleres sobre: Ingeniería continua de software / DevOps, machine learning / inteligenciar artificial, transformación digital, así como omputación en la nube y en el borde y computación cuántica.

¡Esperamos que disfrutes de la segunda edición de nuestra escuela de verano!

Nota: los talleres y conferencias serán en inglés.

DevOps

Miles de organizaciones en todo el mundo se han unido a la revolución DevOps en la última década, lo que les permite realizar el concepto de entrega continua: reducir el tiempo de comercialización, reducir el costo para producir nuevas funcionalidades de software y desplegar una menor cantidad de defectos a los clientes. DevOps agiliza el desarrollo de software al reunir a los equipos de desarrollo y operaciones de TI para que trabajen juntos a fin de entregar, desplegar y operar software de calidad con mayor frecuencia. Dicha entrega está alineada con los objetivos comerciales, lo que aumenta el valor comercial de los cambios de software y abre mayores oportunidades de integración entre el desarrollo de software, las operaciones de TI y la estrategia comercial. DevOps impulsa un cambio de mentalidad en toda la organización para reestructurar equipos y proyectos en torno a una cultura de colaboración y cooperación autogestionadas.

Una configuración DevOps exitosa requiere altos niveles de automatización en las pruebas, la integración, el despliegue, la configuración y la operación de aplicaciones de software. La adopción de plataformas de orquestación de contenedores, y tecnologías similares, ciertamente ha facilitado la adopción de DevOps. Sin embargo, la complejidad de los entornos de desarrollo y operación se ha vuelto difícil de gestionar.

El objetivo de este taller es proporcionar una comprensión global de los principios que impulsan la cultura DevOps e ilustrar el papel que juegan las prácticas continuas de ingeniería de software para una adopción exitosa de DevOps mediante la configuración de un «pipeline» de despliegue continuo para un sistema de software, considerando los requisitos de infraestructura como código.

Machine Learning

La búsqueda de máquinas pensantes comenzó con una idea amplia y ambiciosa de realizar la Inteligencia Artificial (IA) alrededor de 1950. Desde entonces, el objetivo de lograr la IA se ha repetido varias veces con otras menos ambiciosas. A pesar de esto, el advenimiento del análisis de Big Data y la aplicación exitosa de técnicas de Machine Learning (ML) para hacer descubrimientos innovadores en los datos, han despertado nuevamente la atención no solo a ML, sino a las promesas de toda la IA, actualmente enfocada principalmente en Deep Learning (DL).

El objetivo de este taller es proporcionar una comprensión de lo que es ML / DL, y cómo funcionan las técnicas DL desarrollando un simple reconocedor de formas humanas utilizando marcos como Anaconda para procesar imágenes capturadas por un teléfono celular.

Computación en la Nube y en el Borde

La computación en la nube es la entrega a pedido de recursos de TI a través de Internet con precios de pago por uso. Estos recursos se pueden usar para crear soluciones que ayuden a cumplir con los requisitos empresariales y tecnológicos. La computación en la nube permite a los ingenieros dejar de pensar en la infraestructura como un conjunto de elementos hardware y, en cambio, considerarla como un software. La sesión de computación en la nube se ofrece a los asistentes que buscan comprender los conceptos de computación en la nube y que desean explorar la nube de AWS. Durante los talleres se explorará una descripción general de los conceptos, servicios, seguridad y arquitectura de la nube.

IoT, Digital Twins y Transformación Digital

La transformación digital está impulsando el aumento continuo de las capacidades tanto de los sistemas como de los seres humanos. Esta está dando forma a cómo las industrias y las sociedades evolucionan como resultado de los recientes avances en las tecnologías de la información y la comunicación, como Internet de las cosas (IoT) y Digital Twins (DT). La capacidad de los dispositivos IoT para generar información valiosa durante su funcionamiento permite identificar y comprender fenómenos globales y a largo plazo que antes no era posible percibir ni gestionar. Además, los dispositivos IoT están permitiendo la manifestación de entidades del mundo real en el mundo digital, y viceversa, a través del concepto de Digital Twin. Un gemelo digital constituye una representación virtual y dinámica de las características estructurales y de comportamiento fundamentales de una entidad física (el gemelo real) a lo largo de su ciclo de vida. Las realizaciones de DT permitirán la toma de decisiones basada en datos, la automatización, la colaboración y la creación de nuevos modelos de negocio basados ​​en las capacidades aumentadas que ofrecen a sus gemelos reales.

El objetivo de este taller es ilustrar cómo construir infraestructuras para permitir la transformación digital mediante el desarrollo de un sistema simple basado en dispositivos IoT y posibles gemelos digitales.

Computación Cuántica

La informática tiene mucho que enseñarnos sobre cómo usar, imitar y comprender los misterios e innovaciones que se encuentran en la naturaleza. La computación cuántica es una tecnología de naturaleza emergente que brinda a los científicos e ingenieros la capacidad de abordar problemas que aún no se han resuelto satisfactoriamente. Esta tecnología abre las puertas a avances en nuevos medicamentos, diagnósticos de enfermedades, algoritmos que optimizan recursos y estrategias financieras para vivir bien hasta la jubilación.

Hoy, los primeros computadores cuánticos son accesibles y programables a través de Internet. Con las mejoras en la precisión y el poder de los computadores cuánticos, la demanda de una fuerza laboral calificada en computación cuántica aumenta significativamente.

Introduciremos algunos conceptos básicos e importantes de la computación cuántica, incluida cierta comprensión matemática detrás de estos principios básicos. Los temas incluyen sistemas qubit, compuertas cuánticas, medición, superposición, entrelazamiento, cómo enviar dos bits clásicos a través de un qubit (codificación superdensa) y teletransportación cuántica. Brindamos experiencia práctica en computadores y simuladores cuánticos, utilizando Jupyter Notebooks y el framework de IBM para computación cuántica, Qiskit. Los estudiantes podrán continuar usando la plataforma IBM para trabajos futuros.