Comprender y aplicar fundamentos de especificación formal mediante el uso de lógica proposicional y lógica de predicados para expresar de manera precisa las propiedades y condiciones que debe cumplir un programa.
Comprender y aplicar los fundamentos de la especificación basada en contratos para definir condiciones de entrada, condiciones de salida y propiedades que permitan describir y verificar el comportamiento esperado de las funcionalidades de software.