The goal is to learn how to solve well-defined technical problems with the aid of the computer. We emphasize the methods for solving problems (heuristics and algorithms), and the use of the Python language as an effective tool to implement the solutions.