52 research outputs found

    Factors Affecting the Adoption of Peer Instruction in Computing Courses

    Get PDF
    Peer Instruction (PI) as defined by Mazur, and variations on this pedagogic technique, have been in use in computing courses for about a decade. Despite dozens of educational research publications documenting positive learning effects, improved retention, student acceptance, and effectiveness for large classes; PI does not appear to be widely adopted for computing courses. This paper reports on a three-way investigation into this apparent contradiction. First, the authors reflect on their own adoption, practice, experience, and abandonment of the use of PI in computing courses. Second, we surveyed the literature regarding the use of PI in computing courses and present a summary of the research findings, variations, and extensions to PI used in computing courses. Third, a survey of computing instructors was conducted to gauge the attitude toward PI in computing courses. To add context, this report considers publications documenting usage of PI in STEM courses, and the adoption of other pedagogic techniques in computing. Particular effort was made to identify the reasons computing instructors don’t adopt PI. This report also includes advice to instructors considering adopting PI in computing courses

    A Systematic Review of Formative Assessment to Support Students Learning Computer Programming

    Get PDF
    Formative assessment aims to increase student understanding, instructor instruction, and learning by providing feedback on students\u27 progress. The goal of this systematic review is to discover trends on formative assessment techniques used to support computer programming learners by synthesizing literature published between 2013 and 2023. 17 articles that were peer-reviewed and published in journals were examined from the initial search of 197 studies. According to the findings, all the studies were conducted at the higher education level and only a small number at the secondary school level. Overall, most studies found that motivation, scaffolding, and engagement were the three main goals of feedback, with less research finding that metacognitive goals were the intended outcomes. The two techniques for facilitating formative feedback that were used most frequently were compiler or testing based error messages and customised error messages. The importance of formative feedback is highlighted in the reviewed articles, supporting the contention that assessments used in programming courses should place a heavy emphasis on motivating students to increase their level of proficiency. This study also suggests a formative assessment that employs an adaptive strategy to evaluate the ability level of the novice students and motivate them to learn programming to acquire the necessary knowledge

    Does Creating Programming Assignments with Tests Lead to Improved Performance in Writing Unit Tests?

    Get PDF
    We have constructed a tool, CrowdSorcerer, in which students create programming assignments, their model solutions and associated test cases using a simple input-output format. We have used the tool as a part of an introductory programming course with normal course activities such as programming assignments and a final exam. In our work, we focus on whether creating programming assignments and associated tests correlate with students' performance in a testing-related exam question. We study this through an analysis of the quality of student-written tests within the tool, measured using the number of test cases, line coverage and mutation coverage, and students' performance in testing related exam question, measured using exam points. Finally, we study whether previous programming experience correlates with how students act within the tool and within the testing related exam question.Peer reviewe

    Introducing High School Students to Version Control, Continuous Integration, and Quality Assurance

    Full text link
    Software Engineering concepts such as version control, continuous integration, and unit testing are often not presented in college computer science curriculums until the third year of study, after completing several semesters of programming courses. Throughout the summer of 2023, two high school students volunteered in our lab at Wayne State University where I'm a graduate research assistant and Ph.D. student in computer science. The students had taken AP Computer Science but had no prior experience with software engineering or software testing. This paper documents our experience devising a group project to teach the requisite software engineering skills to implement automated tests that meaningfully contribute to open-source scientific computing projects developed in connection with our lab. We describe the concepts covered, tools used, and software tests written in this early introduction to software engineering while maintaining shared emphases on education and the deployment of our work.Comment: 6 pages, 3 figure

    From a National Meeting to an International Conference: A Scientometric Case Study of a Finnish Computing Education Conference

    Get PDF
    Computerisation and digitalisation are shaping the world in fundamental and unpredictable ways, which highlights the importance of computing education research (CER). As part of understanding the roots of CER, it is crucial to investigate the evolution of CER as a research discipline. In this paper we present a case study of a Finnish CER conference called Koli Calling, which was launched in 2001, and which has become a central publication venue of CER. We use data from 2001 to 2020, and investigate the evolution of Koli Calling’s scholarly communities and zoom in on it’s publication habits and internalisation process. We explore the narrative of the development and scholarly agenda behind changes in the conference submission categories from the perspective of some of the conference chairs over the years. We then take a qualitative perspective, analysing the conference publications based on a comprehensive bibliometric analysis. The outcomes include classification of important research clusters of authors in the community of conference contributors. Interestingly, we find traces of important events in the historical development of CER. In particular, we find clusters emerging from specific research capacity building initiatives and we can trace how these connect research spanning the world CER community from Finland to Sweden and then further to the USA, Australia and New Zealand. This paper makes a strategic contribution to the evolution of CER as a research discipline, from the perspective of one central event and publication venue, providing a broad perspective on the role of the conference in connecting research clusters and establishing an international research community. This work contributes insights to researchers in one specific CER community and how they shape the future of computing education.</p

    Separating Algorithmic Thinking and Programming

    Get PDF
    We show how the first steps of algorithmic thinking and programming can be trained separately. The learner is not assumed to have any prior experience. A general framework and a sequence of training tasks is described and tested in practice with two 10th graders. Both were able to write relatively complex programs using only pen & paper within two days. To train algorithmic thinking, computational problems are presented as games to the learner. Roughly speaking, a winning strategy corresponds to an algorithm which solves the problem. Thus, if the learner consistently wins the game for various instances then this indicates that they have found an algorithm. We describe a general mechanism to translate a computational problem into such a game. For the programming part, the learner is shown how a program can be constructed from traces. Programs are specified in a language which depends on the underlying model of computation (think of Turing machines, pushdown automata or instruction set architectures); such a model can be seen as a notional machine. The language itself is very simple yet broadly applicable due to the generality of our definition of model of computation

    Separating Algorithmic Thinking and Programming

    Get PDF
    We describe an approach to teaching algorithmic thinking and programming and the first experiences that we made with it in practice. The idea is to present computational problems as a certain kind of game that the learner can play in order for them to develop a concrete idea of what constitutes an algorithm. The purpose of this is to emphasize that one can think of algorithms independently of a particular programming language. For the programming part a mini language called machine programs and a method to construct such programs from traces is described

    Computing Education Research Compiled: Keyword Trends, Building Blocks, Creators, and Dissemination

    Get PDF
    The need for organized computing education efforts dates back to the 1950s. Since then, computing education research (CER) has evolved and matured from its early initiatives and separation from mathematics education into a respectable research specialization of its own. In recent years, a number of meta-research papers, reviews, and scientometric studies have built overviews of CER from various perspectives. This paper continues that approach by offering new perspectives on the past and present state of CER: analyses of influential papers throughout the years, of the theoretical backgrounds of CER, of the institutions and authors who create CER, and finally of the top publication venues and their citation practices. The results reveal influential contributions from early curriculum guidelines to rigorous empirical research of today, the prominence of computer programming as a topic of research, evolving patterns of learning-theory usage, the dominance of high-income countries and a cluster of 52 elite institutions, and issues regarding citation practices within the central venues of dissemination.</p

    Fifty years of the Psychology of Programming

    Get PDF
    This paper reflects on the evolution (past, present and future) of the ‘psychology of programming' over the 50 year period of this anniversary issue. The International Journal of Human-Computer Studies (IJHCS) has been a key venue for much seminal work in this field, including its first foundations, and we review the changing research concerns seen in publications over these five decades. We relate this thematic evolution to research taking place over the same period within more specialist communities, especially the Psychology of Programming Interest Group (PPIG), the Empirical Studies of Programming series (ESP), and the ongoing community in Visual Languages and Human-Centric Computing (VL/HCC). Many other communities have interacted with psychology of programming, both influenced by research published within the specialist groups, and in turn influencing research priorities. We end with an overview of the core theories that have been developed over this period, as an introductory resource for new researchers, and also with the authors’ own analysis of key priorities for future research

    Mapping the landscape: Peer review in computing education research

    Get PDF
    Peer review is a mainstay of academic publication – indeed, it is the peer-review process that provides much of the publications’ credibility. As the number of computing education conferences and the number of submissions increase, the need for reviewers grows. This report does not attempt to set standards for reviewing; rather, as a first step toward meeting the need for well qualified reviewers, it presents an overview of the ways peer review is used in various venues, both inside computing education and, for com- parison, in closely-related areas outside our field. It considers four key components of peer review in some depth: criteria, the review process, roles and responsibilities, and ethics and etiquette. To do so, it draws on relevant literature, guidance and forms associated with peer review, interviews with journal editors and conference chairs, and a limited survey of the computing education research community. In addition to providing an overview of practice, this report identifies a number of themes running through the discourse that have relevance for decision making about how best to conduct peer review for a given venue
    • …
    corecore