I am a Computer Science freshman. The instructor of one of my programming classes, where they're teaching Python, is absolutely incompetent. I have been programming since high school and I can tell.

After giving a very bad introduction to Python in the online classes, all they do now is give a list of questions to solve and sit back. The first day this happened, I solved every question and was told to explain everything to the whole class. I did and that was the end of the class. No contribution from their side, whatsoever. Basically, they are finding ways to somehow get by, and seem to have years of experience at it too.

I feel something needs to be done. My first thought was to complain to the authorities, but if nothing is done and they stay, I may have a hard time when I go to college (I was talking about the online classes, remember?).

So, what should I do?

I chose the word "incompetent" because it is an apt description of the said instructor. That is what you call a programming instructor who doesn't know what a return statement does or how to iterate over elements of a sequence (programmers will understand how basic this is).

I wonder how they even lasted this long.

At last, I figured I should just mind my own business. I talked to my classmates. Turns out everyone was having the same problem. We complained to the department head. The course is being restarted, but the instructor is the same. I don't know if it was even worth the effort.

  • Comments are not for extended discussion; this conversation has been moved to chat.
    – eykanal
    Commented Oct 7, 2020 at 17:39
  • How long have you been programming? If you are a freshman, and have been programming since high school - that could mean less than one year.
    – Evorlor
    Commented Oct 9, 2020 at 1:15

10 Answers 10


First, talk to your classmates and find out if they feel the same. It could be that you are simply ahead of them and that the others actually appreciate the class.

If many fellow students have the same impression, you can try to do something about it. First, you can talk to the teacher and indicate that many of you think that the level of the class is too low. If that doesn't help, you (as a group) can go to the head of department, study coordinator, or whomever is in a position to change something. It may help to approach a person you know well (who may refer you to someone else if necessary).

If your university is any good, they are probably very much interested in critical (and constructive) feedback from the students. But it may be hard for them to make those changes instantly.

I have been in a similar situation as a student and the entire course was changed after the feedback we gave with (almost) the entire class. But it only helped the students of the following years. They could not do much to fix our class while it was already running unfortunately.

Of course, nothing stops you to learn more advanced subjects on your own (useful for later) and ace the exam.

  • 3
    Recruiting a group of complainers seems passive aggressive to me. I also doubt the head of department does not know about it already. Commented Oct 5, 2020 at 22:48
  • 49
    @AnonymousPhysicist I think it's good to know whether other students are experiencing the same frustrations as you or not just to make sure it's a real issue for the class and not just a personal issue for you. And the chair may or may not know about this, but definitely nothing will change if no one reports problems.
    – Kimball
    Commented Oct 6, 2020 at 1:58
  • 28
    This is a good answer, and I certainly disagree with @AnonymousPhysicist's comment. First, the head of department is certainly unaware of the day-to-day substance of most classes, if this is like any department I'm aware of. (Keeping abreast of classes would be a full time job itself.) Second, if a large number of students agree with the criticisms, it demonstrates that the complaints are substantive. Faculty in general do not like to hear whining, but they do want to hear thoughtful (and well stated) concerns; gathering many students indicates the latter and not the former. Commented Oct 6, 2020 at 2:09
  • 10
    @AnonymousPhysicist assuming there were any.
    – Dan M.
    Commented Oct 6, 2020 at 11:33
  • 1
    @DanM. assuming the students even did them.
    – cela
    Commented Oct 6, 2020 at 19:24

This is more of an extended comment, placing some guesses as to what's actually happened here. As an answer to the question it is the advice to consider which parts of the following applies to your situation, and adjusting any actions you may take accordingly.

Keep in mind that computer science is not programming. This instructor likely doesn't code much Python in their main job (CS research presumably), nor did they necessarily ask to teach Python. Rather, the departement decided to teach Python as a beginner language, and somebody needs to do that teaching – somebody who knows enough about programming to help actual beginners, which will be helpful to the course's intended audience, but not necessarily an actual Python expert.

You, apparently, are a Python expert, which is great – relax, this course is going to be easy for you, and if you can even contribute to making it better for your fellow students, awesome.

But don't let your superiority in Python fool you into thinking the instructor is inferior as a teacher of a beginner's programming course. You think their introduction to the language was bad... why?

  • Was it hard to understand? Well, that could mean they explained stuff badly, but surely you as an already-expert wouldn't have had problems regardless?
    Maybe they actually explained some aspects that really are more tricky than you ever considered.
  • Was it too shallow? Well, that may be exactly what's right for your fellows without earlier Python background.
  • Did it use outdated or unidiomatic code? This happens a lot in university courses, but it's not necessarily such a bad thing. Keep in mind that anyway today's up-to-date is just tomorrows outdated and one language's unidiomatic is another's bread&butter. General concepts are more important in a beginner's course than language-specific details.

Regarding your concrete statements,

doesn't know what a return statement does

I plainly refuse to believe that. I mean, if it's really that bad then forget all I wrote above... but almost sure there has just been a misunderstanding here.

or how to iterate over elements of a sequence

That too should certainly not be a problem to anybody teaching anything programming-related, however I would still remark that Python's iterators are somewhat idiosyncratic. It's true that for a Python course, they should have read up on this properly, but again make sure you're actually interpreting this properly. First teaching loops with indices before going to range- / iteratee based ones is a valid pedagogic decision, even if it doesn't make much sense as far as Python programming in particular is concerned.

  • 21
    Upvoted for "computer science is not programming." The reverse is even more true.
    – Bob Brown
    Commented Oct 6, 2020 at 16:40
  • 8
    Not surprised if a professor doesn't know or naturally use iterables. Most professors seem to have stalled on syntax as it was taught to them in their schooling, which will be in the C/C++ days for many. In fairness, many of my industry colleagues seem to have the same problem (sure we're using the latest version of Java, but we only use language features that were available in Java 6). Commented Oct 6, 2020 at 19:20
  • 3
    "Python's iterators are somewhat idiosyncratic" bit of an understatement XD
    – CCJ
    Commented Oct 7, 2020 at 20:37
  • 2
    "Computer science is not programming." Funnily enough, this is exactly what the people on Workplace SE are complaining about - CS graduates cannot program at all.
    – user111388
    Commented Oct 7, 2020 at 21:26
  • 1
    @leftaroundabout Interesting point. But I guess this is getting really of topic here now, so let's just agree that a instructor not knowing the python syntax does not have to be a sign of incompetence.
    – allo
    Commented Oct 13, 2020 at 12:15

Having been a teaching assistant in an "Introduction to Python" (which is quite popular now, seems only a few years ago everyone had to learn Java...) for 1st year students some years ago, I hope I can offer you a few perspectives. This is not to try and convince you that your opinion is wrong, only that there may be reasons for you to find this course incompetent, which are outside both your and the teachers' control.

First consider the wildly different starting point beginning students come to this course with. You have been programming in Python since high school. But you certainly also have fellow students who have never written a line of code in their life before. This course is most likely meant to bring everyone to a certain minimum level of proficiency, such that they can understand future course material. For someone with little experience, the best way to get to that point, is through practice. For someone with lots of experience, this means going back to basics.

Secondly, most university courses will not teach you to write code using elaborate techniques or sophisticated libraries, even though this is something that self-taught programmers entering university are used to. They will rather teach you why things are done the way they are, but very much starting from scratch. This is because the skills learned in these courses, should hopefully be transferable from, say, one programming language to another. Iterating over elements in a sequence is a good example. I have had students with reasonable Python proficiency who completely stumbled on that task when changing language to C, simply because they had not understood that the way they did loops in Python is an abstraction.

But all that aside, it is of course very possible that your instructor is, in fact, wildly incompetent. As a general rule of thumb, before making a complaint, ask yourself a) What good will it do me?, and b) What good may it do to others?

Yourself: If you can anyway pass the course without too many efforts, freeing up time to read up on other subjects perhaps, the only thing you will gain from complaining is extra work on your part + perhaps getting a reputation as a person who complains a lot. Given that the course is meant to bring everyone "up to speed", the syllabus itself will likely not change, only the presentation.

Others: In a perfect world, a complaint would do good to future students, who will get more competent teaching. Gauge whether your fellow students - also those with no prior experience - actually get something out of the course or not, and remember that introductions to Python is also something you can do by yourself, mostly online, if everything else fails. So in a realistic world, a complaint might not really improve matters a lot.

So my direct answer to your question is: probably not. If I guess roughly correct, your best strategy will be to keep following the course, get a top grade, and wait for your next course which will be more advanced.

  • 6
    While I agree that it'll be an extra workload, I would honestly wish a complaint by a student would come up. Bad programming courses cost students a lot of opportunities and are basically a worthless hassle, speaking as someone who did tutoring (non official) for six years and counting. Due to a lack of time I got most of my students through the course by "memorize this template, fill in the blanks and you'll pass; can't correct the damage of half a year". Most of them realized that they completely missed out on the opportunity to learn an important skill soon afterwards.
    – user69533
    Commented Oct 8, 2020 at 0:25
  • 3
    He's saying incompetent, not taught at a very basic level. There are utterly incompetent teachers out there. Commented Oct 8, 2020 at 0:52
  • 5
    @LorenPechtel There definitely are. However there are also many students that are incapable of judging the teacher, his methods and their own ability/knowledge. Having been to a fairly good school I've seen many many more of the second than of the first. I'm always wary when someone is too confident that someone else is an idiot.
    – DRF
    Commented Oct 8, 2020 at 11:19
  • 1
    I remember clearly of my time in college how me and my colleagues would pass judgment on what was appropriate curricula and appropriate teaching. My opinion at the beggining and end of my studies was very different, and my opinion at that time is very very different from my current opinion, now that I am in charge of interns. I do recognize a students general intuition of what a bad teacher is, but, not what appropriate paedagogy is. Commented Oct 8, 2020 at 14:37
  • You have to balance any extra workload that follows from a complaint against the extra work that OP is currently doing. Based on their description, it sounds like the professor essentially had OP teach class one day. You can't let that become a habit. OP certainly shouldn't be paying to take the course and teaching it at the same time.
    – bta
    Commented Oct 8, 2020 at 22:37

As a freshman, what authority do you have to judge your teacher incompetent?

University classes are different from HS in terms of what pedagogical methods are applied. It is absolutely within reason to expect university students to learn by themselves, help each other, and the teacher to facilitate this interaction. Switching from an HS model where teachers are responsible for students learning to a university model where students are responsible for themselves may come as a shock to some. Complaining about this is fruitless.

Also, at the university level, it is completely normal if a student shows more knowledge on a topic than the teacher. The teachers are there to facilitate your learning, not to spoon-feed you with their infinite knowledge.

As others suggested, talk to your peers about how they see the class and how much they are getting out of it. If there are shared concerns, bring them to the teacher first.

If you want to get the most out of the course, ask questions to the teacher. If you are the first to solve a problem, ask the teacher on how to improve it in terms of complexity, speed, memory use, extendability, understandability, maintenance etc etc. Create multiple solutions and bring up a discussion on which one is better. Others will also learn from these discussions.

One thing you could do next time is the following: Pass the invite to explain your solution to someone you know is struggling. The struggling student should explain their thought process and, by that, realize their mistakes and give the teacher an opportunity to reemphasize difficult parts.

A sign of incompetence would be if your teacher does not engage in any discussions and are not receptive to any constructive feedback.

UPDATE: If you choose to bring this to higher authorities, your complaints should be that the classes are not helpful to attain the course objectives. Make sure you read them beforehand.

  • 3
    To build on this answer in a pie-in-the-sky optimistic way, OP could use their knowledge to develop a relationship with department faculty, opening opportunities such as TA-ships, letters of rec, research projects, networking in industry, experience with communication skills, etc. All this while helping peers, and opening long-term future networking opportunities with them. A simple change of attitude could completely transform OP's college experience and give their future career a boost. Commented Oct 6, 2020 at 15:49
  • All of what I described won't come from one interaction, but it will gradually build from the repeated application of transforming skills and knowledge into opportunities. Commented Oct 6, 2020 at 15:51
  • 5
    -1 I really don't like the first sentence. Being a freshman has nothing to do with having authority to judge anything. Also the "argument of authority" is a fallacy anyway. What property do you think anyone must fulfill to "have authority" to judge incompetence?
    – Pedro A
    Commented Oct 7, 2020 at 2:38
  • @PedroA: If you're freshman, then you don't know what you're talking about. This is like a private saying that a general is incompetent. Commented Oct 8, 2020 at 21:27
  • @stackoverflowuser2010 In the army, it would be out of order for a private to say that a general is incompetent but they would know if their general (or president) was incompetent. In academia, it is not out of order to plainly state your opinion that a professor is incompetent.
    – emory
    Commented Oct 8, 2020 at 22:25

Teaching problem solving is more challenging than simply explaining solutions to a class. There are methods of instruction that involve giving the class a set of problems to work on, then calling on students to explain the answers to each other. The instructor must choose level-appropriate problems and moderate the discussion of the answers.

It is usually the instructor's privilege to decide how to present the course material. Usually, their teaching is rated by students and occasionally other faculty. If they have "years of experience," their methods may be effective for the majority of students.

What is your goal here? If your goal is to learn the material, you seem to be succeeding since you could solve all the problems. It sounds like you're saying you could teach the class better than the instructor. If you want to be that better teacher, you could work towards becoming a TA or faculty in the future.

  • 3
    Problem-based or inquiry-based learning is a good method of instruction, but if it is not clear to students that is what is going on, then the implementation is incompetent. Commented Oct 5, 2020 at 22:50
  • 1
    "Years of experience" doesn't mean that their methods work well. I had really bad teachers with years of experience. Also, what is the meaning of your first sentence? This person appearantly did not give out solutions, but questions with any help or input.
    – user111388
    Commented Oct 6, 2020 at 5:49
  • 1
    Not knowing how iterators work has nothing to do with teaching problem solving. Why is everyone here so defensive? This question is not a personal critique of yourself.
    – Davor
    Commented Oct 7, 2020 at 13:56

Been there, done that. Almost 40 years ago. (Yes, that makes me old.)

Only real difference is that it was Pascal rather than Python. I had plenty of programming experience from High School (and before, on my own). Class was a waste of time. Teacher wasn't very good. etc.

Let me tell you what not to do: Social media.

In today's environment, anything you say publicly online can be assumed to be there "forever". Anything anonymous (good choice here on SE!) is meaningless to the University - you are just, literally, a faceless complainer with no clout. Anything not anonymous will follow you "forever". And yet anything not anonymous won't actually help because to the University you are "just a freshman".

I almost made that mistake - except that there was no Facebook, Twitter, etc. at the time. There was email and (long story short) I emailed the whole class to commiserate/complain as a group. Fortunately, the TA was quite sympathetic (saw my initial emails, gave me a 2nd email address so I could separate my complaining from my real student tasks) and far more fortunately, the teacher, as far as I know, never saw any of the emails. If the teacher had seen my emails and then checked with the TA to find out who was behind them, I would have been in a lot of trouble.

So I got lucky. But hindsight being 20/20, I was a really stupid freshman and should have never done what I did. Breeze through the course, get your A and move on.

  • This story isn't clear at all. You would've been in "a lot of trouble" for complaining about a course? Why? What kind of trouble? Commented Oct 9, 2020 at 4:20
  • While I didn't think so much of it at the time (I was a teenager), the kinds of things I (allegedly...) put in emails to the entire class and TA about how awful the teacher was were a bit disrespectful, to put it mildly. Was any of it an actual violation of a "Code of Conduct" - probably not directly, but that's because back then, except for "don't cheat", there wasn't much of a Code of Conduct that I can recall. But if I were a professor and got wind of such blatant disrespect, I would have found a way to punish the culprit. Commented Oct 9, 2020 at 4:38

Not sure where you are located, but it is not uncommon at many places to see totally incompetent instructors.

I myself had many such courses. I'd suggest you to focus on your learning and leave university handle. If they do not ask you for anonymous feedback, chances are they don't really care and this is not your problem... until you try to resolve it.

Funnily one of those courses, I was happy to have an instructor that didn't care a lot. Books were good enough to learn from and instructor let us do whatever we wanted with the equipment so experience was better than anything else.

Now this is not your current experience. Still, just figure out what you need to know by the end of the course and learn by yourself.


Talk to the student's association. I hope your university/department/subject has one. They should be able to have a more experienced student check out the class, know the correct channels and might even have some political clout at the university.

(just complementing other answers because this wasn't mentioned yet even though it seems so obvious to me)


Your question implies the instructor is not new. It is most likely that the authorities at this university are totally aware of what the instructor is doing and how competent they are. It is quite likely they are employing the best person they can get for the amount the university is able to pay. Furthermore, the instructor's performance might be reduced by the pandemic, which cannot be fixed.

My advice is that complaining is useless. However, you could approach the department chair and tell them factually what you are experiencing. Ask them what you can do to improve your learning experience. They might have good advice for you.

  • 3
    "It is quite likely they are employing the best person they can get for the amount the university is able to pay." How do you know? This is highly dependent on the country as well. In Germany, lecturers cycle, so there's a different teacher each year. Commented Oct 6, 2020 at 10:24
  • @infinitezero: What you say about Germany is certainly not true for all universities and all departments.
    – Schmuddi
    Commented Oct 7, 2020 at 17:52

Your question was: "So, what should I do?" If you decide to make a complaint you should have enough information... enough FACTUAL information to prove a point. Your opinion will not matter unless you have incidents which point to incompetency. This means that you will have to document your experiences in this class. You should keep a log with the basic answers to what, why, who, when, where and how.

Ultimately your decision will be based on your conscience.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .