8
votes
What programming/technical projects have you been working on?
This is a recurring post to discuss programming or other technical projects that we've been working on. Tell us about one of your recent projects, either at work or personal projects. What's interesting about it? Are you having trouble with anything?
Learning Minecraft, surprisingly.
My work has scheduled me without asking my availability to teach a pair of students the their next level of Python classes in a newer format that uses Minecraft Education Edition. I'm not really sure if I really like it or not. There are parts of it that have extremely rough edges, some of which I think are because of the company I'm working at, and others because of Minecraft Education Edition seems to be a not-so-great way to teach. I'm worried about having to wrestle the kids away from the game that I am literally putting them right in front of. There are a lot of really mixed incentives with the program, I think. I've played around with the lessons that Microsoft has made, and they are ... not rudimentary, exactly, but they show off the constraints. Every task they have you do is in a world and it seems like it's good because it makes logical sense, but then again you are programming a little robot to do things that if you weren't constrained would be so much easier for you to go out and do it yourself.
But the curriculum I'm teaching is the more advanced stuff, for kids who have already learned these concepts that Microsoft's lessons have been teaching. And so what exactly is the point?
I say this, but really, I think this might be helpful to these particular students because the thing that I find most of my students have a hard time with is being flexable in their thinking. Even if all they did were drawing with blocks, it's still going to need them to learn to think a little differently.
The thing that's really bugging me, though, is that this uses the relatively new Python Notebook editor. The Notebook editor is just stupid.
For one, the editor is just a web browser integrated into minecraft. It's not well integrated, either. You need to click on it before it will register any inputs, so if you want to, for instance, click on a piece of your code. you will have to open the editor with the "c" key, and then click somewhere in the editor before it will actually allow you to click on your code. To run any given piece of code, you will need to open the editor, click on it, then click a second time to actually run it. If you want to see the code in action, you can theoretically press escape to close the editor, but in reality your input is being captured by the browser so you will have to click on the "X" close window button - twice. So basically, everything feels like it's barely working because it doesn't actually do what you want to do the first time.
Beyond that, there is almost zero advantage to using notebooks over a basic editor. For one thing, you cannot save your own projects. Officially, at least; the program tells you when you start a new project it will not save, but it's persisted every time in the world I've created. But even then, the actual usefulness is gimped. For one, you cannot write plain text anywhere. The only option you have is to write code. It seems like they are using the format to integrate lessons - that's how they do it in their example teaching worlds - but for the life of me I cannot find a way to write my own and include it in a world. It seems like you are supposed to be able to write rich text and insert gifs and images and even have multiple pages, but none of that functionality is exposed to the user. The only things I have found - by accident - were that you can press "a" when not in an editor and a new editor will appear somewhere, press "x" and some editor will be deleted, and sometimes pressing "z" will bring back an editor that was deleted. So basically, my only real option to teach my students is to be sitting next to them and walking through everything bit by bit.
I have been learning how to read code in larger projects. Since my programming experience has only been in school, I have not had to take on a larger codebase that I need to modify and debug. The project I am working on is a fork of someone's personal project, so code comments are minimal. So I have been slowly piecing together all the project libraries it is using and for which. I have a rough understanding of the overarching concepts, so now I am creating a flow chart of the different app pages and trying to figure out which methods are called and when.
Didn't realize that my previous comment was at the near end of the previous thread, and since
I wasted far too time during workit takes more effort than you'd think to change lyrics: enjoy. It's based on '2 days into college'. Gotta vent frustrations having to deal with a frontend you barely control.