192 research outputs found

    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

    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

    A collaborative approach to learning programming: a hybrid learning model

    Get PDF
    The use of cooperative working as a means of developing collaborative skills has been recognised as vital in programming education. This paper presents results obtained from preliminary work to investigate the effectiveness of Pair Programming as a collaborative learning strategy and also its value towards improving programming skills within the laboratory. The potential of Problem Based Learning as a means of further developing cooperative working skills along with problem solving skills is also examined and a hybrid model encompassing both strategies outlined

    Improving First-year Success and Retention through Interest-Based CS0 Courses

    Get PDF
    Many computer science programs suffer from low student retention rates. At Cal Poly San Luis Obispo, academic performance and retention rates among first year computer science students are among the lowest on campus. In order to remedy this, we have developed a new CS0 course featuring different tracks that students can choose from (e.g. robotics, gaming, music, mobile apps). This allows students to learn the basics of programming, teamwork, and college-level study in a domain that is of personal interest. In addition, the course relies on classic Project-based Learning (PBL) approaches as well as a focus on both academic and non-academic factors shown to increase student retention. Initial assessment demonstrates positive results in the form of increased academic performance in post CS0 courses and student retention

    Interplay of Desktop and Mobile Apps with Web Services in an Introductory Programming Course

    Get PDF
    This paper describes a case study of a second-semester introductory programming course for information systems (IS) students that combined desktop and mobile application development and consumption of existing web services. Our aim was to provide students with a holistic view of how different types of applications can be developed and combined to solve real-world problems, as the students learned the basics of programming. Students progressively built a desktop Java application with a graphical user interface for a local public transit system. It combined the use of basic algorithms, existing web services for geo-coding and mapping to illustrate a recommended route on the system. Students then ported this application to the Android platform re-using most of the code they had already developed. Along with fulfilling the traditional objectives of an introductory course, this course also demonstrated the possible interplay of stand-alone components and web services in desktop and mobile applications and kept the students motivated and engaged throughout the semester

    Failure rates in introductory programming revisited.

    Get PDF
    Whilst working on an upcoming meta-analysis that synthesized fifty years of research on predictors of programming performance, we made an interesting discovery. Despite several studies citing a motivation for research as the high failure rates of introductory programming courses, to date, the majority of available evidence on this phenomenon is at best anecdotal in nature, and only a single study by Bennedsen and Caspersen has attempted to determine a worldwide pass rate of introductory programming courses. In this paper, we answer the call for further substantial evidence on the CS1 failure rate phenomenon, by performing a systematic review of introductory programming literature, and a statistical analysis on pass rate data extracted from relevant articles. Pass rates describing the outcomes of 161 CS1 courses that ran in 15 different countries, across 51 institutions were extracted and analysed. An almost identical mean worldwide pass rate of 67.7% was found. Moderator analysis revealed significant, but perhaps not substantial differences in pass rates based upon: grade level, country, and class size. However, pass rates were found not to have significantly differed over time, or based upon the programming language taught in the course. This paper serves as a motivation for researchers of introductory programming education, and provides much needed quantitative evidence on the potential difficulties and failure rates of this course

    Failure rates in introductory programming revisited

    Get PDF
    Whilst working on an upcoming meta-analysis that synthesized fifty years of research on predictors of programming performance, we made an interesting discovery. Despite several studies citing a motivation for research as the high failure rates of introductory programming courses, to date, the majority of available evidence on this phenomenon is at best anecdotal in nature, and only a single study by Bennedsen and Caspersen has attempted to determine a worldwide pass rate of introductory programming courses. In this paper, we answer the call for further substantial evidence on the CS1 failure rate phenomenon, by performing a systematic review of introductory programming literature, and a statistical analysis on pass rate data extracted from relevant articles. Pass rates describing the outcomes of 161 CS1 courses that ran in 15 different countries, across 51 institutions were extracted and analysed. An almost identical mean worldwide pass rate of 67.7% was found. Moderator analysis revealed significant, but perhaps not substantial differences in pass rates based upon: grade level, country, and class size. However, pass rates were found not to have significantly differed over time, or based upon the programming language taught in the course. This paper serves as a motivation for researchers of introductory programming education, and provides much needed quantitative evidence on the potential difficulties and failure rates of this course

    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

    Persepsi Mahasiswa terhadap Implementasi Metode Pair Programming pada Pembelajaran Mata Kuliah Pemrograman Dasar

    Get PDF
    Pemrograman dasar merupakan mata kuliah yang penting dalam mempelajari ilmu komputer terutama yang terkait dengan perancangan perangkat lunak atau aplikasi. Belajar pemrograman dianggap sebagai tugas yang sulit bagi sejumlah besar mahasiswa. Salah satu petode pembelajaran dalam pemrograman yang dipandang dapat meningkatkan kompetensi mahasiswa dalam belajar pemrograman adalah pair programming. Pair programming dipandang efektif ketika diimplementasikan dalam pembelajaran. Penelitian ini bertujuan untuk mengkaji persepsi mahasiswa dalam penerapan pair programming pada pembelajaran. Penelitian ini menggunakan pendekatan kualitatif dengan metode studi kasus. Peneliti mengananlisis persepsi mahasiswa dalam implementasi pair programming dalam pembelajaran Penelitian ini dilaksanakan di Universitas Muhammadiyah Sidoarjo (UMSIDA) pada mahasiswa Program Studi Pendidikan Teknologi Informasi (PTI) yang sedang mengampu mata kuliah Pemrograman Dasar. Hasil yang didapat dari penelitian ini adalah mahasiswa menyukai bekerja berpasangan Bersama rekan dalam tugas pemrograman. Mahasiswa juga puas dalam hasil akhir tugas pemrograman yang telah mereka selesaikan dengan menggunakan metode pair programming. Seluruh mahasiswa merasa lebih mudah dalam mengerjakan tugas pemrograman. Selain itu mahasiswa merasa ingin menerapkan metode pair programming dalam tugas pemrograman kedepannya. Secara keseluruhan persepesi mahasiswa pada penerapan metode pair programming memiliki hasil positif. Berdasarkan kajian hasil penelitian ini, metode pair programming akan direkomendasikan untuk diterapkan pada mata kuliah pemrograman dasar.

    Recommender Systems and Scratch: An integrated approach for enhancing computer programming learning

    Get PDF
    Learning computer programming is a challenging process. Among the current approaches for overcoming this challenge, visual programming languages (VPLs), such as Scratch, have shown very promising results for beginners. Interestingly, some higher education institutions have started to use VPLs to introduce basic programming concepts, mainly in CS1 courses. However, an important issue regarding Scratchs usage in higher education environments is that students may feel unmotivated being confronted by programming exercises that do not fulfill their individual expectations. To try and overcome this barrier, we propose CARAMBA, a Scratch extension including an exercise recommender system. Based on features, such as taste and complexity, CARAMBA is able to personalize student learning with Scratch by suitably suggesting exercises for students. An in-depth evaluation was conducted about the effects of our proposal on both the learning of basic concepts of CS1 and the overall performance of students. We adopted an equivalent pretest-posttest design with 88 college students at an Ecuadorian university. Results confirm that recommending exercises in Scratch had a positive effect on students programming learning abilities in terms of pass rates. In totality, the pass rate achieved by our proposal was over 52%, which is 8% higher than the rate achieved during a previous experience using only Scratch (without recommendation) and 21% higher than the historical results of traditional teaching (without Scratch). Furthermore, we analyzed the degree of exploitation of CARAMBA by students to portray two facts: students actually used CARAMBA and there was a significant, positive correlation between the utilization of CARAMBA and the scores obtained by the students
    corecore