Informática
Lenguajes formales
Qué es un lenguaje formal, un alfabeto y una palabra. Conceptos básicos de la teoría de lenguajes formales explicados mediante la comparación con el lenguaje cotidiano y con ejemplos.
Autómatas finitos
El autómata finito como modelo de computación con estados y transiciones. Definición, diagrama de estados, formalización del cómputo y ejemplos de palabras aceptadas.
Reducción de autómatas finitos
Estados inaccesibles de un autómata finito, a los que no se puede llegar desde el estado inicial. Definición y procedimiento para eliminarlos del autómata de forma segura.
Propiedades de cierre de los lenguajes regulares
Los lenguajes regulares son cerrados respecto de la unión, la intersección, la concatenación y la clausura. Qué significa el cierre respecto de una operación y por qué se cumple para los lenguajes regulares.
Expresiones regulares
Qué es una expresión regular y cómo describe un conjunto de palabras. Definición, comparación con las expresiones aritméticas y relación con los autómatas finitos.
Estimación de valores distintos
Linear Counting: cómo estimar el número de valores distintos en datos muy grandes. Funciones hash, mapas de bits y por qué no basta el método ingenuo.
Filtro de Bloom: cómo saber si un elemento está en un conjunto
El filtro de Bloom es una estructura de datos probabilística que responde rápido si un elemento está en un conjunto. Principio, funciones hash y usos prácticos.
Cifrado César
Cómo funciona el cifrado César, uno de los métodos más antiguos para cifrar un texto. Desplazamiento de letras, generalización del cifrado y herramienta en línea.
Cifrado de Vigenère
El cifrado de Vigenère usa varios alfabetos y por eso resiste el análisis de frecuencias. Cómo funciona, el cuadro de Vigenère, la elección de la clave y una herramienta en línea.