This research is concerned with how to best train technical, coginitive skills. The approach is based on a three-component model of skill acquisition. This model is developed and tested, by generating and applying diagnostic tests to determine whether a given component of a skill has been acquired by the learner. The particular skill used for experimentation is based on the command language of an electronic spreadsheet. The model is further intended to be used as part of an intelligent tutoring system, capable of predicting students' performance as they learn a technical skill. The importance of this research is that it not only sheds light on general models of cognitive processing, but has practical application to the development of advanced intelligent tutoring systems.