Pros: Simple to follow building instructions, parts snap in place easily, fun to use, pricing.

Cons: Need several hours to construct, battery wears down quickly.

If you have a child, are friends with someone who has a child, or are a child, then you know everything today is about teaching kids to code. Toys that proclaim they can teach children how to code are today's trendiest options. The problem is few building-from-scratch devices or coding programs can be done—by a young child—on his or her own. And few that can end up with a rewarding experience of, say, a robot that can touch its toes.

UBTECH Robotics is a Shenzhen, China-based robotics company that's been pushing out its line of build-your-own robots for a few years. Its dancing humanoid figures have certainly made the rounds of Toy Fair. This year, UBTECH presented an updated line of robotic dogs, boys and a tank that looks uncannily like WALL-E.

We were lucky enough to get our hands on two of these kits, and put ourselves to the test with one of the first from the company's Jimu Robot line: the $149.99 TankBot Kit. Although designed for children age 8 and up, we were honestly glad we weren't being watched by younger versions of ourselves while we put the robot together and got it to work. TankBot did work. But our larger (and older) fingers needed a little extra time to get things up and running.

Jimu TankBot Kit pieces are small, so pour a cup of coffee, and set aside some time.

Design champs

Opening the box was like a Christmas experience. Jimu packages the 200+ parts into tiny rainbow colored boxes. Parts are easy to find, and inside the cover is a diagram of each plastic piece and their number.

Find the main control box—it's the largest piece—and the charger and get that charged first. It might take one to two hours, but you can't start building until that piece is fully charged. When you plug the control box in, it will light up orange/red. When that light turns to green, you're good to go.

The box does come with a Quick Start Guide. But honestly, you're going to need to download the Jimu app (iOS and Android) to bring these pieces together. And there are a lot of piece. Still, when I had all of them unboxed, I honestly did not know if there were enough to build TankBot. There are. And that's actually a plus to UBTECH: The pieces do come together, and there's a lot of pride in the end after turning bags of wires, small gears, plastic cylinders and servo motors in a jumping robot.

The Jimu app is well-designed, walking you through each step to build TankBot.

Download the app

The Jimu app is simple to download. You'll open the app on your smartphone or tablet, and the instructions will patiently walk you through each single step, not pushing you forward until you're ready.

Although the app indicates that there are 12 steps to putting TankBot together—each of the 12 actually have 10 to 12 steps of their own. Set aside some hours. (Really.) And keep your smartphone or tablet plugged into a power source. I had to recharge my iPhone twice.

On the plus side, the app is clearly marked, even animated, showing you how each piece slides into place. You can go backward to repeat a step to make sure you're putting the pieces together correctly. (I did this several times.) You can also rotate the image in 3D, plus zoom in and out. This last feature is absolutely genius. And you'll need it to make sure you have pieces turned the right way, that attachments are connected to the right connectors, that you've got a piece facing on the AB side rather than the CD side, for example, and that you've used the right servo motors in the right place.

Because you'll be using pre-coded actions (at first), these motors need to be placed in the right spots or arms, legs and tracks won't move properly. I loved the app.

Don't forget to turn TankBot on before you try to run your robot.

Awkward steps

I can see why young children would be speed demons putting TankBot together. There were a number of times where I almost wanted a tweezer to slide wires into different plugs. And at some steps had you attach wires much further in the process than I thought helpful.

For example, at one point, a wire was just too twisted to attach and I had to take apart a few pieces to get the wire snapped into place. Also, the instructions don't really highlight that some of the wires are different lengths. So towards the end I needed two different three-pin wires that were long enough to wrap around the last remaining servos.

I had used one of the longer wires earlier, and the remaining short one did not reach. So again, I had to backtrack. And in this instance I was nervous about pulling out the wire and stripping the pin connections. I managed to do it, very carefully. But this was tricky and time-consuming.

As I mentioned earlier, you can safely assume you'll find you attached a piece the wrong way, upside down or on the wrong section. While the pieces don't snap as easily as Lego, they do come together—and pull apart—fairly simply.

My only real problem—when I thought perhaps I may have broken the entire robot—was when I had to insert four red fasteners and didn't pay attention to fitting the shorter marked end into a connector grid. They got lodged in the wrong way and a tweezer did not get them out. I resorted to pushing them against a table (yes, banging them...okay?) until the finally dislodged. So: pay attention to the notches on all the small cylindrical fasteners. You'll thank me.

Green light on TankBot means you're fully charged and ready to roll.

Scare the dog

This may not be what you did, but TankBot turned into a gasping-for-air hilarious dog vs robot experience when we finally got it rolling. Once you're done with your robot, the app will honestly move you through to the operational options. First, you're going to need to turn TankBot on. That switch is located on the back of the robot: but you'll know that because you just built it.

Then the app is going to take 10-15 minutes to update its firmware. Make sure you have Bluetooth on whether you're using a tablet or smartphone, and then just have a little patience. Once done, the screen will open in the app with a menu of action codes.

Pre-coded action steps makes it easy to start playing with TankBot once you've finished building.

There are several codes pre-installed that let you just tap and get TankBot going. From 'Move Forward' to 'Celebrate,' 'Turn Left' to 'Circling' these are simple, clearly marked and fun. My favorite? 'Exercise,' because TankBot turned into a calisthenics machine—and my dog Jasper decided TankBot was a danger to himself, and to others. We never had a real bite occur, but Jasper was not pleased. After about 15 minutes, he began to eye TankBot suspiciously but allowed him full run of the apartment.

You can also use your smartphone or tablet as a joystick, moving TankBot around with a bit more dexterity and even slow down or speed up his movements. We found some obstacles a bit too difficult for TankBot including rolling over door jams. No go.

Coding for fun

The coding you'll do is located within the app where you can build and block out different actions for TankBot based on the servo motor numbers. You drag and drop them into the cue, then name the action, and it shows up in your original list as the pre-coded actions. I built one called Action Jackson. (Don't judge.)

This element, the ability to design your own way for TankBot to act and move, is what's key to toys like it and others, such as Sphero. Students enjoy making things move. Students learn when they enjoy making things move—and can control and then direct that action. That's the next step in play: having fun, and learning why. All education should be designed this way.

As for me, after spending hours building the robot (and feeling pretty proud of myself, I must say), I really liked peeling back the cover and seeing how I could design my own set of actions for TankBot. While not all were successful (and I earned a fair share of errors) I'll be returning to TankBot to try again. Which is to say, no matter our age, we can all enjoy being a student.