Algorithm ni seti sahihi ya maelekezo ya hatua kwa hatua yaliyoundwa ili kutatua tatizo mahususi au kukamilisha kazi iliyobainishwa. Inafanya kazi kama ramani ya kimantiki inayohakikisha matokeo thabiti kila wakati pembejeo sawa inapotolewa. Ili kuwa na ufanisi, kila hatua lazima iwe wazi, inayotekelezeka, na hatimaye kuongoza kwenye kukamilika kwa mchakato baada ya idadi ndogo ya vitendo.
Maelekezo haya yanaweza kuonyeshwa kupitia lugha ya kawaida, chati za mtiririko, au pseudocode, yakibaki huru kutoka kwa lugha yoyote mahususi ya programu. Kabla ya utekelezaji, watengenezaji mara nyingi hufanya uchambuzi wa awali (a priori) ili kutathmini kinadharia ufanisi wa mantiki hiyo, wakizingatia utata wa muda na nafasi. Mara tu inapotekelezwa, uchambuzi wa baada ya hapo (posterior) huruhusu upimaji wa utendaji halisi ili kuhakikisha suluhisho linakidhi mahitaji muhimu ya kasi na rasilimali.
Mfano wa kivitendo wa algorithm ni mapishi ya kupikia chakula, ambayo huorodhesha viungo mahususi kama pembejeo na kutoa maelekezo yaliyopangwa ili kutengeneza sahani iliyokamilika. Katika sekta ya fedha, algorithms hutumiwa mara kwa mara kuendesha mifumo ya biashara ya kiotomatiki na ya kasi ya juu, ambapo huchakata data ya soko kulingana na sheria zilizowekwa awali ili kutekeleza biashara bila uingiliaji wa mikono.