[image]

<aside> 💡

My Role

UI/UX Designer, Researcher, 3D Modeler, 3D Animator, Developer

</aside>

<aside> 🔧

Tools

Unity, Visual Studio, Blender, Substance Painter, Figma, Canva

</aside>

🔰 Background


Student writing on a notebook

Student writing on a notebook

First-year informatics students often face challenges in understanding the Introduction to Programming and Algorithms course. Despite their enthusiasm, differences in motivation, educational background, and the abstract nature of the subject often prevent them from fully grasping the concepts.

As digital natives, Generation Z learners are highly visual and accustomed to fast, interactive technology. Traditional teaching methods such as slides or textbooks often fail to sustain their attention and engagement, whereas they respond better to multimedia approaches that are practical, concise, and relevant.

Virtual Reality (VR) was chosen as an alternative medium to provide an immersive, interactive, and visual learning experience. With VR, students can explore abstract programming concepts more concretely through dynamic simulations, guided narration, and hands-on practice using controllers and Head Mounted Displays (HMD). ViraLab was developed to address this need, offering a more engaging way for digital-native students to learn the basics of programming.

⚒ Framework Used


image.png

To guide the process, I adopted the ADDIE framework—a structured model commonly used in instructional design. This approach ensured that every step, from understanding student needs to testing the VR experience, was systematic and user centered.

🍃 The Process


Analyze

🔎 Research

I conducted literature reviews and in-depth interviews with both lecturers and students to identify challenges in learning basic programming and to explore how VR had previously been applied in similar contexts. The following is the questions used:

📌 Key Insights

Through in-depth interviews with both lecturers and students, I gained a clear picture of the challenges and preferences in learning introductory programming through these points.