6 research outputs found

    Evaluating neural networks as a method for identifying students in need of assistance

    Full text link
    © 2017 ACM. Course instructors need to be able to identify students in need of assistance as early in the course as possible. Recent work has suggested that machine learning approaches applied to snapshots of small programming exercises may be an effective solution to this problem. However, these results have been obtained using data from a single institution, and prior work using features extracted from student code has been highly sensitive to differences in context. This work provides two contributions: first, a partial reproduction of previously published results, but in a different context, and second, an exploration of the efficacy of neural networks in solving this problem. Our findings confirm the importance of two features (the number of steps required to solve a problem and the correctness of key problems), indicate that machine learning techniques are relatively stable across contexts (both across terms in a single course and across courses), and suggest that neural network based approaches are as effective as the best Bayesian and decision tree methods. Furthermore, neural networks can be tuned to be reliably pessimistic, so they may serve a complementary role in solving the problem of identifying students who need assistance

    Uso de una herramienta de corrección automática en un curso de programación: Una experiencia docente

    Get PDF
    Ser capaz de programar se ha convertido en una competencia necesaria en un número importante de profesiones. Como consecuencia ha aumentado la demanda de cursos de programación en todos los niveles de enseñanza. Estos cursos suponen un desafío para los profesores involucrados ya que muchos estudiantes encuentran bastantes dificultades cuando empiezan a programar. Esto provoca un alto nivel de abandono en estas asignaturas. Para los profesores encargados de estas asignaturas suponen una alta carga de trabajo ya que deben corregir un gran número de ejercicios de programación. Las herramientas de corrección automática son una solución para estos problemas. Por un lado, los estudiantes disponen de una retroalimentación inmediata de su trabajo. Esto facilita el aprendizaje y aumenta su motivación. Por otro lado, la carga docente del profesor disminuye en gran medida. En este estudio describimos el proceso de implantación de una herramienta de corrección automática - CodeRunner - en un curso de programación. Los resultados han sido bastante buenos: ha aumentado la participación y ha bajado significativamente la tasa de abandono de la asignatura. Además, los estudiantes expresan una alta satisfacción con el uso de esta herramienta.A growing number of scientific and technological professions require the use of basic programming skills. In response to this need, educational institutions have begun to offer programming courses at all education levels. These courses pose a challenge for the teachers involved. Many students find learning to program difficult and the failure rates tend to be high. Additionally, these courses place significant demands on the instructors’ time as they must assess many programming exercises. Automatic assessment tools offer a solution to these problems. On one hand, students using these tools have immediate feedback on their work. This facilitates learning and increases their motivation. On the other hand, teachers devote less time to assess programming exercises, time that can be used in other teaching tasks. In this study we describe the use of an automatic assessment tool -CodeRunner- in an introductory programming course. The results have been quite good: students’ participation in lab sessions increased, and the drop-out rate decreased significantly. Additionally, students express a high degree of satisfaction when using this tool.Este trabajo ha sido financiado por el proyecto DPI2015-69585-R a través del Ministerio de Economía y Competitividad (MINECO)

    Κατηγοριοποίηση και περιληπτικές αποδόσεις εργασιών συνεδρίων της ACM SIGCSE

    Get PDF
    Η παρούσα εργασία αφορά στη μελέτη εργασιών οι οποίες παρουσιάστηκαν στο συνέδριο ACM SIGCSE τις χρονιές 2016, 2017 και 2018. Αρχικά, γίνεται μια κατηγοριοποίηση, με βάση τον κύριο τομέα της Εκπαίδευσης της Πληροφορικής τον οποίο αφορά η κάθε εργασία που παρουσιάστηκε στα προαναφερθέντα συνέδρια. Οι κατηγορίες στις οποίες κατατάχθηκαν τα άρθρα είναι οι εξής: • Αξιολόγηση σπουδαστών • Ασφάλεια και προστασία της ιδιωτικής ζωής • Διαδραστικά περιβάλλοντα μάθησης • Διαφορετικότητα των φύλων/ Πολυπολιτισμικότητα • Εκπαίδευση της Μηχανικής Λογισμικού • Εισαγωγή στην Πληροφορική • Εκπαίδευση της Πληροφορικής • Ενσωμάτωση Πληροφορίας • Ηλεκτρονική μάθηση • Οπτικοποίηση • Πρότυπα αναλυτικά προγράμματα • Πρωτοβάθμια και Δευτεροβάθμια Εκπαίδευση • Συνεργατική Μάθηση • Συστήματα διαχείρισης μάθησης • Υπολογιστική Σκέψη • Υπολογιστικός Αλφαβητισμός Στη συνέχεια, δίνονται περιληπτικές αποδόσεις των εργασιών της χρονιάς 2017 που εμπίπτουν στις παρακάτω επιλεγμένες κατηγορίες: • Αξιολόγηση φοιτητών/μαθητών • Εισαγωγή στην Πληροφορική • Εκπαίδευση της Πληροφορικής • Πρωτοβάθμια και Δευτεροβάθμια Εκπαίδευση • Συνεργατική Μάθηση • Υπολογιστική ΣκέψηThis thesis focuses on the study of papers presented at the ACM SIGCSE conference in the years 2016, 2017 and 2018. Initially, a categorization is defined, based on the main areas of IT education that are included in the aforementioned conferences. The categories in which the articles were classified are: • Student evaluation • Security and Privacy • Interactive learning environments • Gender Diversity / Multiculturalism • Software engineering education • CS1 • Computer Science Education • Integration of Information • E-learning • Visualization • Model curricula • K-12 • Collaborative learning • Computational Thinking • Computing Literacy Afterwards, reviews of the papers of the year 2017 are presented concerning the following categories: • Student evaluation • CS1 • Computer Science Education • K-12 • Collaborative learning • Computational Thinkin

    Two Roads Diverge: Mapping the Path of Learning for Novice Programmers Through Large Scale Interaction Data and Neural Network Classifiers

    Get PDF
    Learning to program is a fundamental part of Computer Science education. To become a proficient programmer, one must become competent at both code comprehension and code production. Research shows that the most effective way to teach programming to students is through practical exercises. However, the increasing numbers of students in Computer Science classes means it is difficult to correct assignments and provide timely feedback. This can result in fewer practical assignments and/or less useful feedback for each student. Automated grading tools, and understanding of how novice programmers learn to code, is essential for these growing numbers of students. The Maynooth University Learning Environment, or MULE, was built to address this challenge. MULE is a cloud-based learning environment built from the ground up with the goal of teaching introductory programming courses in an authentic manner while facilitating the collection of large-scale behavioural data to support Learning Analytics. In this thesis, behavioural interaction data and code written by students in MULE is used to investigate the differences between successful and unsuccessful programming student behaviour, with the use of data analysis and Neural Network classifiers. The result is a method of classification that predicts early on if a student is likely to be in the top or bottom 50% of grades in the class with up to 87% accuracy, and a model of the path of learning for successful students, including key times, assignments, and topics during the introduction to programming module when the higher and lower achieving students diverge in behaviour

    Predictive models as early warning systems for student academic performance in introductory programming

    Get PDF
    Computer programming is fundamental to Computer Science and IT curricula. At the novice level it covers programming concepts that are essential for subsequent advanced programming courses. However, introductory programming courses are among the most challenging courses for novices and high failure and attrition rates continue even as computer science education has seen improvements in pedagogy. Consequently, the quest to identify factors that affect student learning and academic performance in introductory computer programming courses has been a long-standing activity. Specifically, weak novice learners of programming need to be identified and assisted early in the semester in order to alleviate any potential risk of failing or withdrawing from their course. Hence, it is essential to identify at-risk programming students early, in order to plan (early) interventions. The goal of this thesis was to develop a validated, predictive model(s) with suitable predictors of student academic performance in introductory programming courses. The proposed model utilises the Naïve Bayes classification machine learning algorithm to analyse student performance data, based on the principle of parsimony. Furthermore, an additional objective was to propose this validated predictive model as an early warning system (EWS), to predict at-risk students early in the semester and, in turn, to potentially inform instructors (and students) for early interventions. We obtained data from two introductory programming courses in our study to develop and test the predictive models. The models were built with student presage and in progress-data for which instructors may easily collect or access despite the nature of pedagogy of educational settings. In addition, our work analysed the predictability of selected data sources and looked for the combination of predictors, which yields the highest prediction accuracy to predict student academic performance. The prediction accuracies of the models were computed by using confusion matrix data including overall model prediction accuracy, prediction accuracy sensitivity and specificity, balanced accuracy and the area under the ROC curve (AUC) score for generalisation. On average, the models developed with formative assessment tasks, which were partially assisted by the instructor in the classroom, returned higher at-risk prediction accuracies than the models developed with take-home assessment task only as predictors. The unknown data test results of this study showed that it is possible to predict 83% of students that need support as early as Week 3 in a 12-week introductory programming course. The ensemble method-based results suggest that it is possible to improve overall at-risk prediction performance with low false positives and to incorporate this in early warning systems to identify students that need support, in order to provide early intervention before they reach critical stages (at-risk of failing). The proposed model(s) of this study were developed on the basis of the principle of parsimony as well as previous research findings, which accounted for variations in academic settings, such as academic environment, and student demography. The predictive model could potentially provide early warning indicators to facilitate early warning intervention strategies for at-risk students in programming that allow for early interventions. The main contribution of this thesis is a model that may be applied to other programming and non-programming courses, which have both continuous formative and a final exam summative assessment, to predict final student performance early in the semester.Ohjelmointi on informaatioteknologian ja tietojenkäsittelytieteen opinto-ohjelmien olennainen osa. Aloittelijatasolla opetus kattaa jatkokurssien kannalta keskeisiä ohjelmoinnin käsitteitä. Tästä huolimatta ohjelmoinnin peruskurssit ovat eräitä haasteellisimmista kursseista aloittelijoille. Korkea keskeyttämisprosentti ja opiskelijoiden asteittainen pois jättäytyminen ovat vieläkin tunnusomaisia piirteitä näille kursseille, vaikka ohjelmoinnin opetuksen pedagogiikka onkin kehittynyt. Näin ollen vaikuttavia syitä opiskelijoiden heikkoon suoriutumiseen on etsitty jo pitkään. Erityisesti heikot, aloittelevat ohjelmoijat tulisi tunnistaa mahdollisimman pian, jotta heille voitaisiin tarjota tukea ja pienentää opiskelijan riskiä epäonnistua kurssin läpäimisessä ja riskiä jättää kurssi kesken. Heikkojen opiskelijoiden tunnistaminen on tärkeää, jotta voidaan suunnitella aikainen väliintulo. Tämän väitöskirjatyön tarkoituksena oli kehittää todennettu, ennustava malli tai malleja sopivilla ennnustusfunktioilla koskien opiskelijan akateemista suoriutumista ohjelmoinnin peruskursseilla. Kehitetty malli käyttää koneoppivaa naiivia bayesilaista luokittelualgoritmia analysoimaan opiskelijoiden suoriutumisesta kertynyttä aineistoa. Lähestymistapa perustuu yksinkertaisimpien mahdollisten selittävien mallien periaatteeseen. Lisäksi, tavoitteena oli ehdottaa tätä validoitua ennustavaa mallia varhaiseksi varoitusjärjestelmäksi, jolla ennustetaan putoamisvaarassa olevat opiskelijat opintojakson alkuvaiheessa sekä informoidaan ohjaajia (ja opiskelijaa) aikaisen väliintulon tarpeellisuudesta. Keräsimme aineistoa kahdelta ohjelmoinnin peruskurssilta, jonka pohjalta ennustavaa mallia kehitettiin ja testattiin. Mallit on rakennettu opiskelijoiden ennakkotietojen ja kurssin kestäessä kerättyjen suoriutumistietojen perusteella, joita ohjaajat voivat helposti kerätä tai joihin he voivat päästä käsiksi oppilaitoksesta tai muusta ympäristöstä huolimatta. Lisäksi väitöskirjatyö analysoi valittujen datalähteiden ennustettavuutta ja sitä, mitkä mallien muuttujista ja niiden kombinaatioista tuottivat kannaltamme korkeimman ennustetarkkuuden opiskelijoiden akateemisessa suoriutumisessa. Mallien ennustusten tarkkuuksia laskettiin käyttämällä sekaannusmatriisia, josta saadaan laskettua ennusteen tarkkuus, ennusteen spesifisyys, sensitiivisyys, tasapainotettu tarkkuus sekä luokitteluvastekäyriä (receiver operating characteristics (ROC)) ja näiden luokitteluvastepinta-ala (area under curve (AUC)) Mallit, jotka kehitettiin formatiivisilla tehtävillä, ja joissa ohjaaja saattoi osittain auttaa luokkahuonetilanteessa, antoivat keskimäärin tarkemman ennustuksen putoamisvaarassa olevista opiskelijoista kuin mallit, joissa käytettiin kotiin vietäviä tehtäviä ainoina ennusteina. Tuntemattomalla testiaineistolla tehdyt mallinnukset osoittavat, että voimme tunnistaa jo 3. viikon kohdalla 83% niistä opiskelijoista, jotka tarvitsevat lisätukea 12 viikkoa kestävällä ohjelmoinnin kurssilla. Tulosten perusteella vaikuttaisi, että yhdistämällä metodeja voidaan saavuttaa parempi yleinen ennustettavuus putoamisvaarassa olevien opiskelijoiden suhteen pienemmällä määrällä väärin luokiteltuja epätositapauksia. Tulokset viittaavat myös siihen, että on mahdollista sisällyttää yhdistelmämalli varoitusjärjestelmiin, jotta voidaan tunnistaa avuntarpeessa olevia opiskelijoita ja tarjota täten varhaisessa vaiheessa tukea ennen kuin on liian myöhäistä. Tässä tutkimuksessa esitellyt mallit on kehitetty nojautuen yksinkertaisimman selittävän mallin periaatteeseen ja myös aiempiin tutkimustuloksiin, joissa huomioidaan erilaiset akateemiset ympäristöt ja opiskelijoiden tausta. Ennustava malli voi tarjota indikaattoreita, jotka voivat mahdollisesti toimia pohjana väliintulostrategioihin kurssilta putoamisvaarassa olevien opiskelijoiden tukemiseksi. Tämän tutkimuksen keskeisin anti on malli, jolla opiskelijoiden suoriutumista voidaan arvioida muilla ohjelmointia ja muita aihepiirejä käsittelevillä kursseilla, jotka sisältävät sekä jatkuvaa arviointia että loppukokeen. Malli ennustaisi näillä kursseilla lopullisen opiskelijan suoritustason opetusjakson alkuvaiheessa
    corecore