This article presents the application of an epistemological model for students learning mathematics. The proposal is based on the convergence of cognitive psychology and epistemology combined with a mathematical content, structured according to the categories proposed here, that promote mathematical thought. The model is used to design software applications that guide student during knowledge acquisition by applying learning principles. Software design is divided into three stages: the first stage is for students to explore their knowledge skills level; the second is for students doing activities designed to produce knowledge; the third is for students to realize how their knowledge has been produced. An application to learn basics of algebra is presented. It has been discovered that this is good method for knowledge acquisition..