Programming can be a challenging subject for beginners to comprehend but a very satisfying and enjoyable one for those who apply the time and effort required to master it. Students can approach programming with a fixed mindset, perceiving the subject to be difficult before they even start. Such a mindset will result in the student procrastinating, being less motivated to participate and possibly placing metaphorical barriers to their learning where there are none. Certain programming concepts can appear, to the student, abstract in nature and intrinsically linked to the programming language being used. Dispelling this thought is a challenge requiring an approach that decouples the programming language from the fundamental programming building blocks. The fundamental programming building blocks of sequence, selection and iteration can be illustrated and enhanced through the use of computer games designed to teach programming. Such games present the player with a challenge to solve that requires a level of problem solving and computational thinking to achieve the desired solution. The purpose of these programs is to give the student a platform to visualise the abstract concepts of programming allowing them to build on their ability to solve problems and create algorithmic solutions. A genre of such games is the "program your robot" which offer a maze style approach where the student must use the correct programming building blocks in a suitable order to achieve the goal of safely navigating the robot from the start of the maze to the designated finish. The visual nature of these games allows the students to visualise the problem enabling them to discern the steps required to complete the task. Students are asked to write down the steps needed to solve the problem in a basic algorithm and implement their algorithm. This subsequently leads to the students "debugging" and amending their initial algorithms thus developing another valuable skill. With each level the nature of the puzzle gets more complex introducing new concepts and reinforcing the fundamental building blocks. The students are also building up a portfolio of problem solving skills and algorithm designs coupled with valuable debugging skills. This paper will discuss an ongoing attempt to introduce problem solving, algorithm development and elementary debugging with second year Game Design students undertaking a C++ game development module.
|Title of host publication||Proceedings of 16th European Conference on eLearning (ECEL 2017)|
|Place of Publication||Reading|
|Publisher||Academic Conferences and Publishing International Limited|
|Number of pages||9|
|Publication status||Published - Oct 2017|
- computer games
- program language
Law, B. (2017). Teaching programming using computer games: a program language agnostic approach. In Proceedings of 16th European Conference on eLearning (ECEL 2017) (pp. 368-376). Academic Conferences and Publishing International Limited.