/ en / Traditional / help

Beats Biblionetz - Bücher

Programming in K–6

Understanding Errors and Supporting Autonomous Learning
, local web 
Thumbnail des PDFs

iconZusammenfassungen

Jacqueline Staub

The research presented in this thesis aims at the development of a programming environment for primary schools that is focused on supporting students’ autonomous learning and independent troubleshooting. With the introduction of computer science as a new school subject, programming in primary school is currently experiencing a strong and promising rise in popularity. This creative form of learning can foster problem solving skills but it simultaneously requires a high level of precision. Making errors is inevitable and bugs show up in a variety of forms, from simple typos to highly complex misconceptions. Errors pose a significant problem for classroom implementation since students often struggle with troubleshooting and thus depend on external help.

Previous research has addressed this problem and presented various approaches that ease primary school programming. Suggestions reach from programming languages with specialized grammars to tangible application domains and block-based programming interfaces. While each of these approaches has its justification in easing the way into programming, still, primary school programmers eventually need to face their errors and acquire appropriate troubleshooting skills.

For more than fifty years, educational and professional programming languages have been treated as separate research fields which went through a distinct evolution in terms of error handling. Motivated by the enormous cost of a blunder in industry, numerous tools were developed for professionals to assist them in locating, analyzing, and fixing errors. Sophisticated tools reach from static program analysis all the way to post-mortem debuggers. In contrast, the educational community engaged with primary school programming focused during the last twenty years primarily on preventing errors. Yet, in order to become self-sufficient programmers, novices must be exposed to their own errors at some point. We developed a Logo learning environment with which primary school programmers aged 5 to 12 years can be introduced to programming and which provides novices with age-appropriate error recovery tools, e.g., an advanced syntax checker, static program analysis, type checking and inference, and a reverse debugger. All of these tools have been adapted to the use case in primary schools

We evaluated our approach using a set of more than 2 million structurally-erroneous Logo programs that were collected in over 80 000 user sessions. Using the tools presented in this thesis, 97% of all structural errors can be detected proactively (i.e., at compile time) and visualized using in-line error markers. In this way, the majority of structural programming errors can be fixed on-the-fly. The remaining 3% are runtime errors that can be analyzed and examined alongside all logical errors using our debugger.

The proposed research has promising implications for primary school programming. Through the direct feedback loop with thousands of users, we gained an insight into their learning including problems and misconceptions. The analysis of structural errors allowed us to target the needs of students more effectively by adapting our teaching materials. In the long run, this improves the quality of programming lessons in primary school and students learn to handle errors on their own.

Von Jacqueline Staub in der Dissertation Programming in K–6 (2021)
Jacqueline Staub

Die vorgestellte Forschungsarbeit behandelt die Entwicklung einer Programmierumgebung für Primarschulen, welche auf autonomes Lernen und selbstständige Fehlerbehebung ausgerichtet ist. Durch die Einführung der Informatik als obligatorisches Schulfach erlebt das Programmieren an Primarschulen derzeit einen starken und vielversprechenden Aufschwung. Das Programmieren ist eine kreative Tätigkeit, welche konstruktive Problemlösefähigkeiten fördert, gleichzeitig jedoch auch ein hohes Level an Präzision voraussetzt. Fehler sind unumgänglich und deren Spektrum reicht von einfachen Tippfehlern bis hin zu komplexen Fehlvorstellungen. Für die Umsetzung des Programmierunterrichts im Klassenzimmer stellen Fehler ein signifikantes Problem dar, denn Programmieranfängerinnen und -anfänger können mit Fehlern oft nicht selbstständig umgehen und sind dadurch auf externe Hilfe angewiesen.

Frühere Forschungsarbeiten haben sich dieses Problems bereits angenommen und verschiedene Ansätze vorgestellt, die den Einstieg ins Programmieren vereinfachen. Die Vorschläge reichen von speziellen Programmiersprachen über altersgerechte Anwendungsbereiche bis hin zum blockbasierten Programmieren. Viele dieser Ansätze haben ihre Berechtigung und tragen zu einem einfacheren Einstieg ins Programmieren bei. Dennoch kommt irgendwann unweigerlich der Punkt, an welchem sich Novizen der vollen Bandbreite ihrer Fehler stellen müssen und lernen sollten diese selbstständig zu beheben.

In ihrer mehr als fünfzigjährigen Geschichte als separate Forschungsgegenstände haben sich Programmiersprachen aus dem frühschulischen Bildungsbereich immer mehr von professionellen Sprachen entfernt, besonders hinsichtlich der Handhabung von Fehlern. Motiviert durch die enormen Kosten eines Fehlers in der Industrie wurden in jahrzehntelangen Forschungsbemühungen zahlreiche Hilfsmittel entwickelt (z.B. statische Programmanalyse oder vielseitige Debugger), die professionelle Programmiererinnen und Programmierer darin unterstützen, Fehler einfacher zu lokalisieren, zu analysieren und zu beheben. Im Primarschulkontext besteht der Trend hingegen seit mehr als 20 Jahren darin, Programmieranfängerinnen und -anfänger vor Fehlern zu schützen, anstatt diese mithilfe von Diagnosetools proaktiv anzugehen. Wir haben eine Lernumgebung für Kinder im Alter von 5 bis 12 Jahren entwickelt, welche mehrere Fehlerdiagnosetools bereitstellt, von einem fortgeschrittenen Syntax-Checker, semantischer Verifikation, Type-Checking und -Inferenz, bis hin zu einem bidirektionalen Debugger. Diese Tools wurden speziell aufbereitet für den Einsatz in Primarschulen.

Der verwendete Ansatz wurde durch eine Sammlung von mehr als 2 Millionen strukturell fehlerhafter Logo-Programmen evaluiert, welche in mehr als 80 000 User-Sessions anfielen. Mit unserem Ansatz können rund 97% aller strukturellen Programmierfehler bereits zur Compilezeit detektiert und mit Fehlermarkierungen im Programmtext visualisiert werden. Auf diese Weise gelingt es, einen Grossteil aller strukturellen Fehler schnell und einfach on-the-fly zu beheben. Die restlichen 3% aller strukturellen Fehler zeigen sich zur Laufzeit und können gemeinsam mit logischen Fehlern dank bidirektionalem Debugger untersucht werden.

Die präsentierte Arbeit hat vielversprechende Implikationen für das Programmieren in der Primarschule. Durch die direkte Interaktion mit tausenden Benutzerinnen und Benutzern erhalten wir eine Einsicht in die Probleme und Fehlvorstellungen der Lernenden. Die Analyse struktureller Fehler erlaubt es, die verwendeten Unterrichtsmaterialien spezifisch auf die Bedürfnisse der Novizen auszurichten. Langfristig gewinnt der Programmierunterricht dadurch an Qualität und Schülerinnen und Schüler lernen ihre Fehler selbstständig zu beheben.

Von Jacqueline Staub in der Dissertation Programming in K–6 (2021)

iconDiese Doktorarbeit erwähnt ...


Personen
KB IB clear
Edith Ackermann , Matthew Ahrens , Amjad AlTadmri , Aivar Annamaa , Brett A. Becker , Tim Bell , M. Bloom , Durell Bouchard , Dennis J. Bouvier , Andrej Brodnik , Neil C. C. Brown , Donald Chinn , Stephen Crain , Paul Denny , Brian Dorn , Stephen H. Edwards , Mike Fellows , W. Feurzeig , Sally Fincher , Kathi Fisler , Martina Forster , Karin Freiermuth , Gerald Futschek , R. Grant , Brian Harrington 0001 , Urs Hauser , Ulrich Hauser , Juraj Hromkovic , Amy J. Ko , Matthew C. Jadud , Daniel Joyce , Amir Kamil , Nischel Kandru , Amey Karkare , Lucia Keller , Tobias Kohn , Michael Kölling , Dennis Komm , Shriram Krishnamurthi , Lauri Malmi , Eva Marinus , Bernhard Matter , Genevieve McArthur , Renée McCauley , Chris McDonald , Tilman Michaeli , Roland Mittermeir , Adon Moskal , Peter-Michael Osera , Seymour Papert , Janice L. Pearce , Raymond Pettit , Zoe Powell , James Prather , Mukund B. M. Rajagopal , Anthony Robins , Anthony V. Robins , Ralf Romeike , Janet Rountree , Nathan Rountree , Sue Sentance , Giovanni Serafini , R. Benjamin Shapiro , Judy Sheard , Cynthia Solomon , Jacqueline Staub , Björn Steffen , Jorma Tarhio , Josh Tenenberg , Rosalind Thornton , Françoise Tort , Nicole Trachsler , Preston Tunnell Wilson , Ian H. Witten

Aussagen
KB IB clear
Programmieren ist schwierig

Begriffe
KB IB clear
Bildungeducation (Bildung) , Fehlererror , Fehlvorstellungen / misconceptions , Föderalismus , Formal-operatives Denkenformal operational stage , Informatikcomputer science , Informatik-Didaktikdidactics of computer science , Informatik-Unterricht (Fachinformatik)Computer Science Education , Informatikunterricht in der Schule , Kinderchildren , Konkrete Operationen concrete operational stage , Konstruktionismusconstructionism , Konstruktivismusconstructivism , Lehrplan 21 , Lernenlearning , Lernumgebung , LOGO (Programmiersprache)LOGO (programming language) , notional machine , Präoperationales Stadiumpreoperational stage , Primarschule (1-6) / Grundschule (1-4)primary school , Problemlösefähigkeitproblem solving skills , Programmierenprogramming , Programmieren für KinderProgramming for kids , Programmierkonzepteprogramming concepts , Programmierkonzepte bei Kindern , Programmiersprachenprogramming languages , Schuleschool , SchweizSwitzerland , Sensumotorisches Stadium , Stadien der kindlichen Entwicklung nach PiagetPiaget's theory of cognitive development , turtle graphics , Unterricht , Unterrichtsmaterial
icon
Bücher
Jahr  Umschlag Titel Abrufe IBOBKBLB
1969 local web  Programming-Languages as a Conceptual Framework for Teaching Mathematics (W. Feurzeig, Seymour Papert, M. Bloom, R. Grant, Cynthia Solomon) 4, 3, 5, 6, 9, 2, 3, 10, 2, 7, 7, 3 8 11 3 482
1982 local web  Mindstorms (Seymour Papert) 8, 11, 19, 6, 5, 4, 7, 19, 8, 13, 12, 5 340 47 5 5912
1988  local  Studying the Novice Programmer (Elliot Soloway, Jim Spohrer) 5, 3, 7, 8, 2, 4, 5, 10, 4, 8, 11, 8 64 47 8 557
2000 ITiCSE 2000 (Jorma Tarhio, Sally Fincher, Daniel Joyce) 1 0 0 0
2003 Computer Science Education 2/20035, 3, 6, 8, 2, 1, 1, 4, 1, 4, 6, 4 27 17 4 420
2006 Informatics Education - The Bridge between Using and Understanding Computers (Roland Mittermeir) 9, 2, 2, 5, 8, 4, 2, 14, 2, 5, 2, 4 25 174 4 1448
2006 local web  Computer Science Unplugged (Tim Bell, Ian H. Witten, Mike Fellows) 6, 4, 6, 8, 17, 2, 3, 13, 7, 11, 8, 7 68 35 7 1684
2010 local web  Einführung in die Kryptologie (Karin Freiermuth, Juraj Hromkovic, Lucia Keller, Björn Steffen) 3, 5, 5, 5, 5, 4, 2, 6, 2, 3, 4, 2 2 10 2 341
2014 ICER 2014 (Quintin I. Cutts, Beth Simon, Brian Dorn) 3, 4, 8, 10, 3, 1, 6, 8, 2, 8, 10, 6 42 167 6 661
2015 SIGCSE 2015 (Adrienne Decker, Kurt Eiselt, Carl Alphonce, Jodi Tims) 18, 16, 13, 16, 17, 6, 6, 7, 4, 1, 1, 5 48 928 3 198
2015 ICER 2015 (Brian Dorn, Judy Sheard, Quintin I. Cutts) 2, 4, 6, 19, 3, 2, 3, 12, 4, 7, 10, 11 55 218 11 649
2015 Koli Calling 2015 (Päivi Kinnunen, Judy Sheard) 2, 2, 5, 9, 3, 3, 2, 9, 2, 6, 9, 4 7 151 4 504
2016 local web  Informatics in Schools: Improvement of Informatics Knowledge and Perception (Andrej Brodnik, Françoise Tort) 5, 1, 4, 5, 17, 6, 1, 10, 3, 4, 7, 4 36 133 4 474
2017 local web  Teaching Python Programming to Novices (Tobias Kohn) 2, 7, 5, 4, 1, 1, 1, 7, 2, 4, 3, 5 5 21 5 416
2017 SIGCSE 2017 (Michael E. Caspersen, Stephen H. Edwards, Tiffany Barnes, Daniel D. Garcia) 5, 11, 10, 2, 2, 4, 4, 13, 1, 9, 12, 5 39 711 5 603
2017 ICER 2017 (Josh Tenenberg, Donald Chinn, Judy Sheard, Lauri Malmi) 3, 8, 10, 5, 1, 4, 3, 10, 2, 8, 10, 3 38 195 3 590
2018 ICER 2018 (Lauri Malmi, Ari Korhonen, Robert McCartney, Andrew Petersen) 4, 8, 14, 5, 1, 1, 3, 10, 2, 7, 11, 4 50 229 4 604
2018 local web  Informatics in Schools: Fundamentals of Computer Science and Software Engineering (Sergei Pozdniakov, Valentina Dagienė) 3, 8, 18, 9, 2, 3, 2, 13, 2, 8, 9, 3 14 311 3 272
2019 SIGCSE 2019 (Elizabeth K. Hawthorne, Manuel A. Pérez-Quiñones, Sarah Heckman, Jian Zhang 0036) 4, 1, 8, 6, 7, 1, 1, 13, 2, 9, 11, 12 36 249 12 676
2019 local web  Informatik Spektrum Sonderheft: Bildung und Informatik6, 2, 6, 13, 3, 1, 3, 12, 2, 6, 7, 3 12 72 3 704
2019 ITiCSE 2019 (Bruce Scharlau, Roger McDermott, Arnold Pears, Mihaela Sabin) 3, 6, 13, 6, 2, 1, 3, 12, 3, 9, 8, 4 22 308 4 636
2019 Proceedings of the 14th Workshop in Primary and Secondary Computing Education, WiPSCE 2019, Glasgow, Scotland, UK, October 23-25, 20195, 8, 21, 4, 2, 1, 4, 6, 5, 6, 6, 4 18 299 4 209
2020 ICER 2020 (Anthony V. Robins, Adon Moskal, Amy J. Ko, Renée McCauley) 2, 7, 21, 11, 3, 1, 2, 17, 1, 10, 13, 10 12 475 10 155
2020 local web  Informatics in Schools: Engaging Learners in Computational Thinking (Külli Kori, Mart Laanpere) 2, 4, 10, 19, 3, 2, 2, 13, 2, 7, 9, 13 9 186 13 242
icon
Texte
Jahr  Umschlag Titel Abrufe IBOBKBLB
local web  Piaget’s Constructivism, Papert’s Constructionism (Edith Ackermann) 3, 6, 5, 4, 2, 2, 1, 5, 3, 3, 10, 8 8 6 8 1542
1971 local web  Twenty Things To Do With A Computer (Seymour Papert, Cynthia Solomon) 4, 3, 5, 9, 1, 1, 1, 11, 2, 4, 6, 3 8 9 3 400
2003 local web  Learning and Teaching Programming (Anthony Robins, Janet Rountree, Nathan Rountree) 23 7 0 0
2006 local web  Algorithmic Thinking (Gerald Futschek) 6, 3, 2, 7, 8, 3, 1, 3, 2, 2, 2, 1 5 6 1 335
2014 local web  Investigating novice programming mistakes (Neil C. C. Brown, Amjad AlTadmri) 3, 3, 3, 4, 8, 6, 3, 2, 3, 1, 2, 3 12 4 3 275
2015 local web  Aggregate Compilation Behavior (Matthew C. Jadud, Brian Dorn) 1, 1, 2, 4, 2, 5, 4, 1, 3, 4, 2, 3 2 1 3 142
2015 local web  37 Million Compilations (Amjad AlTadmri, Neil C. C. Brown) 11 4 0 0
2015 local web  Introducing Thonny, a Python IDE for learning programming (Aivar Annamaa) 2 2 0 0
2016 local web  Beyond Blocks (R. Benjamin Shapiro, Matthew Ahrens) 2, 3, 3, 2, 6, 8, 1, 1, 5, 2, 2, 3 3 17 2 355
2017 local web  Investigating Static Analysis Errors in Student Java Programs (Stephen H. Edwards, Nischel Kandru, Mukund B. M. Rajagopal) 2 1 0 0
2017 local web  Assessing and Teaching Scope, Mutation, and Aliasing in Upper-Level Undergraduates (Kathi Fisler, Shriram Krishnamurthi, Preston Tunnell Wilson) 2 5 0 0
2017 local web  Variable Evaluation (Tobias Kohn) 1, 2, 1, 5, 7, 5, 2, 5, 4, 2, 4, 1 5 8 1 58
2018 local web  Unravelling the Cognition of Coding in 3-to-6-year Olds (Eva Marinus, Zoe Powell, Rosalind Thornton, Genevieve McArthur, Stephen Crain) 1, 5, 1, 4, 5, 3, 3, 7, 3, 1, 3, 2 6 6 2 187
2018 local web  Blackbox, Five Years On (Neil C. C. Brown, Amjad AlTadmri, Sue Sentance, Michael Kölling) 4 3 0 0
2018 local web  Autonomous Recovery from Programming Errors Made by Primary School Children (Martina Forster, Urs Hauser, Giovanni Serafini, Jacqueline Staub) 4, 3, 7, 10, 1, 1, 1, 10, 3, 4, 8, 8 3 12 8 171
2019 local web  Denn sie wissen nicht, was sie programmieren (Tobias Kohn, Dennis Komm) 1, 1, 3, 6, 7, 5, 1, 7, 4, 2, 3, 1 1 9 1 260
2019 local web  Unexpected Tokens (Brett A. Becker, Paul Denny, Raymond Pettit, Durell Bouchard, Dennis J. Bouvier, Brian Harrington 0001, Amir Kamil, Amey Karkare, Chris McDonald, Peter-Michael Osera, Janice L. Pearce, James Prather) 1 0 0 0
2019 local web  The Error Behind The Message (Tobias Kohn) 2 2 0 0
2019 local web  Improving Debugging Skills in the Classroom (Tilman Michaeli, Ralf Romeike) 5, 1, 5, 7, 6, 2, 1, 6, 4, 1, 9, 1 5 15 1 65
2020 local web  Computational Thinking in Small Packages (Dennis Komm, Ulrich Hauser, Bernhard Matter, Jacqueline Staub, Nicole Trachsler) 5, 5, 3, 8, 13, 3, 2, 7, 4, 1, 5, 1 2 9 1 129

iconDiese Doktorarbeit erwähnt vermutlich nicht ... Eine statistisch erstelle Liste von nicht erwähnten (oder zumindest nicht erfassten) Begriffen, die aufgrund der erwähnten Begriffe eine hohe Wahrscheinlichkeit aufweisen, erwähnt zu werden.

iconTagcloud

iconZitationsgraph

Diese Grafik ist nur im SVG-Format verfügbar. Dieses Format wird vom verwendeteten Browser offenbar nicht unterstützt.

Diese SVG-Grafik fensterfüllend anzeigen

iconZitationsgraph (Beta-Test mit vis.js)

iconZeitleiste

iconVolltext dieses Dokuments

Auf dem WWW Programming in K–6: Gesamtes Buch als Volltext (lokal: PDF, 6267 kByte; WWW: Link OK )

iconAnderswo suchen  Auch im Biblionetz finden Sie nicht alles. Aus diesem Grund bietet das Biblionetz bereits ausgefüllte Suchformulare für verschiedene Suchdienste an. Biblionetztreffer werden dabei ausgeschlossen.

iconBeat und diese Dissertation

Beat hat diese Dissertation während seiner Zeit am Institut für Medien und Schule (IMS) ins Biblionetz aufgenommen. Er hat diese Dissertation einmalig erfasst und bisher nicht mehr bearbeitet. Beat besitzt kein physisches, aber ein digitales Exemplar. Eine digitale Version ist auf dem Internet verfügbar (s.o.). Es gibt bisher nur wenige Objekte im Biblionetz, die dieses Werk zitieren.

iconBiblionetz-History Dies ist eine graphische Darstellung, wann wie viele Verweise von und zu diesem Objekt ins Biblionetz eingetragen wurden und wie oft die Seite abgerufen wurde.