In the master thesis we study different aspects of using a computer educational game
to teach programming patterns from introductory programming. This is to address a
problem identified by many authors in the field of introductory programming, namely
that beginners have difficulty in acquiring this knowledge. This is also due to teaching
methods that focus mainly on the syntax and semantics of particular programming
constructs, which are not the most difficult for them. The biggest problem for them is
knowing how to effectively integrate these programming constructs into a correct
solution. Programming patterns are a promising way to demonstrate this knowledge,
as they represent meaningful cornerstones in the way how the probem is solved.
In the theoretical part, we presented the content framework of introductory
programming, paying particular attention to the basic algorithms and concepts defined
in the K-12 Computer Science Framework. We then compared the differences in the
treatment of content addressing introductory programming concepts in different
computer science curricula. In doing so, we aimed to situate the content covered by
programming patterns within a formal framework. We then defined the notion of a
programming pattern from different perspectives of how the concept is treated in the
literature: as a structured cognitive chunk of related content that allows approaching
programming at a conceptual level, as a unified entity that links context, choice,
implementation features and implications of using a pattern, and as a solution to a
typical algorithmic subproblem that often arises in programming. We then presented in
detail the programming patterns that we incorporated in the activities of the computer
education game we designed: extreme search, linear search, bisection, editing by
sequential extreme value search and editing by bubbles. We continued the theoretical
introduction by presenting the key findings in the field of game-based learning theory
and concluded with a presentation of the SADDIE method, which is designed to
develop complex learning materials and guides us through the different phases:
didactic specification, analysis, design, construction, implementation or preparation of
a pedagogical kit and evaluation.
In the empirical part, we present the development of a computer-based educational
game using the SADDIE method and describe the work we have done in the concrete
phase. Then we present the results of the research we conducted with 9th grade pupils
at the Koroška Bela Jesenice Primary School, in the subject of computer networks.
The results of the survey showed that the students were able to apply the conceptual
knowledge contained in the programming patterns to practical examples in the context
of the game activity, as they all solved it successfully. By comparing the results of the
pre- and post-tests, which tested their knowledge of the programming patterns
presented in the game, we found that their knowledge improved after the game-playing
activity. However, by analysing the answers to the questionnaire concerning their
motivation to learn using educational games, we found that they rated themselves as
more motivated to learn in this way.
|