9,924 research outputs found

    Introductory programming: a systematic literature review

    Get PDF
    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

    Is AI the better programming partner? Human-Human Pair Programming vs. Human-AI pAIr Programming

    Full text link
    The emergence of large-language models (LLMs) that excel at code generation and commercial products such as GitHub's Copilot has sparked interest in human-AI pair programming (referred to as "pAIr programming") where an AI system collaborates with a human programmer. While traditional pair programming between humans has been extensively studied, it remains uncertain whether its findings can be applied to human-AI pair programming. We compare human-human and human-AI pair programming, exploring their similarities and differences in interaction, measures, benefits, and challenges. We find that the effectiveness of both approaches is mixed in the literature (though the measures used for pAIr programming are not as comprehensive). We summarize moderating factors on the success of human-human pair programming, which provides opportunities for pAIr programming research. For example, mismatched expertise makes pair programming less productive, therefore well-designed AI programming assistants may adapt to differences in expertise levels.Comment: 8 pages (without references), 2 table

    A Study of Pair Programming Enjoyment and Attendance using Study Motivation and Strategy Metrics

    Get PDF
    We explore educational pair programming in a university context with high student autonomy and individual responsibility. The data comes from two separate introductory programming courses with optional pair programming assignments. We analyze lab attendance and course outcomes to determine whether students' previous programming experience or gender influence attendance. We further compare these statistics to self-reported data on study motivation, study strategies, and student enjoyment of pair programming. The influence of grading systems on pair programming behavior and course outcomes is also examined. Our results suggest that gender and previous programming experience correlate with participation in pair programming labs. At the same time, there are no significant differences in self-reported enjoyment of pair programming between any of the groups, and the results from commonly used study motivation and strategy questionnaires provide little insight into students/ actual behavior.Peer reviewe

    Individual Code Reviews to Improve Solo Programming

    Get PDF
    Programming is a difficult subject for many students and therefore a popular topic in computing education research, with extensive research into the teaching and learning of programming (Sheard et al., 2009).Peer code reviews (or code inspections,) have been successfully applied to the teaching of programming (Hundhausen et al., 2009, Trytten, 2005, Wang et al., 2008). Code reviews can also be applied in a individual context as in the Personal Software Process (PSP) (Humphrey, 1997). Making the review process individual eliminates the problems associated with group and pair work as the student is working alone. The aim of this research is to ascertain whether individual code reviews based on checklists (like those used in PSP (Humphrey, 1997) and during formal code inspections in industry (Sommerville, 2007),) with minimal reporting can be used to improve solo programming.The results shown an increase in performance however this is not statistically significant possibly due to the small sample size

    VEAP: a visualisation engine and analyzer for preSS#

    Get PDF
    Computer science courses have been shown to have a low rate of student retention. There are many possible reasons for this, and our research group have had considerable success in pinpointing the factors that influence outcome when learning to program. The earlier we are able to make these predictions, the earlier a teacher can intervene and provide help to an at-risk student, before they fail and/or drop out. PreSS (Predict Student Success) is a semi-automated machine learning system developed between 2002 and 2006 that can predict the performance of students on an introductory programming module with 80% accuracy, after minimal programming exposure. Between 2013 and 2015, a fully automated web-based system was developed, known as PreSS#, that replicates the original system but provides: a streamlined user interface; an easy acquisition process; automatic modeling; and reporting. Currently, the reporting component of PreSS# outputs a value that indicates if the student is a "weak" or "strong" programmer, along with a measure of confidence in the prediction. This paper will discuss the development of VEAP: a Visualisation Engine and Analyser for PreSS#. This software provides a comprehensive data visualisation and user interface, that will allow teachers to view data gathered and processed about institutions, classes and individual students, and provides access to further user-defined analysis, to allow a teacher to view how an intervention could influence a student's predicted outcome

    Can Individual Code Reviews Improve Solo Programming on an Introductory Course?

    Get PDF
    Peer code reviews have been successfully applied to the teaching of programming and can be applied to solo programming. Collaborative approaches are currently popular and have been successfully applied though social interaction and assessment issues limit their application. It is believed that a checklist based individual code review can provide a framework which allows students to proofread their code prior to submission, improving performance. Pilot and follow-up studies were conducted at Swansea Metropolitan University and although the results are inconclusive some important observations are made with regards to the use of this technique. Further study into the effects of individual code reviews on student performance is recommended

    Investigating the Use of Pair Programming for Teaching Data Structures and Algorithms

    Get PDF
    Incoming university students who have not previously studied computer programming often find it a challenging subject, leading to high failure rates (Williams & Upchurch, 2001). As a result, enrolment in computer science courses is declining (Carver et al., 2007), with the participation of female students being particularly affected (Werner, Hanks & McDowell, 2004). Research has suggested that the lack of a formalized structure for collaborative learning may be one of the factors responsible for students’ negative impressions of computer science (Werner et al., 2004). In this study we investigated whether the use of pair programming in labs would facilitate peer learning and enhance students’ confidence in their programming ability. The hypothesis motivating this intervention was that the more experienced programmers would transmit some of their knowledge to the weaker students and that the class as a whole would benefit from having the support of a partner to identify problem solving strategies and to resolve coding bugs. Results showed that the intervention was generally well received, although the weaker programmers were more positive about it than the stronger ones. Students that reported learning from pair programming were less likely to enjoy programming (r = -.496), less likely to enjoy labs (r = -.502), more likely to struggle with understanding lab material (r = .561) and more likely to report a lack of confidence in programming (r = -.415). Although there was no significant increase in final exam grades for male students, there was a significant 9.7% increase for female students. The most frequently reported positive feature of pair programming was that it allowed students to meet more people in the class

    Web-based collaborative learning in CS1 a study on outcomes of peer code review

    Get PDF
    Based on a teacher-organized student-to-student code review session, we gathered both quantitative and qualitative data from 177 first-semester Information Technology undergraduate students to learn about their thoughts, experiences and outcomes from collaborative learning through an online tool in an introductory programming course. The students were given a programming exercise to solve using JavaScript in a Web-based IDE facilitating real time code-sharing for peer-evaluation of code based on five provided evaluation criteria: naming of artifacts in the code, formatting of code, use of data types, use of execution flow, and other comments. In the survey questionnaire, we employed a five-point Likert scale with an additional text field for qualitative feedback. For the qualitative free-text based answers, thematic coding was carried out to identify recurring themes and topics in the students' answers. Based on the students' feedback, our results indicate that the majority of the participants had positive experiences resulting in self-reported learning through collaborative work, peer-evaluation and problem solving.publishedVersio

    Web-Based Collaborative Learning in CS1: A Study on Outcomes of Peer Code Review

    Get PDF
    Based on a teacher-organized student-to-student code review session, we gathered both quantitative and qualitative data from 177 first-semester Information Technology undergraduate students to learn about their thoughts, experiences and outcomes from collaborative learning through an online tool in an introductory programming course. The students were given a programming exercise to solve using JavaScript in a Web-based IDE facilitating real time code sharing for peerevaluation of code based on five provided evaluation criteria: naming of artifacts in the code, formatting of code, use of data types, use of execution flow, and other comments. In the survey questionnaire, we employed a five-point Likert scale with an additional text field for qualitative feedback. For the qualitative free-text based answers, thematic coding was carried out to identify recurring themes and topics in the students’ answers. Based on the students’ feedback, our results indicate that the majority of the participants had positive experiences resulting in self-reported learning through collaborative work, peer-evaluation and problem solving

    Enhancing Software Development in the MIS Curriculum using Pair Programming

    Get PDF
    Management Information Systems (MIS) majors often must perfect their programming skills with one course which can be a daunting task. In an effort to enhance the software development abilities of MIS majors a pair programming lab experiment was conducted in an introductory software development course to determine if that technique would produce benefits for the MIS curriculum. Pair programming experiments are often performed with Computer Science majors but rarely with MIS majors. The researchers’ observations as well as participant’s responses to a survey questionnaire were analyzed after the experiment. The results indicated that pair programming may be beneficial as a pedagogical tool to a MIS students’ ability to create programs using high-level concepts. Additionally, researcher observations revealed pairs worked collaboratively to produce the program while actively communicating and enjoying the process
    • …
    corecore