4,097 research outputs found
A Qualitative Study of Emotions Experienced by First-year Engineering Students during Programming Tasks
In introductory computer programming courses, students experience a range of emotions. Students often experience anxiety and frustration when they encounter difficulties in writing programs. Continued frustration can discourage students from pursuing engineering and computing careers. Although prior research has shown how emotions affect students’ motivation and learning, little is known about students’ emotions in programming courses. In this qualitative study of first-year engineering students taking an introductory programming course, we examined the emotions that these students experienced during programming tasks and the reasons for experiencing those emotions. Our study was grounded in the control-value theory of achievement emotions. Each research participant came to two laboratory sessions: a programming session and a retrospective think-aloud interview session. In the programming session, each participant worked individually on programming problems. We collected screen capture, biometrics, and survey responses. In the interview session, each participant watched a video of their actions during the programming session. After every 2 minutes of viewing, the participants reported the emotions that they had experienced during this 2-minute period. We performed a thematic analysis of the interview data. Our results indicate that the participants experienced frustration most frequently. Sometimes they experienced multiple emotions. For example, one participant felt annoyed because she had made a mistake, but she felt joy and pride when she fixed the mistake. To promote student learning, educators should take students’ emotions into account in the design of curriculum and pedagogy for introductory programming courses
Issues and techniques for collaborative music making on multi-touch surfaces
A range of systems exist for collaborative music making on multi-touch surfaces. Some of them have been highly successful, but currently there is no systematic way of designing them, to maximise collaboration for a particular user group. We are particularly interested in systems that will engage novices and experts. We designed a simple application in an initial attempt to clearly analyse some of the issues. Our application allows groups of users to express themselves in collaborative music making using pre-composed materials. User studies were video recorded and analysed using two techniques derived from Grounded Theory and Content Analysis. A questionnaire was also conducted and evaluated. Findings suggest that the application affords engaging interaction. Enhancements for collaborative music making on multi-touch surfaces are discussed. Finally, future work on the prototype is proposed to maximise engagement
Learning Experiences in Programming: The Motivating Effect of a Physical Interface
A study of undergraduate students learning to program compared the use of a physical interface with use of a screen-based equivalent interface to obtain insights into what made for an engaging learning experience. Emotions characterized by the HUMAINE scheme were analysed, identifying the links between the emotions experienced during programming and their origin. By capturing the emotional experiences of learners immediately after a programming experience, evidence was collected of the very positive emotions experienced by learners developing a program using a physical interface (Arduino) in comparison with a similar program developed using a screen-based equivalent interface
Links between the personalities, styles and performance in computer programming
There are repetitive patterns in strategies of manipulating source code. For
example, modifying source code before acquiring knowledge of how a code works
is a depth-first style and reading and understanding before modifying source
code is a breadth-first style. To the extent we know there is no study on the
influence of personality on them. The objective of this study is to understand
the influence of personality on programming styles. We did a correlational
study with 65 programmers at the University of Stuttgart. Academic achievement,
programming experience, attitude towards programming and five personality
factors were measured via self-assessed survey. The programming styles were
asked in the survey or mined from the software repositories. Performance in
programming was composed of bug-proneness of programmers which was mined from
software repositories, the grades they got in a software project course and
their estimate of their own programming ability. We did statistical analysis
and found that Openness to Experience has a positive association with
breadth-first style and Conscientiousness has a positive association with
depth-first style. We also found that in addition to having more programming
experience and better academic achievement, the styles of working depth-first
and saving coarse-grained revisions improve performance in programming.Comment: 27 pages, 6 figure
Designing Engaging Learning Experiences in Programming
In this paper we describe work to investigate the creation of engaging programming learning experiences. Background research informed the design of four fieldwork studies to explore how programming tasks could be framed to motivate learners. Our empirical findings from these four field studies are summarized here, with a particular focus upon one – Whack a Mole – which compared the use of a physical interface with the use of a screen-based equivalent interface to obtain insights into what made for an engaging learning experience. Emotions reported by two sets of participant undergraduate students were analyzed, identifying the links between the emotions experienced during programming and their origin. Evidence was collected of the very positive emotions experienced by learners programming with a physical interface (Arduino) in comparison with a similar program developed using a screen-based equivalent interface. A follow-up study provided further evidence of the motivation of personalized design of programming tangible physical artefacts. Collating all the evidence led to the design of a set of ‘Learning Dimensions’ which may provide educators with insights to support key design decisions for the creation of engaging programming learning experiences
An aesthetics of touch: investigating the language of design relating to form
How well can designers communicate qualities of touch?
This paper presents evidence that they have some capability to do so, much of which appears to have been learned, but at present make limited use of such language. Interviews with graduate designer-makers suggest that they are aware of and value the importance of touch and materiality in their work, but lack a vocabulary to fully relate to their detailed explanations of other aspects such as their intent or selection of materials. We believe that more attention should be paid to the verbal dialogue that happens in the design process, particularly as other researchers show that even making-based learning also has a strong verbal element to it. However, verbal language alone does not appear to be adequate for a comprehensive language of touch. Graduate designers-makers’ descriptive practices combined non-verbal manipulation within verbal accounts. We thus argue that haptic vocabularies do not simply describe material qualities, but rather are situated competences that physically demonstrate the presence of haptic qualities. Such competencies are more important than groups of verbal vocabularies in isolation. Design support for developing and extending haptic competences must take this wide range of considerations into account to comprehensively improve designers’ capabilities
Learning Agent-based Modeling with LLM Companions: Experiences of Novices and Experts Using ChatGPT & NetLogo Chat
Large Language Models (LLMs) have the potential to fundamentally change the
way people engage in computer programming. Agent-based modeling (ABM) has
become ubiquitous in natural and social sciences and education, yet no prior
studies have explored the potential of LLMs to assist it. We designed NetLogo
Chat to support the learning and practice of NetLogo, a programming language
for ABM. To understand how users perceive, use, and need LLM-based interfaces,
we interviewed 30 participants from global academia, industry, and graduate
schools. Experts reported more perceived benefits than novices and were more
inclined to adopt LLMs in their workflow. We found significant differences
between experts and novices in their perceptions, behaviors, and needs for
human-AI collaboration. We surfaced a knowledge gap between experts and novices
as a possible reason for the benefit gap. We identified guidance,
personalization, and integration as major needs for LLM-based interfaces to
support the programming of ABM.Comment: Conditionally accepted (with minor revisions) by Proceedings of the
CHI Conference on Human Factors in Computing Systems (CHI '24
"It's Weird That it Knows What I Want": Usability and Interactions with Copilot for Novice Programmers
Recent developments in deep learning have resulted in code-generation models
that produce source code from natural language and code-based prompts with high
accuracy. This is likely to have profound effects in the classroom, where
novices learning to code can now use free tools to automatically suggest
solutions to programming exercises and assignments. However, little is
currently known about how novices interact with these tools in practice. We
present the first study that observes students at the introductory level using
one such code auto-generating tool, Github Copilot, on a typical introductory
programming (CS1) assignment. Through observations and interviews we explore
student perceptions of the benefits and pitfalls of this technology for
learning, present new observed interaction patterns, and discuss cognitive and
metacognitive difficulties faced by students. We consider design implications
of these findings, specifically in terms of how tools like Copilot can better
support and scaffold the novice programming experience.Comment: 26 pages, 2 figures, TOCH
Introductory programming: a systematic literature review
As computing becomes a mainstream discipline embedded in the school curriculum and acts as an enabler for an increasing range of academic disciplines in higher education, the literature on introductory programming is growing. Although there have been several reviews that focus on specific aspects of introductory programming, there has been no broad overview of the literature exploring recent trends across the breadth of introductory programming.
This paper is the report of an ITiCSE working group that conducted a systematic review in order to gain an overview of the introductory programming literature. Partitioning the literature into papers addressing the student, teaching, the curriculum, and assessment, we explore trends, highlight advances in knowledge over the past 15 years, and indicate possible directions for future research
- …