Source code on the web is a widely available and potentially rich learning resource for non-programmers. However, unfamiliar code can be daunting to end-users without programming experience. This paper describes the results of an exploratory study in which we asked non-programmers to find and modify, the code, responsible for specific functionality within unfamiliar programs. We present two interacting models of how non-programmers approach this problem: the Task Process Model and the Landmark Mopping model Using these models, we describe code, search strategies non-programmers employed and the difficulties they encountered Finally, we propose guidelines for future programming environments that support non-programmers in finding functionality in unfamiliar programs.