re: the approach -- My kids are crazy about Minecraft, and being able to build very simple python programs that modify the world (build block structures, control creatures, etc.) is much more gentle yet engaging than the typical programming 101 tasks.
At the end of my adventure with it, I had some code that would read a png from github from minecraft, then use the 3d printer to create a series of blocks by using the 'pixels' from all server allowed blocks. The personal requirement was to not do any sort of color manipulation and only use what was available. The pixel position from block to block doesn't change, and transparency could be coded outside of the png, so it became pretty damn difficult really quickly.
In the process I got to learn about png, cv2, jit (to pull the available blocks' pngs and eventually for an attempt in finding consistent transparency logic. Flowers.....), minecraft's internals, voxels, some lua, more python and some interesting algorithm stuff.
Life got in the way and I never actually finished, but the block directly to the left of the cursor was the last block created. Despite its ugliness, I'm actually pretty pleased with it. https://imgur.com/dqwnnL2 which is part of https://imgur.com/gallery/giajLha (dickbutt baby, nsfw kinda)
I am required to use a Free license as an educator and the massive appeal of voxels is undisputable.
http://manicdigger.github.io/ (Unlicense)
I am pretty sure there are more out there and as far as I know minetest is closest to minecraft with this mod for for redstone circuitry thing (https://forum.minetest.net/viewtopic.php?f=11&t=628).
once you've exhausted these lessons you can show them blender