Capire gli algoritmi e le strutture dati utilizzati nei diversi campi dell'informatica, comprendere il concetto di efficienza degli algoritmi e delle strutture dati tramite lo studio della complessit脿 computazionale, essere in grado di programmare e verificare la correttezza degli algoritmi, saper utilizzare algoritmi e strutture dati noti nei diversi contesti