Algorithm
Theoretical computer science
A finite, precisely specified procedure that transforms an input into an output in a finite number of mechanical steps.
What is usually left out
Making this informal notion precise was the achievement of the 1930s, via Turing machines, lambda calculus, and recursive functions — which all turned out to define the same class. That coincidence is the evidence for the Church–Turing thesis, and it is what lets undecidability be a theorem rather than an observation about current technique.