SMS: Programmed learning and teaching machines :