Take a look inside 5 images
Pros: Fun, engrossing game where kids learn a full range of programming skills.
Cons: Though the minimal hints do force kids to figure out solutions on their own, some kids may feel defeated by the challenge and give up.
Bottom Line: Cargo-Bot is a simple concept that packs a challenging punch and teaches valuable programming skills.
Use Cargo-Bot to bring STEM into the classroom. Have a programmer talk to kids about careers in computer programming, the importance of each step of the coding process, and how the game relates. Once kids have mastered the concepts, encourage them to write their own programs using tools available on the iPad, like Codea, or online, like Scratch.
Cargo-Bot is a tough game where kids write programs to control a robotic arm, making the robot move crates into the configuration shown at the top of the screen. Kids can work through a six-level tutorial first to get familiar with the controls and features (even the tutorial can be challenging!).
They can then move on to the five levels of play -- easy, medium, hard, crazy, and impossible -- with six puzzles each. The goal is not only to get the crates moved but to move them in as few programming steps as possible. A misstep crashes the crane into a wall, destroying it, but kids get unlimited chances to solve each puzzle and can replay for a higher score.
The concept is simple: Direct a robotic arm to move crates to a designated spot. But young programmers will still find the implementation quite challenging. And just like in coding, a working solution may not be the optimal one. Scores depend on how concisely the program runs. Since kids can replay each level, they are empowered to take chances and to try multiple solutions -- even when they've had a successful one -- to find the best solution. Cargo-Bot encourages the kind of innovative thinking necessary for building programming skills.
As kids drag and drop directions into place to make the robotic arm move, they'll learn the gist of programming concepts like procedural abstraction, subroutines, looping constructs, and conditional programming, all without having to master the lingo or detailed syntax of code. Kids will practice tackling a big problem by breaking it down into smaller steps, a foundation of writing good code.