This paper presents a new method for building a task-level adaptive controller for performing a class of complex tasks by robots. The design of the adaptation mechanism that updates the controller parameters (including reference inputs and feedback gains) is based on a set of teaching data taken from a human's demonstrations. The relationship between what a human monitors in the task process and how the human responds to variations in the task environment is described as an associative mapping. This associative mapping can be recovered from a set of human teaching data, and is used as the basis for designing the adaptation loop in a robot control system. Deburring is used as an example task.