How can software be effectively used in education?