Algorithmic Thinking Definitions