A UML approach for designing a VR-based smart learning environment for programming education | IEEE Conference Publication | IEEE Xplore