Algoritmo
Para resolver um problema no computador é necessário que seja primeiramente encontrada uma maneira de descrever este problema de uma forma clara e precisa. É preciso que encontremos uma seqüência de passos que permitam que o problema possa ser resolvido de maneira automática e repetitiva. Além disto é preciso definir como os dados que serão processados serão armazenados no computador. Portanto, a solução de um problema por computador é baseada em dois pontos: a seqüência de passos e a forma como os dados serão armazenados no computador. Esta seqüência de passos é chamada de algoritmo. Um exemplo simples e prosaico, de como um problema pode ser resolvido caso forneçamos uma seqüência de passos que mostrem a solução, é uma receita para preparar um bolo.
A noção de algoritmo é central para toda a computação. A criação de algoritmos para resolver os problemas é uma das maiores dificuldades dos iniciantes em programação em computadores. Isto porque não existe um conjunto de regras, ou seja um algoritmo, que nos permita criar algoritmos. Caso isto fosse possível a função de criador de algoritmos desapareceria. Claro que existem linhas mestras e estruturas básicas, a partir das quais podemos criar algoritmos, mas a solução completa depende em grande parte do criador do algoritmo. Geralmente existem diversos algoritmos para resolver o mesmo problema, cada um segundo o ponto de vista do seu criador.
No seu livro Fundamental Algorithms vol. 1 Donald Knuth apresenta uma versão para a origem desta palavra. Ela seria derivada do nome de um famoso matemático persa chamado Abu Ja´far Maomé ibn Mûsâ al-Khowârism (825) que traduzido literalmente quer dizer Pai de Ja´far, Maomé, filho de Moisés, de Khowârizm. Khowârizm é hoje a cidade de Khiva, na ex União Soviética. Este autor escreveu um livro chamado Kitab al jabr w´al-muqabala (Regras de Restauração e Redução). O título do livro deu origem também a palavra Álgebra.
O significado da palavra é muito similar