103 research outputs found

    Hacking the Non-Technical Brain: Maximizing Retention in a Core Introductory IT Course

    Get PDF
    Maximizing student retention of, and ability to apply, technical material in introductory information technology courses is a complex task, especially with respect to the general student population. This population struggles with the application of programming concepts in the time-constrained testing environment. Our study considers the implementation of daily quizzes in a core-curriculum information technology and programming course as a means to improve student concept retention and application. Between the first and second exams, the instructors implemented a series of high-frequency, no-risk quizzes. Of the four sections of the course that each instructor taught, two sections each were provided with the quizzes as the experimental group and two remained with the standard curriculum as the control. The results demonstrate the benefits of frequent, effortful recall on student performance in a core-curriculum information technology and programming course

    Adaptive Scaffolding in Block-Based Programming via Synthesizing New Tasks as Pop Quizzes

    Full text link
    Block-based programming environments are increasingly used to introduce computing concepts to beginners. However, novice students often struggle in these environments, given the conceptual and open-ended nature of programming tasks. To effectively support a student struggling to solve a given task, it is important to provide adaptive scaffolding that guides the student towards a solution. We introduce a scaffolding framework based on pop quizzes presented as multi-choice programming tasks. To automatically generate these pop quizzes, we propose a novel algorithm, PQuizSyn. More formally, given a reference task with a solution code and the student's current attempt, PQuizSyn synthesizes new tasks for pop quizzes with the following features: (a) Adaptive (i.e., individualized to the student's current attempt), (b) Comprehensible (i.e., easy to comprehend and solve), and (c) Concealing (i.e., do not reveal the solution code). Our algorithm synthesizes these tasks using techniques based on symbolic reasoning and graph-based code representations. We show that our algorithm can generate hundreds of pop quizzes for different student attempts on reference tasks from Hour of Code: Maze Challenge and Karel. We assess the quality of these pop quizzes through expert ratings using an evaluation rubric. Further, we have built an online platform for practicing block-based programming tasks empowered via pop quiz based feedback, and report results from an initial user study.Comment: Preprint. Accepted as a paper at the AIED'22 conferenc

    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

    Implications for the Design of Tutorial Systems for Teaching Program Comprehension: An Empirical User Study

    Get PDF
    This paper reports the results of an observational user study of a tutorial system for learning to comprehend Java programs. The study involved 9 undergraduate college students enrolled in introductory programming courses. For the study, we built a new system, Coding Companion, with a design generally representative of prior educational systems for learning program comprehension, but that incorporates several novel design decisions for addressing information overload and split-attention effect. Key ?ndings include the following. Participant feedback and usage data suggest that the system was generally helpful for learning and that the lesson interface was engaging and not overly confusing. All nine participants were strongly positive about quizzes provided by the system, and many found answer explanations helpful, even when they had answered the question correctly. Participant comments revealed a tension between information overload caused by long, complex program traces and the importance of completely explaining the traces, especially for beginners

    The Effectiveness of Codesters in Teaching Basic Computer Science Topics

    Get PDF
    Founded in 2014, Codesters is a visual programming environment (VPE) like the popular Scratch and Alice. Its goal is to teach middle school and older student’s computer programming. Unlike its predecessors, users of Codesters drag and drop actual Python code instead of blocks and can edit the code themselves. Codesters has also developed modules that integrate coding lessons into the VPE. In this study, we consider the Codesters Python 1 module and investigate its effectiveness in teaching the basic coding concepts of variables, loops and conditionals. During Fall 2018 and Spring 2019, we ran a coding class for eighth graders at a local Milwaukee school based on this module. We gave a pre-test, three quizzes and a post-test to evaluate what the students have learned. We then analyzed the results of these evaluations and compared them to those taken by students who learned programming in a traditional CS1 class. Our results indicate that users of Codesters understood loops and conditionals as well as the students from the traditional CS1 class. We also found that the pre-test was a poor indicator of students’ performance in the coding class suggesting that Codesters is able to engage students who might not necessarily excel in a traditional classroom

    Factors Affecting the Adoption of Peer Instruction in Computing Courses

    Get PDF
    Peer Instruction (PI) as defined by Mazur, and variations on this pedagogic technique, have been in use in computing courses for about a decade. Despite dozens of educational research publications documenting positive learning effects, improved retention, student acceptance, and effectiveness for large classes; PI does not appear to be widely adopted for computing courses. This paper reports on a three-way investigation into this apparent contradiction. First, the authors reflect on their own adoption, practice, experience, and abandonment of the use of PI in computing courses. Second, we surveyed the literature regarding the use of PI in computing courses and present a summary of the research findings, variations, and extensions to PI used in computing courses. Third, a survey of computing instructors was conducted to gauge the attitude toward PI in computing courses. To add context, this report considers publications documenting usage of PI in STEM courses, and the adoption of other pedagogic techniques in computing. Particular effort was made to identify the reasons computing instructors don’t adopt PI. This report also includes advice to instructors considering adopting PI in computing courses

    Exploring the universal design principles of a Flipped Classroom Model for Inquiry-Based Learning in Cyprus primary education context:A Multiple Case Study

    Get PDF
    Background In this thesis, a multi-case study will be presented to address an important gap in current literature concerning universal design principles (UDPs) for an effective implementation of a Flipped Classroom (FC) model for Inquiry-Based Learning (IBL), called the IB-FC model. Currently, there has been limited research focusing on the implementation of any FC model within the primary education context despite its potential benefits, such as developing higher order cognitive skills. Method used The study is a collaborative research project, during which the research, in collaboration with five primary school teacher participants, explored the effective ways of universal implementation of the initial IB-FC model developed, in five different primary schools in Cyprus. The model was implemented for a school year (2017-18), involving 5 teachers, 77 students and 48 of their parents. Qualitative data has been selected mainly through classroom observations and interviews. Key results Data analysis has focused on teachers’, students’ and parents’ experiences and perceptions on the IB-FC implementation which aimed to revise the initial instructional tools, lesson template and framework given to the teachers for designing their lessons. This in turn led to the extraction of seven UDPs: structure and flexibility, simplicity and accessibility, interconnectivity and community, differentiation and personalization, development and progression, motivation and engagement and assessment and evaluation. Conclusion The final IB-FC framework proposed in the findings illustrates how the seven UDPs for IB-FC implementation are connected to the ten instructional IB-FC tools developed for further supporting IB-FC implementation. In summary, this study has clearly demonstrated that the FC methodology can be effectively implemented in primary education settings. The final IB-FC framework contributes to the slow growing body of research on FC and IBL practice, theory building and policy in primary education

    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

    Persistoivan kognitiivisen dissonanssin ja ensimmäisen ohjelmointikurssin keskeytysmäärien vähentäminen käyttäen visuaalista debuggausassistenttia

    Get PDF
    Constructivism provides an excellent learning model but its methods are associated with high cognitive load, which is further increased by the inherent cognitive complexity of introductory computing courses (CS1). On the other hand, the introductory nature of CS1 means high variation in existing skills. This variation combined with external limitations and poor metacognitive skills can lead to unresolved conflicts and persisting cognitive dissonance. Persisting cognitive dissonance harmfully interacts with high cognitive load by further taxing working memory, preventing conflict resolution and leading into a vicious circle of accumulating cognitive dissonance. This work identifies three harmful interactions through which persisting dissonance damages learning in CS1 and further escalates the dissonance: resource depletion, excessive cognitive load and avoidance failure. The resulting accumulation of dissonance is destructive and inevitably leads to avoidance behavior that can culminate in the abandonment of the studies. Fortunately cognitive dissonance can be reduced by several techniques including positive framing and improving metacognitive skills. To demonstrate that many of these measures could be mediated by supporting scaffolds in the learning environment, this work proposes a prototype scaffold Eclipse DAPS (Debugging Assistant for Programming Students using Eclipse Python). DAPS provides assistance in debugging, one of the most difficult tasks a novice programmer must face. DAPS is a proof of concept intelligent tutoring system for teaching CS1 Python and aims to maintain student motivation by providing visualizations, metacognitive support and an integrated debugger. In addition, memorization techniques and easy repetition are used to improve knowledge encoding.Konstruktivismi tarjoaa erinomaisen oppimismallin, mutta sen metodit liitetään korkeaan kognitiiviseen taakkaan, jota lisää myös ohjelmoinnin alkeiskurssien korkea kognitiivinen monimutkaisuus. Toisaalta ohjelmoinnin alkeiskursseilla opiskelijoiden taidot vaihtelevat huomattavasti. Yhdistettynä sopeutumisrajoituksiin ja heikkoihin metakognitiivisiin taitoihin tämä variaatio voi johtaa sevittämättömiin konflikteihin ja siten myös persistoivaan kognitiiviseen dissonanssiin. Persistoiva kognitiivinen dissonanssi vuorovaikuttaa vahingollisesti kognitiivisen taakan kanssa kuluttamalla työmuistia ja estäen konfliktien ratkaisua ja johtaa lisääntyvän dissonanssin noidankehään. Tämä työ tunnistaa kolme vahingollista vuorovaikutusta, joiden kautta persistoiva dissonanssi heikentää aloittelevien ohjelmoijien oppimista ja edelleen lisää heidän dissonanssiaan: resurssien loppuminen, liiallinen kognitiivinen taakka ja välttämisen epäonnistuminen. Lopputuloksena syntyvä dissonanssin kertyminen on tuhoisaa ja johtaa väistämättä välttämiskäyttäytymiseen, joka voi huipentua kurssin keskeyttämiseen. Onneksi kognitiivista dissonanssia voidaan vähentää useilla tekniikoilla mukaan lukien positiivinen kehystäminen ja metakognitiivisten taitojen kehittäminen. DAPS (Debugging Assistant for Programming Students, debuggausassistentti ohjelmoinnin opiskelijoille) on älykkään opastusjärjestelmän prototyyppi, joka pyrkii tarjoamaan demonstraation kyseisten tekniikoiden ohjelmallisesta implementaatiosta. DAPS auttaa aloittelevia ohjelmoijia Python-kielisten ohjelmien debuggauksessa ja ylläpitää motivaatiota visualisaatioilla ja metakognitiivisella tuella. Lisäksi muistinnustekniikoita ja helppoa toistoa käytetään tehostamaan informaation muistiin koodamista
    • …
    corecore