Basic Algorithmic Problem Solving