Se denomina software educativo al destinado a la enseñanza y el aprendizaje autónomo y que, además, permite el desarrollo de ciertas habilidades congnitivas.
Así como existen profundas diferencias entre las filosofias pedagogicas, así también existe una amplia gama de enfoques para la creación de software educativo, atendiendo a los diferentes tipos de interacción que debería existir entre los actores del proceso de enseñanza-aprendizaje: educador, aprendiz, conocimiento, computador.