FINDING COUPLING MISCONCEPTIONS IN UNDERGRADUATE COMPUTER SCIENCE STUDENTS’ CODE AND SOFTWARE DESIGN

  • D. Keizer

    Student thesis: Master's Thesis

    Abstract

    Many studies have been devoted to software design, the concept of abstraction and how
    students, and novice software developers, have handled these concepts. Furthermore,
    there are studies that have been dedicated to coupling and cohesion, as well as, research
    in regards to reviewing these studies. Which showed that understanding cohesion is not so
    much a problem for computer science students and novice software developers. However,
    for coupling that seems to be a different story. A major portion of the studies have mostly
    been focusing on the quantitative aspect of coupling, while the qualitative aspects have not
    (or hardly) been the focus. Therefore, within our own research we focused on such missing
    qualitative aspects of coupling, and narrowed down on misconceptions. Misconceptions
    that students have held in regards to coupling and its application. In particular undergraduate computer science students, studying at the Open Universiteit.
    We were provided with the possibility to analyse the submissions the students created for
    the course "Practicum Onderwerpen en Implementeren" (in short, POI), where they designed
    and created the code for a vaccination computer application. With that we primarly
    focused on the software design and implementation tasks within the assignments of the
    course. By studying the work of Fregnan et al. [2019], Eder and Schrefl [1995], and Passier
    [2021] we were able to create an analytical framework, which we utilized to detect, and
    annotate, coupling types in the student submissions. Additionally, we proposed 2 propositions,
    with one of them where we assumed that the domain models, created by the students,
    were direct copies of the data models. With the other proposition we assumed that
    the there would be rather significant differences between the software designs and the implementations (code) of these designs, created by the students.
    Through our analysis we were able to make observations in regards to detecting coupling
    patterns, to validate the propositions, and point out 4 coupling misconceptions. Furthermore,
    we were able to create an advise for the teachers of the POI course. However, we also
    encountered limitations and provided new research possibilities from them.
    Date of Award21 Aug 2023
    Original languageEnglish
    SupervisorEbrahim Rahimi (Examiner), Sylvia Stuurman (Co-assessor) & Harrie Passier (Co-assessor)

    Master's Degree

    • Master Software Engineering

    Cite this

    '