Are you limited to python specifically? Because it'd be super simple to get up and running with C# and unity. There's so much documentation, full example projects, even videos guiding you step-by-step constructing whole (albeit simple) games.
as far as I can tell, python's required. in fact, I think the teacher started them off, because there were some things in his code that are not exactly "good ideas"
and it's not that it's incredibly offensive to do these things. but a modern python tutorial would teach you otherwise, so this stuff would've had to have come from someone with old knowledge about python
python's great, though. and pygame
it's open-source, which means you can find out anything you need to find out, just by looking at it (also it means that using it supports open-source software ;3 )
unreal is open-source too, which is wonderful, but I can't say that about unity :///////
an installation of pygame also comes with several examples, naturally with the source code included for each one
the documentation is... actually, not that great. it definitely gets the job done, but it would be nicer if it was on par with the official python documentation. an offline version is also included with an installation of pygame, so you don't need to go searching around the internet for it or anything
most importantly, it's very easy to use, and lightweight. you don't have to download half a gigabyte of software to get started. the python 2.7 installation on my computer is about 100MB, and that includes pygame, plus whatever other unrelated modules I have installed. just a text editor, python, and pygame
plus you'll be able to run it on just about any computer (important for schools with limited $$$)
edit: I failed to mention this, but it also introduces you to the way games really work.
LÖVE does the same thing
that is, you work with frames, rather than... uh, idk how to describe the sort of thing you do with unreal and unity kinda stuff
like, in pygame and love, you have a loop of code that it goes through every frame. and you have to do stuff between those frames to change the state of the game
but in unreal or unity, it's a lot more abstracted. that stuff is definitely still happening, but it's on a lower level that you don't normally need to mess with
which is a very useful thing to know if you're ever gonna be doing anything low-level