Characterizing junior CS student knowledge of Model-View-Controller
: What do students understand fromMVC?

  • Loek van der Linde

Student thesis: Master's Thesis

Abstract

Understanding and effectively implementing the Model-View-Controller (MVC) design pattern is crucial for software engineering education. Despite its significance, many junior Computer Science (CS) students struggle to grasp and apply MVC principles adequately. This research aims to address this gap by characterizing students’ understanding and usage of MVC. Through a combination of systematic literature review, expert interviews, and
observations of student tasks, two Meerbaum-Salant taxonomy [Meerbaum-Salant et al., 2013] of MVC knowledge were developed. This taxonomy, combining Bloom’s taxonomy [Krathwohl, 2002] and SOLO taxonomy [Biggs and Collis, 2014], delineates the expected levels of understanding and identifies misconceptions among junior CS students. Two versions of the taxonomy were developed: a prescriptive one to categorize characteristics of MVC on different knowledge levels, and a descriptive one that demonstrates junior CS student
actual knowledge ofMVC on the different knowledge levels. The study involved Dutch junior CS students from a university of applied sciences, who demonstrated basic to intermediate programming and design skills.
Findings reveal that while students understand and apply the fundamental concepts of MVC, they face challenges in creating working software consistently. Most students can design features following MVC principles but struggle with coding implementations. Notably, students exhibit misconceptions regarding controllers’ roles and the rationale behind model-view separation. Recommendations for improving CS education at the chosen university of applied sciences include emphasizing three-layer architecture, clarifying
controllers’ roles, and providing guidance on translating designs into valid code. The discrepancy of product quality between student projects during regular education and task observation during this research suggest that external factors, such as project complexity and team dynamics, also influence students’ proficiency inMVC, warranting further investigation. This research contributes a comprehensive taxonomy of MVC knowledge, both prescriptive and descriptive of junior CS students. These taxonomies enable educators to refine teaching materials and support students more effectively. To generalize the results
of this research to all software engineering higher education, the future studies should use larger sample sizes of students and re-evaluate the value of systematic literature review used in this research. They should also explore the impact of external factors on student knowledge of MVC to verify the results of this research and come up with more valid educationalrefinements.
Date of Award12 Apr 2024
Original languageEnglish
SupervisorEbrahim Rahimi (Examiner) & Sylvia Stuurman (Co-assessor)

Master's Degree

  • Master Software Engineering

Cite this

'