Learning to build and test virtual reality (VR) systems is difficult due to the many required knowledge (e.g. computer graphics, sound processing, simulation, interaction, etc.) and subsystems to worry about (e.g. various sensors, displays, computers, graphics board, etc.). Furthermore, virtual reality contents have to be optimized according to different goals such as its basic function, usability, and presence. Thus, learning and applying a structured approach to designing VR systems is very critical to a successful completion of a meaningful class project. In this paper, we report our experiences in using a development methodology and an authoring support tool called the CLEVR/P-VoT to teach virtual reality to engineering students of advanced levels. CLEVR’s central concept is to refine and validate forms, functions and behaviors of the virtual objects and scenes incrementally and hierarchically. P-VoT helps students interactively try out and explore different virtual object/scene ...