O propósito desta disciplina é explorar os princípios das redes programáveis, também conhecidas comoRedes Definidas por Software (SDN). Os conceitos serão aplicados através de práticas utilizando tecnologiasde código aberto, como máquinas virtuais, switches virtuais (bmv2, ovs) e ambientes virtualizados (mininet),juntamente com linguagens específicas para processamento de pacotes, como P4 e eBPF. Um tutorial seráfornecido como um guia prático, abrangendo casos de uso que incluem roteamento, tunelamento,balanceamento de carga, proteção contra ataques utilizando modelos de ML e firewalls. Um foco especialserá dado em como projetar, implementar e avaliar modelos de Aprendizado de Máquina (ML/AI)implantados dentro dos equipamentos de redes programáveis, como placas, switches e roteadores.