For knowledge levels, I'm aiming for "already knows a few things about programming", but I'm actually trying to give a snowball's chance to people who've only programmed from an IDE, or run a bunch of MATLAB code without ever touching a command line or similar. I won't explain things like what if or for means for the people who didn't notice the class specified "some programming knowledge". That said, anyone who's in this class and hasn't given up yet, I'm interested in any feedback (and hope the staff for this class notices as well). Same for people who want to yell at me and tell me I'm wrong. I also sometimes mention things without explaining them. Many of these things are "useful if you know what this means, but confusing if you don't." If you understand only 80% of this you might get along just fine with only that 80% for now.
I try to link to documentation where relevant. You'll notice I give almost no logic specific to the assignment; I'm just trying to tell you exactly which parts of Python you need to know before trying to figure out what to do with it. I skip over explaining stuff like print that you can figure out from context for the same reason. I often mention something and immediately say "don't do this". What I mean is, "this is generally a bad idea, but I think you should know it exists. Avoid it for now and look it up if you're that curious."
I'd normally wait a day and edit before