Abstract. Heuristic programming was the first area in which AI methods were tested. The favourite case-studies were fairly simple toyproblems, such as cryptarithmetic, games, such as checker or chess, and formal problems, such as logic or geometry theorem-proving. These problems are well-defined, roughly speaking, at least in comparison to real-life problems, and as such have played the role of Drosophila in early AI. In this chapter I will investigate the origins of heuristic programming and the shift to more knowledge-based and real-life problem solving.