General questions about the platform
HI! I've been working as a software developer for over 20 years and I'd like to teach coding to my nephews using Minecraft Education. I bough a commercial Minecraft Education license and found the blocks, javascript, and python APIs to be super intuitive and easy to work with. Both my nephews are super into (and proficient) with Minecraft but live in a different country. I'm planning to use Minecraft Education on my computer and share the screen via Zoom for the initial part of the lessons (where I teach them a particular concept and set expectations for the rest of the hour). However, they'll be using their iPads for the game and a computer for Zoom so they won't be able to share their screen to show everyone else what they're working on or their code.
1. Should I just have each person host a new world based on a template and when we get to "show and tell", or I want to hop in to troubleshoot, or see their progress, we can do so freely? Since I won't be able to walk to their computer and help them debug the code, what's the remote-friendly way of doing this?
2. If the above is the right way about this, will their code be executable by all participants or is everything in the code window only visible (and applicable) to the player who created it? In other words, if the world owner adds an event, will it trigger for everyone who joins or only the person who wrote the code? I'm guessing this works for everyone, but if it doesn't, what's the proper way to share code so that other students can easily try it in their own world?
3. I just found this website https://minecraft.makecode.com which contains a coding UI almost identical to the one in-game. However, since we're not in the context of the game, running the code with the play button does nothing. What's the point of this UI? Is it just a teacher aid to show students some code without going into the game? Is there a way to link it to a particular world so that whatever you code here gets synced to the game?
Thanks in advance for answering these questions. I'll be happy to provide more details if I wasn't clear enough.
-
Hello, Julian Vidal - I think learning programming in Minecraft is the best and most engaging way to learn Python, block coding and programming in general! I hope you love it as much as I do!
I suggest that you do not use hosted worlds. You can if you like, but it adds a level of complication.
If you create code, either in the micecraft.makecode.com site or in the game, you can share the code with someone else by clicking the share button in the upper right corner. Name the project.
1 -
Sorry to answer my own post, but I cannot edit after adding the image. Name, publish and copy the link to the project to share it. You can share your work or they can share with you.
Your nephews' interface will be a little different, but I think they will be able to zoom along fine with you with a separate computer to see your screen.
If you do use a shared world, code has to be shared by link. But the consequences of the shared world are a little tricky. You will live with the in-game consequences (for example, if it rains, it rains on everyone.) Your code cannot generally perceive the actions of another player (like an event that "knows" that they broke a block," but you can affect another player (like putting conditions or killing them!)
As far as saving code goes, your MakeCode ~should~ save every time you run it - whether it is Python or block based, however best practice is to publish and share as backup. (less tears! imho.) Python AZNB, imho a fantastic IDE, where I teach CS1, sadly does not save code. Saves are manual copy pasta. Dark Ages stuff, but a small price to pay to see your code spawn mooshroom cows and place budding azalea walls. =]
I am happy to chat any time! What an exciting adventure!
0 -
Hi Debbie, many thanks for the speedy reply! I have some follow up questions about a couple of things you suggested:
> I suggest that you do not use hosted worlds [...]
> If you do use a shared world [...]
When you say "hosted" and "shared" do you mean the same thing? I'm trying to deduce this based on the context but I'm still unfamiliar with some of the concepts. Did you mean that it's easier for each student to work in a world that's created by them using "Create New World > Play" and not "Create New World > Host"?
To give you a little bit more context, I have enough authority over these two hooligans to avoid any shenanigans (them killing each other or breaking each other's stuff) so I'm not too concerned about that. Both have been very respectful during our countless hours of regular minecrafting.
-1 -
Good catch - I should have been consistent. Yes, I did mean the same thing. Someone has to host a world for folks to share a world, so I end up switching my speech around. Sorry.
Since you are dealing with a small group - go for it! Why not! the worst that can happen is you start over. =] It can be incredibly engaging to be in a shared space. Let me know how it goes. Please connect with me if I can help in any way.
0 -
Debbie, thanks once again for all your help.
After having met with my nephews a few times, I figured I would post my findings in case it helps someone else.
1. Kids are completely mind blown. My sister in law told me that one of the kids keeps saying that this is the best thing that has ever happened to him. Kids are known to exaggerate on occasion, yes lol.
2. The first class was a bit chaotic because I was learning the environment myself. I used a starter construction template (the one with the different squares for each student). This ended up not being the best for our use-case because the build area was a bit small. We switched to a plain flat world and everyone has enough space to destroy stuff at will.
3. Now that I know what level each kid is at, I can fine-tune the assignments so that whatever I give them is juuuuust barely out of their reach. Just complex enough to keep them engaged (which prevents them from getting distracted and start to blowing s***t up) and also simple enough that they can actually reach the goals.
4. I always host a world and have them join. This works really well for us but can totally see how this would definitely not work for a bigger class or with students who are not your family. For that I would absolutely have each kid in their own world. I've found instances where the server starts doing strange things, so I have everyone save their work (grab a link), I start a new world, and everyone continues off where they left.
5. Things to avoid: the "forever" block has consistently been buggy in our experience. This is such a shame because it allows for really cool stuff to be done.
6. One thing they love is when I prepare a few projects before hand, show them the code via screen share, and have them try to figure out what it does by just looking at it. These examples are way above their level and I always make sure to include blocks and/or concepts they are not familiar with (eg, arrays, algorithms, functions). This opens up high-level discussions about these topics and plants the seeds for them to start thinking in those terms. For example, several times in unrelated conversations they've said "couldn't I do this with arrays?". Even though they've never actually used arrays, they understand the concept and are already thinking in cools ways to use them to solve their problems.
7. Another thing I do is give them "missions". I have them chose one mission out of a list and they have to wirte code to complete the mission. This allows everyone to chose whatever they want to learn instead of me teaching the same thing to everyone else. Again, I craft them in such a way that they have to use something that they don't know in order to complete them. This puts them in the mindset of reading the help, looking inside every block menu, and trying to figure things out on their own (which is basically what you do as a software developer in the real world). One thing is to teach how to code, another thing is to teach problem-solving and self-reliance. I think we can do both with Minecraft Education, depending on how you approach each topic.
That's about it!
PS: For some reason, the forum doesn't send me emails with notifications. Can't seem to find where this would be set ¯\_(ツ)_/¯. I suspect this has something to do with the bogus email address that ends with "onmicrosoft.com" I have to use to login?
1
Please sign in to leave a comment.
Comments
5 comments