![]() While I like the concept of doing it right from the start and explaining later, I wonder if it's really necessary to force object-oriented concepts onto students right away when the necessary teaching (loops, conditionals, variables) could be as well taught without object-orientation paradigm. Forced Object orientation: CodeCombat introduces commands like self.moveDown() instead of moveDown() at the beginning, indicating that the avatar is an instance of an avatar class.While this is fine in the game, some "structural" commands like loop: could have easily been replaced by the correct Python command ( while True:). Pythonic non-python: CodeCombat students learn a lot of commands that only exist in the game world.I don't have much to criticize, but there were a few things: They loved spending time pondering how best to invest their hard-earned virtual diamonds and were very pleased when they earned superior virtual armor and weapons. The gamification worked very well, especially among younger students. On higher levels, my German-speaking students' limited English skills were a problem. For some levels, the task description is hidden in the code comments. CodeCombat was a hit with my 11-year-old students and often attracted older students willing to "help." Students were able to figure out most of the tasks for themselves with little to no assistance from a teacher. My own experience with using CodeCombat in my programming courses was pleasant. I especially look forward to community-created content from teachers and educators, like lesson plans or best-practice guidebooks for integrating CodeCombat sessions into computer science courses. While the built-in advertising and nudging to subscribe may be slightly irritating for some players, it's a legal way to build a business ecosystem around a free/libre/open source core.īecause the complete CodeCombat source code is on GitHub, forkers can create their own code combat system with a different business model (or no business model at all) attached to it.ĬodeCombat seeks user contributions for level-design, coding, translation, and other tasks. The current business model relies on "nudging" parents and teachers into a US$9.99/month subscription to gain access to video tutorials, more levels, and more (virtual) diamonds. CodeCombat reserves the right to publish levels for CodeCombat created and uploaded with the CodeCombat level editor under a non-free license. ![]() The licenses and attributions are explained in more detail on the CodeCombat legal page. This allows easy use of the game artwork for projects of students. All the art assets (sprites, backgrounds, sound effects, etc.) can also be found on GitHub and are published under a Creative Commons CC BY 4.0 license. In addition to beautifully designed levels, the game's later stages also boast riddles that are complex enough to fascinate gamers and coders alike.ĬodeCombat itself can be found on GitHub under the free MIT license. Most importantly, the levels themselves become more complex due to more possible interaction with the objects in the game world: fences can be built, fire traps can be set, enemies can be lured into minefields, special weapons allow special attacks with a cooldown timer, etc. As the player progresses, the tasks involve more complex programming concepts. Diamonds collected in a level can be invested between levels for better armor, weapons, and programming commands (cleverly symbolized as spellbooks and magic devices) to master the increasingly tricky tasks in the higher levels.ĬodeCombat begins with a smooth learning curve well suited to players with no coding experience. The player is gradually introduced to new commands like loops, conditionals, and variables. In each level, the player is assigned a set of tasks-usually to collect gems, defeat monsters, and move to the exit of a level. Commands have to be typed correctly to control the avatar, and incorrect programs with logical faults (like commanding the avatar to run against a wall) will cause it to lose hit points and eventually die. self.moveDown(), self.moveRight(), self.attack(self.findNearestEnemy()), etc.). Inside the labyrinth is an avatar the player can control using a restricted set of commands (e.g. The screen is split between a code editor on the right and a labyrinth on the left half. The game builds on older learn-to-code systems such as Rurple and Karel. If you like RPG games with cartoon fantasy graphics, you'll enjoy it too. eBook: An introduction to programming with BashĬodeCombat has a focus on gamification that makes it suitable for a younger audience.Try for free: Red Hat Learning Subscription.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |