Algoritam
U matematici i računarskoj nauci, algoritam je određeni skup definisanih naredbi za obavljanje nekog zadatka. Algoritmi se koriste u računarskim programima kao način rješavanja nekog zadatka. Algoritam također može značiti grafički prikaz toka obrade ili skup instrukcija računarskog programa (tad se preciznije naziva dijagram toka). On predstavlja vodilju za programera koji pomoću algoritama predstavlja viziju programa koji želi napisati u programskom jeziku. Algoritam se može predstaviti u nekoliko načina, mada je najbolja blog dijagram ili organogram, pored te se još javljaju i predstavljanje u obliku govora i tabelarno. Predstavljanje govorom nije toliko preporučljivo jer ne govore svi istim jezikom pa tu moze doći do spora pri razumijevanju algoritma. Koncept algoritma se obično ilustruje pojednostavljeno, iako je u stvarnosti veoma komplikovan. Algoritmi sadrže stepenice koje se ponavljaju ili zahtijevaju odluke koje propisuje programer. Koncept algoritma je dobio formu 1936. preko Turingovih mašina i Alonzo Churchovog lambda calculusa, koji su praktično udarili temelje računarske nauke. Većinu algoritama je moguće implementirati u računarski program.