Cellular Automata as an Example for Advanced Beginners’ Level Coding Exercises in a MOOC on Test Driven Development

Programming tasks are an important part of teaching computer programming as they foster students to develop essential programming skills and techniques through practice.  The design of educational problems plays a crucial role in the extent to which the experiential knowledge is imparted to the lear...

Full description

Bibliographic Details
Main Authors: Thomas Staubitz, Ralf Teusner, Christoph Meinel, Nishanth Prakash
Format: Article
Language:English
Published: International Association of Online Engineering (IAOE) 2017-06-01
Series:International Journal of Engineering Pedagogy (iJEP)
Subjects:
Online Access:http://online-journals.org/index.php/i-jep/article/view/6969
Description
Summary:Programming tasks are an important part of teaching computer programming as they foster students to develop essential programming skills and techniques through practice.  The design of educational problems plays a crucial role in the extent to which the experiential knowledge is imparted to the learner both in terms of quality and quantity. Badly designed tasks have been known to put-off students from practicing programming. Hence, there is a need for carefully designed problems. Cellular Automata programming lends itself as a very suitable candidate among problems designed for programming practice. In this paper, we describe how various types of problems can be designed using concepts from Cellular Automata and discuss the features which make them good practice problems with regard to instructional pedagogy. We also present a case study on a Cellular Automata programming exercise used in a MOOC on Test Driven Development using JUnit, and discuss the automated evaluation of code submissions and the feedback about the reception of this exercise by participants in this course. Finally, we suggest two ideas to facilitate an easier approach of creating such programming exercises.
ISSN:2192-4880