Teachers will find CodeMonkey offers a friendly but challenging introduction to computer programming, with a bit more rigor and knowledge transfer than can be found in the early-elementary coding tools that don't engage with actual scripting. The easy-to-read code and easy-to-follow connection between the code on the right-hand side and the action on the left make it a perfect platform for talking about some core concepts in programming. Kids will enjoy the challenging puzzles and the cartoon setting. To implement, teachers can rely on the full set of detailed lesson plans included in the classroom version and use the dashboard to track student progress and achievements; the interface also includes an answer key.
CodeMonkey encourages students to "write code, catch bananas, and save the world!" Students help a monkey retrieve her lost bananas, journeying through a whimsical map full of procedural coding puzzles. Each of the hundreds of included levels is viewed from a top-down perspective, and students must write and "run" code snippets on the right side of the screen to steer the monkey across each level on the left side of the screen. This two-sided style helps students instantly see the results of their work, and the game steps through each line of code as it's acted out on the other side of the screen.
Each new level of CodeMonkey introduces an additional piece of code or a new function, or challenges the player to put the pieces together for themselves. After players get the gist of the interface and puzzles, the focus is on getting each solution to not only work but work efficiently so they receive the maximum number of stars. If students don't receive the maximum number of stars, hints are given as to how to write more effective code. Students can share their best solutions and even create challenges once they've finished all the puzzles, while teachers -- with the paid classroom or school version -- can track students' progress and help students with an answer key of all solutions.
Be advised, though, puzzles can be tough and will stump students. While there's a lot of support -- there are plenty of in-game hints, teachers have the solutions, peers can share theirs, and the developers are available for consultation -- students will still be challenged to do their best. Lessons are grouped into sections that help students learn one skill well before moving on to the next. Each lesson builds on previous learning. Programming concepts covered include loops, variables, function calls and definitions, objects, arguments, arrays, for loops, Boolean conditions, until loops, if and if-else conditions, and keyboard and mouse events. Future releases will include even more topics.
Key Standards Supported
Define a simple design problem reflecting a need or a want that includes specified criteria for success and constraints on materials, time, or cost.
Generate and compare multiple possible solutions to a problem based on how well each is likely to meet the criteria and constraints of the problem.
Plan and carry out fair tests in which variables are controlled and failure points are considered to identify aspects of a model or prototype that can be improved.
Define the criteria and constraints of a design problem with sufficient precision to ensure a successful solution, taking into account relevant scientific principles and potential impacts on people and the natural environment that may limit possible solutions.
Evaluate competing design solutions using a systematic process to determine how well they meet the criteria and constraints of the problem.
Analyze data from tests to determine similarities and differences among several design solutions to identify the best characteristics of each that can be combined into a new solution to better meet the criteria for success.