Evaluar la capacidad del estudiante para comprender y aplicar los fundamentos del Desarrollo Formal de Software, identificando errores, defectos y fallos; diferenciando verificación, validación y pruebas; y formalizando reglas de negocio mediante lógica proposicional, predicados, variables y cuantificadores.
Evaluar la capacidad del estudiante para formular y aplicar contratos, precondiciones, postcondiciones, aserciones e invariantes, y utilizar técnicas de verificación para analizar la correctitud y terminación de programas secuenciales, condicionales, ciclos, funciones, algoritmos y componentes desarrollados bajo el paradigma orientado a objetos.