From many-to-one to one-to-many: The evolution of ubiquitous computing in education