Abstract In this paper we report two studies in which elementary-school children learned a complex computer-programming skill—how to debug LOGO graphics and list-processing programs—and then transferred the high-level goal structure of that skill to nonprogramming domains. Instruction, its assessment, and the transfer tasks were all derived from an explicit model of the debugging process, cast as a computer simulation. Debugging skills were acquired over a period of several months as part of a LOGO programming course; the transfer tasks involved correcting written instructions in a variety of domains, including arranging items, allocating resources, and following map routes. Students showed clear improvement in the transfer tasks following instruction in debugging programs, and in the second study, amount of transfer was correlated with the degree of debugging skill acquisition. Our results contrast with many earlier studies that found little transfer of problem-solving skills in general and of high-level programming skills in particular. We suggest that the key to the success of our procedure is the fact that we used an extremely precise computer simulation model of the skills required to debug LOGO graphics and list-processing programs as a concrete manifestation of the notion of “cognitive objectives”.