This paper describes a model of the goal-driven learning process by which novice UNIX users acquire UNIX expertise. Transcripts indicate that one way users acquire knowledge about UNIX commands is by planning to achieve UNIX-related goals, having these plans fail, and then trying to explain and repair these failures. This process gives rise to numerous questions, or knowledge goals, which themselves require planning, execution, failure explanation, and repair. We model this process with a variant of case-based planning that has been extended to explicitly represent and plan for knowledge goals and include them in the planning process. This paper presents this model and provides an overview of its implementation.