Programmare un elaboratore a svolgere un certo lavoro significa identificare, secondo uno schema estremamente elementare e dettagliato, (il "diagramma a blocchi"), tutte le operazioni che la macchina deve eseguire passo passo per arrivare al risultato richiesto. Questo schema viene poi convertito nelle effettive istruzioni elementari, in un linguaggio che possa essere compreso dalla macchina.