Programming Arcade Games using Natural Language - Utilizing inherent language skills as a gentler introduction to Computational Thinking
Abstract
Due to the technological advances in society, the need for digital competences is
increasing. The purpose of this thesis is to develop a web application that introduces
children between ages 10 and 18 to basic programming concepts and train them in
Computational Thinking by using their existing knowledge of Natural Languages.
By using a restricted part of Natural Language instead of a programming language,
we take advantage of the users inherent language skills, with the aim of a gentler
introduction to Computational Thinking. Questions that are treated include, among
others, what contribution can be made to the education of children in Computational
Thinking, how to handle the input from the user, how to transform the input to
a playable game and how the system should handle errors in the input. These
questions were investigated by the development of an application which consists of
a parser, implemented using a third party parsing library (Nearly.js), an Evaluator,
which evaluates the result from parsing the input and organises it in a data structure
that represents the game. This data structure, the game representation, is then given
to a game engine that constructs a playable game according to the users intentions.
This game is then displayed in the User Interface, where the user can interact with
it. Possible strategies for evaluating our system are A-B testing, survey or user
analysis. Furthermore, extensions on the application include more extensive error
messages, support for multiple source languages and providing challenges to test
the user. We conclude that the result was a modular and extendable application.
Moreover, it is our conviction that our application does contribute to learning parts
of Computational thinking.
Degree
Student essay
Collections
View/ Open
Date
2020-10-29Author
Lexén, Madeleine
Ljungdahl, Erik
Rydholm, Hanna
Sato von Rosen, Henning
Keywords
Computational Thinking
Natural Language
education
Language
eng