4,789 research outputs found

    Exploring challenging variations of parsons problems

    Get PDF
    Introductory programming classes teach students to program using worked examples, code tracing, and code writing exercises. Parsons Problems are an educational innovation in which students unscramble provided lines of code, as a step towards bridging the gap between reading and writing code. Though Parsons Problems have been found effective, there is some evidence that students can use syntactic heuristics to help them solve these problems without fully understanding the solution. To address this limitation, we introduce Faded Parsons Problems, a variation of Parsons Problems where parts of the provided code are incomplete. We explore a specific instantiation of this idea, Blank-Variable Parsons Problems, in which all variable names are blanked out. Unlike another Parsons Problem variation-adding distractor code lines-Blank-Variable Parsons can be automatically created from a solution without additional effort from an instructor. A 75 minute pilot study with CS1 students indicates that solving standard Parsons Problems does not lead to short-term near-transfer in code writing, suggesting a need for problems with less scaffolding. Additionally, students self-report Blank-Variable Parsons as fitting in difficulty between Parsons Problems and code writing, suggesting Blank-Variable Parsons may be one opportunity to fill this gap

    Fostering Program Comprehension in Novice Programmers - Learning Activities and Learning Trajectories

    Get PDF
    This working group asserts that Program Comprehension (ProgComp) plays a critical part in the process of writing programs. For example, this paper is written from a basic draft that was edited and revised until it clearly presented our idea. Similarly, a program is written incrementally, with each step tested, debugged and extended until the program achieves its goal. Novice programmers should develop program comprehension skills as they learn to code so that they are able both to read and reason about code created by others, and to reflect on their code when writing, debugging or extending it. To foster such competencies our group identified two main goals: (g1) to collect and define learning activities that explicitly address key components of program comprehension and (g2) to define tentative theoretical learning trajectories that will guide teachers as they select and sequence those learning activities in their CS0/CS1/CS2 or K-12 courses. The WG has completed the first goal and laid down a strong foundation towards the second goal as presented in this report. After a thorough literature review, a detailed description of the Block Model is provided, as this model has been used with a dual purpose, to classify and present an extensive list of ProgComp tasks, and to describe a possible learning trajectory for a complex task, covering different cells of the Block Model matrix. The latter is intended to help instructors to decompose complex tasks and identify which aspects of ProgComp are being fostered

    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

    Conducting Multi-Institutional Studies of Parsons Problems

    Get PDF
    Many novice programmers struggle to write code from scratch and get frustrated when their code does not work. Parsons problems can reduce the difficulty of a coding problem by providing mixed-up blocks that the learner assembles in the correct order. Parsons problems can also include distractor blocks that are not needed in a correct solution, but which may help students learn to recognize and fix errors. Evidence indicates that students find Parsons problems engaging, easier than writing code from scratch, useful for learning patterns, and typically faster to solve than writing code from scratch with equivalent learning gains. This working group leverages the work of the 2022 ITiCSE working group which published an extensive literature review of Parsons problems and designed and piloted several studies based on the gaps identified by the literature review. The 2023 working group is revising, conducting, and creating new studies. We will analyze the data from these multi-institutional and multi-national studies and publish the results as well as recommendations for future working groups

    Proof Blocks: Autogradeable Scaffolding Activities for Learning to Write Proofs

    Full text link
    Proof Blocks is a software tool which enables students to write proofs by dragging and dropping prewritten proof lines into the correct order. These proofs can be graded completely automatically, enabling students to receive rapid feedback on how they are doing with their proofs. When constructing a problem, the instructor specifies the dependency graph of the lines of the proof, so that any correct arrangement of the lines can receive full credit. This innovation can improve assessment tools by increasing the types of questions we can ask students about proofs, and can give greater access to proof knowledge by increasing the amount that students can learn on their own with the help of a computer

    ScaffoldSQL: Using Parson’s Problems to Support Database Pedagogy

    Get PDF
    This paper examines ScaffoldSQL, an interactive tool for helping students learn SQL through a system of interactive scaffolded exercises using Parson’s problems. In the system, students are posed with a problem to solve using SQL. They start by attempting to answer the question using free-form text. If they get the problem wrong, they can use a Parson’s problem interface to simplify the problem. After completing the problem, students are given one of two “secret words,” which allows instructors to track student progress without the need to install anything beyond their typical LMS. The system is designed to help instructors of flipped classrooms identify students who are struggling early, while simultaneously providing immediate feedback for students as they are learning. The system also provides tools for content creation and data gathering for research and development purposes

    The development of design guidelines for educational programming environments

    Get PDF
    Introductory programming courses at university are currently experiencing a significant dropout and failure rate. Whilst several reasons have been attributed to these numbers by researchers, such as cognitive factors and aptitude, it is still unclear why programming is a natural skill for some students and a cause of struggle for others. Most of the research in the computer science literature suggests that methods of teaching programming and students’ learning styles as reasons behind this trend. In addition to the choice of the first programming language taught. With the popularity of virtual learning environments and online courses, several instructors are incorporating these e-learning tools in their lectures in an attempt to increase engagement and achievement. However, many of these strategies fail as they do not use effective teaching practices or recognise the learning preferences exhibited by a diverse student population. Therefore this research proposes that combining multiple teaching methods to accommodate different learners' preferences will significantly improve performance in programming. To test the hypothesis, an interactive web based learning tool to teach Python programming language (PILeT) was developed. The tool’s novel contribution is that it offers a combination of pedagogical methods to support student’s learning style based on the Felder-Silverman model. First, PILeT was evaluated by both expert and representative users to detect any usability or interface design issues that might interfere with students’ learning. Once the problems were detected and fixed, PILeT was evaluated again to measure the learning outcomes that resulted from its use. The experimental results show that PILeT has a positive impact on students learning programming

    Programmeringsoppgaver og auto-scoring: Inspera vs. andre løsninger

    Get PDF
    Retting av store antall eksamensbesvarelser i programmeringsfag innen stramme sensurfrister er krevende. Selv om oppgavetypen «Programmering» i Inspera gir klare fordeler framfor håndskrevet kode, er den manuelt rettet. I 2021 lanserte Inspera en ny oppgavetype, «Kompilering», hvor poeng kunne gis automatisk basert på testsuiter. Dessverre var oppgavetypen beheftet med en del problemer, og den er nå trukket tilbake for videreutvikling, dermed ikke lenger tilgjengelig for bruk i eksamen. Denne artikkelen beskriver våre erfaringer med oppgavetypen «Kompilering» og diskuterer hvilke behov for forbedringer som ville være ønskelig for at bruk av denne skulle kunne bli vellykket - særlig for eksamen, men også potensielt for bruk under formativ vurdering underveis i semesteret. Det gjøres en sammenligning med andre systemers implementasjon av lignende oppgavetyper, f.eks. Moodle CodeRunner, basert på praktisk utprøving og litteraturstudium av erfaringer med bruk i andre land. Artikkelen diskuterer også i hvilken grad karaktersetting kan basere seg fullt ut på automatisk poenggivning av kode, eller hvorvidt man fortsatt vil trenge manuell gjennomgang, for eksempel for å kunne gi noe poeng til studenter som har kode som ikke fungerer, men hvor løsningen likevel inneholder mye riktig tankegang

    Debugging: The Key to Unlocking the Mind of a Novice Programmer?

    Get PDF
    Novice programmers must master two skills to show lasting success: writing code and, when that fails, the ability to debug it. Instructors spend much time teaching the details of writing code but debugging gets significantly less attention. But what if teaching debugging could implicitly teach other aspects of coding better than teaching a language teaching debugging? This paper explores a new theoretical framework, the Theory of Applied Mind for Programming (TAMP), which merges dual process theory with Jerome Bruner’s theory of representations to model the mind of a programmer. TAMP looks to provide greater explanatory power in why novices struggle and suggest pedagogy to bridge gaps in learning. This paper will provide an example of this by reinterpreting debugging literature using TAMP as a theoretical guide. Incorporating new view theoretical viewpoints from old studies suggests a “debugging-first” pedagogy can supplement existing methods of teaching programming and perhaps fill some of the mental gaps TAMP suggests hamper novice programmers

    Characterizing lab instructors' self-reported learning goals to inform development of an experimental modeling skills assessment

    Full text link
    The ability to develop, use, and refine models of experimental systems is a nationally recognized learning outcome for undergraduate physics lab courses. However, no assessments of students' model-based reasoning exist for upper-division labs. This study is the first step toward development of modeling assessments for optics and electronics labs. In order to identify test objectives that are likely relevant across many institutional contexts, we interviewed 35 lab instructors about the ways they incorporate modeling in their course learning goals and activities. The study design was informed by the Modeling Framework for Experimental Physics. This framework conceptualizes modeling as consisting of multiple subtasks: making measurements, constructing system models, comparing data to predictions, proposing causes for discrepancies, and enacting revisions to models or apparatus. We found that each modeling subtask was identified by multiple instructors as an important learning outcome for their course. Based on these results, we argue that test objectives should include probing students' competence with most modeling subtasks, and test items should be designed to elicit students' justifications for choosing particular modeling pathways. In addition to discussing these and other implications for assessment, we also identify future areas of research related to the role of modeling in optics and electronics labs.Comment: 24 pages, 2 figures, 5 tables; submitted to Phys. Rev. PE
    corecore