Algorytmy
Algorytm w matematyce oraz informatyce to skończony uporządkowany zupełnie zbiór jasno zdefiniowanych czynności koniecznych do wykonania pewnego zadania w skończonej liczbie kroków. Ma on przeprowadzić system z pewnego stanu początkowego do pożądanego stanu końcowego. Algorytm może zostać zaimplementowany w postaci programu komputerowego lub układu elektronicznego. Kiedy podczas tego procesu programiści popełnią błąd (ang. bug), może to doprowadzić do poważnych skutków. Dla przykładu błędy w implementacji algorytmów bezpieczeństwa mogą ułatwić włamanie do systemu komputerowego.
Algorytm często porównuje się do przepisu kulinarnego. Dla przykładu, aby zrobić bigos należy w określonej kolejności oraz odstępach czasowych (imperatyw czasowy) dodawać właściwe rodzaje kapusty i innych składników. Może istnieć kilka różnych przepisów dających na końcu bardzo podobną potrawę.
Główna różnica między algorytmem kulinarnym i komputerowym tkwi w zdolności jego wykonawcy do zrozumienia języka przepisu. Kucharz jest dużo bardziej inteligentny od komputera. Wiele algorytmów jasnych dla człowieka, staje się niezrozumiałe dla maszyny.
W niektórych krajach, jak USA, algorytmy mogą zostać opatentowane, jeżeli dają się zaimplementować w jakimś praktycznym celu. Niektórzy twierdzą, że opatentowanie algorytmów spowalnia rozwój informatyki, bo jeden producent może uzyskać monopol, np. na pisanie oprogramowania tworzącego pewne typy plików (np. GIF). Wiele koncernów komputerowych prowadzi między sobą prawnicze spory dotyczące własności do niektórych patentów. z