Analizzare la natura dei sistemi computazionali, cogliendone tutti i livelli di astrazione che ne definiscono l'ontologia.
Comprendere i problemi epistemologici e metodologici che caratterizzano il processo di sviluppo software, dalla definizione dei requisiti alla verifica di correttezza.
Cogliere come i problemi metodologici legati allo sviluppo software influenzino questioni etiche nella pratica informatica.