Mark Weiser coined the term Ubiquitous Computing (UbiComp) describing a future in which everyday life-objects would have embedded computers providing services anytime and anywhere. This paradigm is theme recurrent in many graduate courses of Computer Science around the world. To better understand the challenge of teaching Ubiquitous Computing (Ubi-Comp), we surveyed 15 professors and 60 graduate and undergraduate students from 16 universities. According to this survey, the two most challenging Ubicomp concepts to explain in a lecture are context-awareness and middleware platforms. Results also showed professors' difficulty in finding tools to assist the practical teaching of UbiComp's concepts. Current UbiComp tools require high programming skills or they are not designed for educational purposes. Therefore, this work presents the design, development, and evaluation of LUCy (Learning Ubiquitous Computing Easily), a Virtual Learning Environment which aids UbiComp practical classes. LUCy has two main elements: a Web tool and an Android mobile app. The former provides UbiComp theory materials, videos, practices, and simulations. The latter uses smartphones features and sensors to run simulations of UbiComp concepts. We evaluated LUCy during Context-Awareness classes in UbiComp courses, at the same university, along with three distinct semesters. In different three sessions, we gathered information about LUCy's pedagogical and usability issues. Then, we performed a quasi-experiment using a pretest and posttest design methodology with twentyseven students. Results showed LUCy practices significantly improves students reasoning about Context-Aware concepts.