What to do about an unprofessional instructor? I'm a Chinese freshman majoring in statistics. It's not me, but my classmates who are suffering from poor teaching in their Python course. They have no prior programming experience, so they aren't aware of their instructor's mistakes, but I think this must be stopped.

Let me show you this instructor's unprofessionalism:


She teaches the students Python by playing videos to them, which show her giving lessons to the seniors. Actually, she didn't say more than several sentences during a four-hour class. If one can learn Python simply by watching videos, why should one bother to come to the classroom? Students need face-to-face teaching! Also, I guess her video tutorial can't be the best one among all those online resources.
The students don't have time to practice in class, because their precious class time is used to watch pre-recorded videos.
Here is some of her code:


s=input("s:")
patten="0123456789"
for x in s:
    if x not in patten:
        print('非全数字')



While it's merely an incomplete code snippet, I suppose the misspelling of "pattern", the existence of "0123456789" instead of string.digits, and the mix using of ' and " is enough to demonstrate her ignorance of good coding.


s=[11,22,33,44,55,26,47,88,12,19]
a=[]
for i in s:
    if i%2 != 0:
        a.append(i)
    else:
        continue
print(a)



Yes, this works, but it's definitely not pythonic, and my classmates are learning Python, not "C/C++/Java programming in Python". If I were the instructor, I would teach them list comprehension.

In fact, she is the chief editor of the textbook being used, and that textbook is also unprofessional in my opinion. For example, it opens a file using f=open(...), rather than with open(...) as f:.
She never ends the class on time. The class is scheduled to end at 11:30AM, but usually the "hardworking" instructor ends the class at around 12:00pm. Probably this is because her videos can't convey much information in 3.5 hours.


My question is: what can I do to help the students? I think Python programming skills are very important to statistics students, and my classmates deserve a better instructor. I didn't take that class, so I don't mind it if I do something that may anger their instructor, because she can't give me a failing grade.

My fellow students think this instructor is "not that bad", presumably due to their lack of programming experience, and thus are reluctant to make a change.
Well, my answer is twofold:

First, the teaching method ssems like a misunderstood version of inverted classroom teaching - maybe an explanation how the teacher could support the students better might help. But it would be best if this comes from the course members or some students organization and not from an "outsider" not involved in the class. 

Second, the "bad coding style" - it's hard to tell what is good or bad without context. Some problems are obvious (e.g. "unpythonic" using of space characters, typos) and you could point to the official coding guidelines which are worth reading for any programmer anyway. Maybe you can suggest those as course material. 

All other "probelms" you identified could be part of the teaching concept and there are rationales for each:


I would not introduce string.digits (and any other library method) to beginners unless they see a need for it. The task given could be a step towards generating such a need. 
The mix of ' and " could have educational purposes as well (even though I would have used an example like my_string = "let's say 'Hello'").
List comprehension is hard to understand for beginners. It is a powerful concept for intermediate or advanced programmers, but usually beginners are having trouble understanding the nature of a loop. 


Maybe you can offer to support the course as tutor / student teaching assistant or else, with this you could influence the course content and improve the overall situation.