800 research outputs found
Introductory programming: a systematic literature review
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
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
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
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)
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
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
يعد تعلم البرمجة من بين أهم التحديات في تعليم علوم الكمبيوتر. حاليا، يتم استخدام تصوير البرامج ) 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
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
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
- …