Un algoritmo rappresenta una serie logica e precisa di passaggi elementari finalizzata alla risoluzione di problemi informatici e alla gestione dei software. Per essere ritenuta valida, questa sequenza deve rispettare criteri essenziali quali la finitezza, la mancanza di ambiguità, la presenza di dati in ingresso e in uscita, oltre alla concreta eseguibilità delle azioni. Prima di procedere con la stesura del codice informatico, la logica può essere illustrata attraverso il linguaggio comune, i diagrammi di flusso oppure lo pseudocodice. Le strategie di progettazione comprendono approcci differenti come la divisione ricorsiva, le scelte immediate ottimali, la programmazione dinamica e l'esplorazione per tentativi ed errori. Inoltre, le procedure si dividono in base alle finalità applicative, spaziando dall'ordinamento alla crittografia, e secondo modalità esecutive che possono sfruttare sistemi iterativi, ricorsivi o probabilistici. Infine, qualsiasi logica computazionale si fonda rigorosamente su tre strutture di controllo fondamentali, ovvero la sequenza lineare, la selezione condizionale e l'iterazione ciclica.