Algorithms and Logic