Teaching Nondeterminism Through Programming

Nondeterminism (ND) is a fundamental concept in computer science, and comes in two main flavors. One is the kind of ND that appears in automata theory and formal languages, and is the one that students are usually introduced to. It is known to be hard to teach. We present here a study, in which we i...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:Informatics in education Jg. 15; H. 1; S. 1 - 23
Hauptverfasser: Alexandron, Giora, Armoni, Michal, Gordon, Michal, Harel, David
Format: Journal Article
Sprache:Englisch
Veröffentlicht: Vilnius Vilniaus Universiteto Leidykla 01.01.2016
Vilnius University Press
Institute of Mathematics and Informatics
Vilnius University
Schlagworte:
ISSN:1648-5831, 2335-8971
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Beschreibung
Zusammenfassung:Nondeterminism (ND) is a fundamental concept in computer science, and comes in two main flavors. One is the kind of ND that appears in automata theory and formal languages, and is the one that students are usually introduced to. It is known to be hard to teach. We present here a study, in which we introduced students to the second kind of ND, which we term operative. This kind of ND is quite different from the first one. It appears in nondeterministic programming languages and in the context of concurrent and distributed programming. We study how high-school students understand operative ND after learning the nondeterministic programming language of live sequence charts (LSC). To assess students' learning, we used a two-dimensional taxonomy that is based upon the SOLO and the Bloom taxonomies. Our findings show that after a semestrial course on LSC, high-school students with no previous experience with ND of either type, understood operative ND on a level that allowed them to create and execute programs that included nondeterminism on various levels and in various degrees of complexity. We believe that it is important to expose students to the two types of ND, especially as ND has become a very prominent characteristic of computerized systems. Our findings suggest that students can reach a significant understanding of operative ND when the concept is introduced in the context of a programming course.
Bibliographie:ObjectType-Article-1
SourceType-Scholarly Journals-1
ObjectType-Feature-2
content type line 14
content type line 23
ISSN:1648-5831
2335-8971
DOI:10.15388/infedu.2016.01