24 research outputs found

    Supporting Co-Regulation and Motivation in Learning Programming in Online Classrooms

    Get PDF
    Self-regulation of learning in programming has been extensively investigated, emphasising an individual's metacognitive and motivational regulation components. However, learning often happens in socially situated contexts, and little emphasis has been paid to studying social modes of regulation in programming. We designed Thyone, a collaborative Jupyter Notebook extension to support learners' programming regulation in an online classroom context with the overall aim to foster their intrinsic motivation toward programming. Thyone's salient features - Flowchart, Discuss and Share Cell - incorporate affordances for learners to co-regulate their learning and drive their motivation. In an exploratory quasi-experimental study, we investigated learners' engagement with Thyone's features and assessed its influence on their learning motivation in an introductory programming course. We found that Thyone facilitated the co-regulation of programming learning and that the users' engagement with Thyone appeared to positively influence components of their motivation: interest, autonomy, and relatedness. Our results inform the design of technological interventions to support co-regulation in programming learning

    Developers' Visuo-spatial Mental Model and Program Comprehension

    Full text link
    Previous works from research and industry have proposed a spatial representation of code in a canvas, arguing that a navigational code space confers developers the freedom to organise elements according to their understanding. By allowing developers to translate logical relatedness into spatial proximity, this code representation could aid in code navigation and comprehension. However, the association between developers' code comprehension and their visuo-spatial mental model of the code is not yet well understood. This mental model is affected on the one hand by the spatial code representation and on the other by the visuo-spatial working memory of developers. We address this knowledge gap by conducting an online experiment with 20 developers following a between-subject design. The control group used a conventional tab-based code visualization, while the experimental group used a code canvas to complete three code comprehension tasks. Furthermore, we measure the participants' visuo-spatial working memory using a Corsi Block test at the end of the tasks. Our results suggest that, overall, neither the spatial representation of code nor the visuo-spatial working memory of developers has a significant impact on comprehension performance. However, we identified significant differences in the time dedicated to different comprehension activities such as navigation, annotation, and UI interactions.Comment: To appear in 2023 International Conference on Software Engineering (ICSE 2023). Authors' version of the wor

    Exploring Models and Theories of Spatial Skills in CS through a Multi-National Study

    Get PDF
    Background and Context. The relationship between spatial skills and computing science success has been demonstrated at multiple institutions. ICER has reacted positively to two theories for why this relationship exists, by both Parkinson & Cutts and Margulieux. However, only limited work has been done to validate these theories, and more confirmatory research about the relationship between spatial skills and module grades in CS is necessary. Objectives. We wish to validate two dimensions of existing theories for the relationship between spatial skills and CS: does CS learning improve spatial skills (as has been observed in other domains, such as physics) as Parkinson & Cutts propose, and does the relationship with grades predominantly apply to students with less prior programming fluency when they begin their learning, as Margulieux proposes. We also wish to contribute more data to the existing set of correlations between spatial skills and measures of CS success (replication). Method. We conducted a multi-institutional, multi-national project to capture prior programming experience and module grades in CS at three institutions, as well as conducting spatial skills tests at three points during the academic year. We compare spatial skills results with module grades, we examine changes in spatial skills over a period of CS learning and we explore whether the correlations between spatial skills and module grades apply for students at all levels of prior programming fluency. Findings. We found that spatial skills correlated with module grades at each institution, spatial skills improved over the first semester of teaching (though not the second semester, and at different rates in different institutions) and students with lower self-reported prior programming fluency exhibited much stronger correlations between spatial skills and grades than students with greater programming fluency. Implications. This work provides additional evidence that spatial skills are correlated with introductory CS outcomes. It also takes steps towards validating existing theories for the relationship by demonstrating that spatial skills can be trained through CS learning and students with lower levels of prior programming fluency are more likely to rely on spatial skills in their CS learning

    Exploring student perceptions about the use of visual programming environments, their relation to student learning styles and their impact on student motivation in undergraduate introductory programming modules

    Get PDF
    My research aims to explore how students perceive the usability and enjoyment of visual/block-based programming environments (VPEs), to what extent their learning styles relate to these perceptions and finally to what extent these tools facilitate student understanding of basic programming constructs and impact their motivation to learn programming

    Hindrances to learning to program in an introductory programmimg module

    Get PDF
    Introductory programming failure rate among students is high worldwide, including in South Africa. The failure rate remains a subject for investigation due to a high number of students who find learning to program difficult. This study evaluates factors that contribute to high failure rates in an introductory programming module at University of South Africa. The study evaluates curriculum, programming syllabus, and personal factors to evaluate reasons for high failure rates. Quantitative and qualitative research approaches are used to identify learning hindrances. The research results show that personal factors are the leading contributing factors, followed by the curriculum and then the programming syllabus. Personal factors relate to time, personal reasons, and commitments; curriculum involves tutorials; and programming syllabus factors are linked to programming concepts and application. The findings have implications for how teaching and learning in introductory programming can be improved. The study provides recommendations for improvement and future studies. Keywords: Learn to program; introductory programming; higher learning; personalSchool of ComputingM. Tech (Information Technology

    Understanding Spatial Skills and Encoding Strategies in Student Problem Solving Activities

    Get PDF
    Background and Context. Margulieux’s Spatial Encoding Strategy theory (SpES) provides a possible reason for the relationship between spatial skills and success in STEM fields, including CS. While there is indirect evidence to suggest that the theory holds, there is little work which explicitly explores the core theory in practice. Furthermore, current work in spatial skills has largely focused on introductory courses, and it is unclear whether advanced students (and then experts) use spatial skills in computing. Objectives. We wish to determine whether we can see senior students in CS with high spatial skills utilising non-verbal encoding strategies when solving CS programming problems. Method. Transcripts from a think-aloud exercise with experienced students (final year of undergraduate), whose spatial skills were measured, were analysed to identify utterances which indicated spatial encoding strategies being employed, such as the construction and alteration of mental models on the fly, and to determine differences according to spatial skills level. Findings. Students with higher spatial skills were more likely to exhibit evidence of the construction of flexible, comprehensive mental models to solve the programming problems, demonstrating advanced encoding and chunking strategies. Students with lower spatial skills were more likely to struggle with the construction and alteration of mental models, indicating that they typically lack the capability to effectively chunk and save working memory space. Implications. This work confirms the predictions of SpES more precisely than prior work by showing that skilled problem solving involves the mental model creation and manipulation that underlies SpES. It demonstrates that students with better spatial skills are more likely to succeed in programming problem solving, even in the later stages of study, due to their ability to encode non-verbal information

    Identification and Evaluation of Predictors for Learning Success and of Models for Teaching Computer Programming in Contemporary Contexts

    Get PDF
    Introductory undergraduate computer programming courses are renowned for higher than average failure and withdrawal rates when compared to other subject areas. The closer partnership between higher education and the rapidly expanding digital technology industry, as demonstrated by the establishment of new Degree Apprenticeships in computer science and digital technologies, requires efficient and effective means for teaching programming skills. This research, therefore, aimed to identify reliable predictors of success in learning programming or vulnerability to failure. The research also aimed to evaluate teaching methods and remedial interventions towards recommending a teaching model that supported and engaged learners in contemporary contexts that were relevant to the workplace. Investigation of qualifications designed to prepare students for undergraduate computer science courses revealed that A-level entrants achieved significantly higher programming grades than BTEC students. However, there was little difference between the grades of those with and those without previous qualifications in computing or ICT subjects. Analysis of engagement metrics revealed a strong correlation between extent of co-operation and programming grade, in contrast to a weak correlation between programming grade and code understanding. Further analysis of video recordings, interviews and observational records distinguished between the type of communication that helped peers comprehend tasks and concepts, and other forms of communication that were only concerned with completing tasks. Following the introduction of periodic assessment, essentially converting a single final assessment to three staged summative assessment points, it was found that failing students often pass only one of the three assignment parts. Furthermore, only 10% of those who failed overall had attempted all three assignments. Reasons for failure were attributed to ‘surface’ motivations (such as regulating efforts to achieve a minimum pass of 40%), ineffective working habits or stressful personal circumstances rather than any fundamental difficulty encountered with subject material. A key contribution to pedagogical practice made by this research is to propose an ‘incremental’ teaching model. This model is informed by educational theory and empirical evidence and comprises short cycles of three activities: presenting new topic information, tasking students with a relevant exercise and then demonstrating and discussing the exercise solution. The effectiveness of this model is evidenced by increased engagement, increased quiz scores at the end of each teaching session and increased retention of code knowledge at the end of the course

    Working Performatively with Interactive 3D Printing: An artistic practice utilising interactive programming for computational manufacturing and livecoding

    Get PDF
    This thesis explores the liminal space where personal computational art and design practices and mass-manufacturing technologies intersect. It focuses on what it could look and feel like to be a computationally-augmented, creative practitioner working with 3D printing in a more programmatic, interactive way. The major research contribution is the introduction of a future-looking practice of Interactive 3D Printing (I3DP).I3DP is articulated using the Cognitive Dimensions of Notations in terms of associated user activities and design trade-offs. Another contribution is the design, development, and analysis of a working I3DP system called LivePrinter. LivePrinter is evaluated through a series of qualitiative user studies and a personal computational art practice, including livecoding performances and 3D form-making
    corecore