380 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
Castle and Stairs to Learn Iteration: Co-Designing a UMC Learning Module with Teachers
This experience report presents a participatory process that involved primary school teachers and computer science education researchers. The objective of the process was to co-design a learning module to teach iteration to second graders using a visual programming environment and based on the Use-Modify-Create methodology. The co-designed learning module was piloted with three second-grade classes. We experienced that sharing and reconciling the different perspectives of researchers and teachers was doubly effective. On the one hand, it improved the quality of the resulting learning module; on the other hand, it constituted a very significant professional development opportunity for both teachers and researchers. We describe the co-designed learning module, discuss the most significant hinges in the process that led to such a product, and reflect on the lessons learned
An information technology competency model and curriculum
This paper addresses the progress made by the Association for Computing Machinery (ACM) and the IEEE Computer Society (IEEE-CS) in developing a competency model and curricular guidelines for four-year degree programs in information technology. The authors are members of an international task group representative of academic institutions, industry, and professional organizations. The task group is to develop a competency model, called IT2017, for information technology education within two years based on earlier guidelines and other perspectives. This paper provides a brief background of the project, some activities undertaken, the progress made, and expectations for future developments. IT2017 seeks to produce a futuristic model of academic excellence so information technology graduates will be prepared for new technological challenges in a global economy
Supporting Collaboration in Introductory Programming Classes Taught in Hybrid Mode: A Participatory Design Study
Hybrid learning modalities, where learners can attend a course in-person or remotely, have gained particular significance in post-pandemic educational settings. In introductory programming courses, novices' learning behaviour in the collaborative context of classrooms differs in hybrid mode from that of a traditional setting. Reflections from conducting an introductory programming course in hybrid mode led us to recognise the need for re-designing programming tools to support students' collaborative learning practices. We conducted a participatory design study with nine students, directly engaging them in design to understand their interaction needs in hybrid pedagogical setups to enable effective collaboration during learning. Our findings first highlighted the difficulties that learners face in hybrid modes. The results then revealed learners' preferences for design functionalities to enable collective notions, communication, autonomy, and regulation. Based on our findings, we discuss design principles and implications to inform the future design of collaborative programming environments for hybrid modes
Dcc --help: Generating Context-Aware Compiler Error Explanations with Large Language Models
In the challenging field of introductory programming, high enrollments and
failure rates drive us to explore tools and systems to enhance student
outcomes, especially automated tools that scale to large cohorts. This paper
presents and evaluates the dcc --help tool, an integration of a Large Language
Model (LLM) into the Debugging C Compiler (DCC) to generate unique,
novice-focused explanations tailored to each error. dcc --help prompts an LLM
with contextual information of compile- and run-time error occurrences,
including the source code, error location and standard compiler error message.
The LLM is instructed to generate novice-focused, actionable error explanations
and guidance, designed to help students understand and resolve problems without
providing solutions. dcc --help was deployed to our CS1 and CS2 courses, with
2,565 students using the tool over 64,000 times in ten weeks. We analysed a
subset of these error/explanation pairs to evaluate their properties, including
conceptual correctness, relevancy, and overall quality. We found that the
LLM-generated explanations were conceptually accurate in 90% of compile-time
and 75% of run-time cases, but often disregarded the instruction not to provide
solutions in code. Our findings, observations and reflections following
deployment indicate that dcc-help provides novel opportunities for scaffolding
students' introduction to programming.Comment: 7 pages, 2 figures. Accepted in SIGCSE'2
Choosing Code Segments to Exclude from Code Similarity Detection
When student programs are compared for similarity as a step in the detection of academic misconduct, certain segments of code are always sure to be similar but are no cause for suspicion. Some of these segments are boilerplate code (e.g. public static void main String [] args) and some will be code that was provided to students as part of the assessment specification. This working group explores these and other types of code that are legitimately common in student assessments and can therefore be excluded from similarity checking. From their own institutions, working group members collected assessment submissions that together encompass a wide variety of assessment tasks in a wide variety of programming languages. The submissions were analysed to determine what sorts of code segment arose frequently in each assessment task. The group has found that common code can arise in programming assessment tasks when it is required for compilation purposes; when it reflects an intuitive way to undertake part or all of the task in question; when it can be legitimately copied from external sources; and when it has been suggested by people with whom many of the students have been in contact. A further finding is that the nature and size of the common code fragments vary with course level and with task complexity. An informal survey of programming educators confirms the group's findings and gives some reasons why various educators include code when setting programming assignments.Peer reviewe
Refocusing sustainability education: using studentsâ reflections on their carbon footprint to reinforce the importance of considering CO2 production in the construction industry
The construction industry is the most significant contributor to the UKâs CO2 emissions. It is responsible for an annual output of approximately 45% of the total. This figure highlights the role the industry must play in helping to achieve the UK Governmentâs CO2 reduction target. It is ergo incumbent on construction-related educators to emphasise this issue and explore ways in which it can be achieved. Unintentional desensitisation has resulted in the term âsustainabilityâ, particularly CO2 production, being seen by students as just another concept to be studied from a theoretical perspective. Many students fail to grasp its broader implications and how it should affect strategic environmental decisions about construction processes, technologies, and products. In an attempt to address this problem, an innovative learning, teaching, and assessment strategy was used with final year undergraduate construction students to improve their level of sustainability literacy. The theory of threshold concepts in the context of transformative learning was used as the baseline philosophy to the study. The approach involved asking students to calculate their carbon footprint and to reflect upon and extrapolate their findings to the construction industry and its practice. Content analysis was performed on the reflective commentaries acquired from student portfolios collected over four academic years. The results showed how the studentsâ reflections on their carbon footprints proved to be an enlightening experience. Terms such as âshocked by my footprintâ, âsurprised at the findingsâ, and âchange in attitudeâ were among the contemplative comments. When students linked their findings to the construction industry, phrases such as âwaste generationâ, âtechnologiesâ, and âmaterialsâ were some of the concepts considered. By using their personal experiences as a benchmark, students were able to gain a deeper level of understanding of the causes and consequences of CO2 production. They also found it more straightforward to relate these issues to the construction industry and its practice. Several novel recommendations are made to raise the level of sustainability literacy in the construction industry thereby facilitating a potential reduction in worldwide CO2 production
- âŠ