Loading...

del 4 al 8 de OCTUBRE

DIRECTOR:

Cronograma

inscripciones

Simulación de un Sistema de Detección de Intrusiones basado en GNS3

El objetivo del Curso es implementar un Sistema de Detección de Intrusiones utilizando el software de emulación de redes GNS3 y la plataforma de virtualización VMWare. Se inicia con una breve introducción teórica sobre la funcionalidad de un Sistema de Detección de Intrusiones y el software GNS3. Se continuará con los pasos necesarios para la instalación de la plataforma GNS3 y las imágenes de los dispositivos de red a emular, finalmente se presentará un caso práctico de configuración de un escenario de red donde se instalará y configurará un Sistema de Detección de Intrusiones, un Firewall Router Mikrotik y un Servidor Web Linux, simulando un ataque al servidor web desde una fuente externa a la red.

Requisitos del Curso:

Se debe contar con conocimiento de redes TCP/IP, entorno de virtualización VMWare y sistema operativo Linux. Los requerimientos de hardware, es contar con notebook o PC, con espacio en disco de 100GB y memoria RAM de 6GB o más.

 

Diseño y Verificación de Programas Concurrentes

Durante la última década, la asistencia que recibimos por parte de dispositivos electrónicos se ha incrementado a punto tal que podríamos decir que dependemos todo el tiempo de ellos. Desde una pulsera para controlar la salud al funcionamiento de un vehículo, nuestra vida cotidiana gira en torno a programas que gobiernan el comportamiento de estos componentes. Muchos de estos sistemas poseen un comportamiento que no depende exclusivamente de una serie de datos iniciales, sino que tienen un comportamiento dinámico asociado a la ocurrencia de eventos y la reacción a los mismos, y la interacción con el ambiente en los que se encuentran. Más aún algunos sistemas, como por ejemplo, sistemas de control en vehículos, aviones, de control industrial y otros, constituyen sistemas críticos ya que cualquier error lógico pueden causar daños materiales o peor aún, poner en riesgo la vida de las personas que directa o indirectamente son usuarios de estos dispositivos. 

Debido a la complejidad intrínseca que conlleva este tipo de sistemas, existe una creciente demanda por parte de la industria de metodologías que permitan a los desarrolladores aumentar la confianza en el diseño y la construcción de los mismos.

En su gran mayoría, a este tipo de sistemas se los denomina críticos, ya que un fallo en los mismos puede provocar grandes pérdidas económicas y hasta vidas humanas. Es por ello en que garantizar la corrección de sus funcionalidades es un objetivo primordial en el desarrollo de estos dispositivos. 
En este curso revisaremos fundamentos de programación concurrente, problemas que afectan a la concurrencia, y diferentes técnicas de programación y diseño de estos sistemas. Estudiaremos además formas de modelar y analizar sistemas concurrentes, soportados por herramientas de software. El curso será teórico-práctico, y experimentaremos en el uso de programas concurrentes y herramientas para su análisis.

Introducción al Pensamiento y la Cultura Ágil

  • Gestión Ágil de los Proyectos y los Productos. Procesos Empíricos. 
  • Pilares del Empirismo. Manifiesto Ágil. Sum: El framework 2020. 
  • ¿Cómo funciona Scrum?. Valores de Scrum. Principios de Scrum. 
  • Requerimientos en Agiles. Gestión Ágil de Requerimientos de Software. User Stories. Forma de expresar las Historias de Usuario. Criterios de Aceptación de User Stories. Pruebas de Aceptación de Historias de Usuario.
  • Estimaciones Ágiles. Y qué es un Story Point? Una Propuesta de método de estimación
  • ¿Por qué creamos productos? 
  • MVP (Minimal Viable Product (Producto Mínimo Viable)

Síntesis de Hardware a partir de descripciones de Software

Debido al avance tecnológico en la fabricación de los dispositivos FPGA  y a la evolución de las herramientas EDA (Electronic Design Automation), la cantidad de desarrollos en FPGA ha crecido significativamente tanto en el área de supercomputación como en el área de sistemas embebidos. Esta tecnología es cada vez más accesible a los desarrolladores de software, en donde la generación automática de hardware a partir de programas de software es un hito que ofrece soluciones muy competitivas.  El principal objetivo del curso es demostrar las capacidades de la síntesis de alto nivel (HLS) para el aprovechamiento del paralelismo y la segmentación (pipeline) inherente en las arquitecturas de los  FPGA. Durante el curso se presentará tanto el flujo como las directrices de diseño que permiten generar arquitecturas masivamente paralelas con amplios beneficios de rendimiento a partir de descripciones algorítmicas realizadas en C/C++. De esta forma el curso permite que desarrolladores de diferentes áreas (principalmente de software) puedan aprovechar el potencial de los FPGA.

Prerrequisitos

  • Conocimientos básicos de diseño lógico.

  • Conocimiento de lenguajes C y C++.

  •