1,559 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

    ACM Curriculum Reports: A Pedagogic Perspective

    Get PDF
    In this paper, we illuminate themes that emerged in interviews with participants in the major curriculum recommendation efforts: we characterize the way the computing community interacts with and influences these reports and introduce the term “pedagogic projection” to describe implicit assumptions of how these reports will be used in practice. We then illuminate how this perceived use has changed over time and may affect future reports

    A music context for teaching introductory computing

    Get PDF
    We describe myro.chuck, a Python module for controlling music synthesis, and its applications to teaching introductory computer science. The module was built within the Myro framework using the ChucK programming language, and was used in an introductory computer science course combining robots, graphics and music. The results supported the value of music in engaging students and broadening their view of computer science

    Comparing importance of knowledge and professional skill areas for engineering programming utilizing a two group Delphi survey

    Get PDF
    All engineering careers require some level of programming proficiency. However, beginning programming classes are challenging for many students. Difficulties have been well-documented and contribute to high drop-out rates which prevent students from pursuing engineering. While many approaches have been tried to improve the performance of students and reduce the dropout rate, continued work is needed. This research seeks to re-examine what items are critical for programming education and how those might inform what is taught in introductory programming classes (CS1). Following trends coming from accreditation and academic boards on the importance of professional skills, we desire to rank knowledge and professional skill areas in one list. While programming curricula focus almost exclusively on knowledge areas, integrating critical professional skill areas could provide students with a better high-level understanding of what engineering encompasses. Enhancing the current knowledge centric syllabi with critical professional skills should allow students to have better visibility into what an engineering job might be like at the earliest classes in the engineering degree. To define our list of important professional skills, we use a two-group, three-round Delphi survey to build consensus ranked lists of knowledge and professional skill areas from industry and academic experts. Performing a gap analysis between the expert groups shows that industry experts focus more on professional skills then their academic counterparts. We use this resulting list to recommend ways to further integrate professional skills into engineering programming curriculum

    Early Developmental Activities and Computing Proficiency

    Get PDF
    As countries adopt computing education for all pupils from primary school upwards, there are challenging indicators: significant proportions of students who choose to study computing at universities fail the introductory courses, and the evidence for links between formal education outcomes and success in CS is limited. Yet, as we know, some students succeed without prior computing experience. Why is this? <br/><br/> Some argue for an innate ability, some for motivation, some for the discrepancies between the expectations of instructors and students, and some – simply – for how programming is being taught. All agree that becoming proficient in computing is not easy. Our research takes a novel view on the problem and argues that some of that success is influenced by early childhood experiences outside formal education. <br/><br/> In this study, we analyzed over 1300 responses to a multi-institutional and multi-national survey that we developed. The survey captures enjoyment of early developmental activities such as childhood toys, games and pastimes between the ages 0 — 8 as well as later life experiences with computing. We identify unifying features of the computing experiences in later life, and attempt to link these computing experiences to the childhood activities. <br/><br/> The analysis indicates that computing proficiency should be seen from multiple viewpoints, including both skill-level and confidence. It shows that particular early childhood experiences are linked to parts of computing proficiency, namely those related to confidence with problem solving using computing technology. These are essential building blocks for more complex use. We recognize issues in the experimental design that may prevent our data showing a link between early activities and more complex computing skills, and suggest adjustments. Ultimately, it is hoped that this line of research will feed in to early years and primary education, and thereby improve computing education for all

    Emergent requirements for supporting introductory programming

    Get PDF
    The problems associated with learning and teaching first year University Computer Science (CS1) programming classes are summarized showing that various support tools and techniques have been developed and evaluated. From this review of applicable support the paper derives ten requirements that a support tool should have in order to improve CS1 student success rate with respect to learning and understanding
    • …
    corecore