Algorithms, An Historical Perspective