Designing a Computer Game to Teach Computer Science Concepts
Keywords:Software Engineering, Computer game design, Computer Science
This project attempts to solve the problem of people struggling to learn computer science coding, in particular threshold concepts such as conditional statements, methods, and recursion. Which, without understanding, prevents learners from continuing progression. This problem is solved with a fun, engaging and interactive video game that uses constructivism techniques. The game contains blocks of code, with simple phrases, numbers, or words on them, that can be arranged to create functioning code structures. To test and evaluate the game, some level 300 and 400 COMP/SWEN students played the game, providing thoughts and feedback throughout development. Regular user testing and feedback has been very insightful for this project providing many new ideas, thoughts for improvement and finding problems and bugs through different perspectives. The current version of the project has 22 levels ranging in difficulty which contains simple code structures, infinite/looping code structures, logic comparisons, multiple simultaneous code structures, multiple controllable players entities, codable controlled entities, and method blocks which can be called, and cause recursion within itself. Current constructivism ideas include simple mazes, Snake, and Pong levels where the user has to create code for aspects (e.g the ball movement in pong), with their own pre-existing knowledge, of the widely known game/idea.