800 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

    Second level computer science: The Irish K-12 journey begins

    Get PDF
    This paper initially describes the introduction of a new computer science subject for the Irish leaving certificate course. This is comparable to US high school exit exams (AP computer science principals) or the UK A level computer science. In doing so the authors wish to raise international awareness of the new subject’s structure and content. Second, this paper presents the current work of the authors, consisting of early initiatives to try and give the new subject the highest chances of success. The initiatives consist of two facets: The first is the delivery of two-hour computing camps at second level schools (to address stereotypes and provide insight on what computer science really is), which was delivered to 2,943 students, in 95 schools between September 2017 and June 2018. Second, the authors followed this with teacher continual professional development (CPD) sessions, totalling 22, to just over 500 teachers. Early findings are presented, showing potentially concerning trends for gender diversity and CPD development. A call is then raised, to the international computer science education community for wisdom and suggestions that the community may have developed from prior experience. This is to obtain feedback and recommendations for the new subject and the authors’ current initiatives, to address early concerns and help develop the initiatives further

    PandionJ: a pedagogical debugger featuring illustrations of variable tracing and look-ahead

    Get PDF
    We present PandionJ, a pedagogical debugger for Java with innovative features regarding how the program state information is presented to users. We consider aspects that are either not available or not fully automated in existing debuggers (pedagogical or not), such as illustration of the history of variable values and look-ahead of their future state. Our approach relies on static analysis of code in order to infer variable roles, relationships, and behavior. This information is used to render illustrations of program state that existing debuggers are not capable of providing without requiring additional user input

    The Effect of Civic Knowledge and Attitudes on CS Student Work Preferences

    Full text link
    We present an investigation in the connection between computing students' civic knowledge, attitude, or self-efficacy and their willingness to work on civic technologies. Early results indicate that these factors are related to a willingness to accept government work in technology but not non-profit work focused on civic technologies

    What Skills Do You Need When Developing Software Using ChatGPT? (Discussion Paper)

    Full text link
    Since the release of LLM-based tools such as GitHub Copilot and ChatGPT the media and popular scientific literature, but also journals such as the Communications of the ACM, have been flooded with opinions how these tools will change programming. The opinions range from ``machines will program themselves'', to ``AI does not help programmers''. Of course, these statements are meant to to stir up a discussion, and should be taken with a grain of salt, but we argue that such unfounded statements are potentially harmful. Instead, we propose to investigate which skills are required to develop software using LLM-based tools. In this paper we report on an experiment in which we explore if Computational Thinking (CT) skills predict the ability to develop software using LLM-based tools. Our results show that the ability to develop software using LLM-based tools can indeed be predicted by the score on a CT assessment. There are many limitations to our experiment, and this paper is also a call to discuss how to approach, preferably experimentally, the question of which skills are required to develop software using LLM-based tools. We propose to rephrase this question to include by what kind of people/programmers, to develop what kind of software using what kind of LLM-based tools.Comment: 11 page

    Developing an Inclusive K-12 Outreach Model

    Get PDF
    This paper outlines the longitudinal development of a K-12 outreachmodel, to promote Computer Science in Ireland. Over a three-yearperiod, it has been piloted to just under 9700 K-12 students fromalmost every county in Ireland. The model consists of a two-hourcamp that introduces students to a range of Computer Sciencetopics: addressing computing perceptions, introduction to codingand exploration of computational thinking. The model incorporateson-site school delivery and is available at no cost to any interestedschool across Ireland. The pilot study so far collected over 3400surveys (pre- and post-outreach delivery).Schools from all over Ireland self-selected to participate, includ-ing male only, female only and mixed schools. The no-cost natureof the model meant schools deemed disadvantaged , to privatefee-paying schools participated. Initial findings are very positive,including the balance of male and female participants, where in the2017-18 academic year it was 56:44 and in 2019-20 (to date), it is35:65 respectively. Once the model is validated and tweaked (basedon survey data), the model will be published (open access) for otherinstitutions to implement the model locally. In addition, the authorsintend to link schools (that the team have worked with over thethree years) with local institutions, thus developing a sustainableecosystem for the program to continue. This paper describes themodel structure and outlines early finding

    Social Worked-Examples Technique to Enhance Student Engagement in Program Visualization

    Get PDF
    يعد تعلم البرمجة من بين أهم التحديات في تعليم علوم الكمبيوتر. حاليا، يتم استخدام تصوير البرامج ) PV ( كأداة للتغلب علىمعدلات الفشل والتسرب العالية في مادة اساسيات البرمجة. ومع ذلك، هناك مخاوف متزايدة بشأن فعالية أدوات تصوير البرامج الحالية استناداالى النتائج المختلطة المستمدة من الدراسات المختلفة. تعتبر مشاركة الطلاب أيضًا عاملاً حيويًا في بناء PV ناجحًا، كما تعد أيضًا جزءًا مهمًامن عملية التعلم بشكل عام. تم إدخال العديد من التقنيات لتعزيز المشاركة في أدوات تصوير البرامج؛ ومع ذلك، فإن مشاركة الطلاب في PVلا يزال يمثل تحديًا كبيراً. استخدمت هذه الورقة ثلاث نظريات مختلفة: البنيوية، والبناء الاجتماعي، والحمل المعرفي لاقتراح تقنية لتعزيزمشاركة الطلاب في استخدام أدوات تصوير البرامج. تعمل تقنية الأمثلة المكتملة الاجتماعية ) SWE ( على تحويل المثال المكتمل التقليدي إلىنشاط اجتماعي ، حيث يتم التركيز بشكل أكبر على دور التعاون في بناء معرفة الطلاب. حددت هذه الدراسة ثلاثة مبادئ يمكن أن تعززمشاركة الطلاب من خلال تقنية SWE : التعلم النشط والتعاون الاجتماعي والأنشطة ذاتس التحميل المنخفض.Learning programming is among the top challenges in computer science education. A part of that, program visualization (PV) is used as a tool to overcome the high failure and drop-out rates in an introductory programming course. Nevertheless, there are rising concerns about the effectiveness of the existing PV tools following the mixed results derived from various studies. Student engagement is also considered a vital factor in building a successful PV, while it is also an important part of the learning process in general. Several techniques have been introduced to enhance PV engagement; however, student engagement with PV is still challenging. This paper employed three theories—constructivism, social constructivism and cognitive load to propose a technique for enhancing student engagement with program visualisation. The social worked-examples (SWE) technique transforms the traditional worked-example into a social activity, whereby a greater focus is placed on the collaboration role in constructing students’ knowledge. This study identified three principles that could enhance student engagement through the SWE technique: active learning, social collaboration and low-load activity

    How Novices Use LLM-Based Code Generators to Solve CS1 Coding Tasks in a Self-Paced Learning Environment

    Full text link
    As Large Language Models (LLMs) gain in popularity, it is important to understand how novice programmers use them. We present a thematic analysis of 33 learners, aged 10-17, independently learning Python through 45 code-authoring tasks using Codex, an LLM-based code generator. We explore several questions related to how learners used these code generators and provide an analysis of the properties of the written prompts and the generated code. Specifically, we explore (A) the context in which learners use Codex, (B) what learners are asking from Codex, (C) properties of their prompts in terms of relation to task description, language, and clarity, and prompt crafting patterns, (D) the correctness, complexity, and accuracy of the AI-generated code, and (E) how learners utilize AI-generated code in terms of placement, verification, and manual modifications. Furthermore, our analysis reveals four distinct coding approaches when writing code with an AI code generator: AI Single Prompt, where learners prompted Codex once to generate the entire solution to a task; AI Step-by-Step, where learners divided the problem into parts and used Codex to generate each part; Hybrid, where learners wrote some of the code themselves and used Codex to generate others; and Manual coding, where learners wrote the code themselves. The AI Single Prompt approach resulted in the highest correctness scores on code-authoring tasks, but the lowest correctness scores on subsequent code-modification tasks during training. Our results provide initial insight into how novice learners use AI code generators and the challenges and opportunities associated with integrating them into self-paced learning environments. We conclude with various signs of over-reliance and self-regulation, as well as opportunities for curriculum and tool development.Comment: 12 pages, Peer-Reviewed, Accepted for publication in the proceedings of the 2023 ACM Koli Calling International Conference on Computing Education Researc

    A Systematic Mapping Study of Code Quality in Education -- with Complete Bibliography

    Full text link
    While functionality and correctness of code has traditionally been the main focus of computing educators, quality aspects of code are getting increasingly more attention. High-quality code contributes to the maintainability of software systems, and should therefore be a central aspect of computing education. We have conducted a systematic mapping study to give a broad overview of the research conducted in the field of code quality in an educational context. The study investigates paper characteristics, topics, research methods, and the targeted programming languages. We found 195 publications (1976-2022) on the topic in multiple databases, which we systematically coded to answer the research questions. This paper reports on the results and identifies developments, trends, and new opportunities for research in the field of code quality in computing education
    corecore