Developing Educational Software Components. - Jeremy Roschelle; Chris DiGiano; Manolis Koutlis; Alexander Repenning; Jonathan Phillips; Nickolas Jackiw; Daniel D. Suthers (Computer, 1999)