I’ve mentioned a few times that I’m taking an Intro to Computer Science course, as part of my plan to eventually get a degree. Now, I knew that I’d have to pay some dues and take some courses well below my level, but I figured I’d have to learn SOMETHING along the way.
So, we’re doing Python in class. The book we are using is pretty cool, though I read it cover to cover before the first course started, and got hooked on Python and now have about 3-4 other books on the subject. Good stuff.
Now, if only my professor knew anything about Python, or even about programming or computers, it might not be so painful to sit through the course. For example, one day he pulls out a book and writes a private Java class method on the board. He tells us to type it in and get it to run. I point out that it is not Python. This comes as a surprise to him, but he looks it over and says, “Well that’s OK, it should still run anyway.” If you know anything about Python’s syntax, or anything about anything really, you should have a pretty good idea that you can’t just rip a method out of a Java class and compile it as a Python program. But I had to really push this point home to him before he conceded. Lots of examples of stuff like this throughout the course. I’m sure my blood pressure was sky high after every class.
Anyway, we had our mid-term a few weeks ago and last week we reviewed it. I got a 92, which was ridiculous, since I know everything about the stuff he asked about. There were two questions which were worded in such a way that I had no idea what he wanted. Example:
True/False: The value of a password is _____.
Huh??? (The correct answer was “secret”. hmmmm….ok.)
Another one:
True/False: A local variable can be modified as global.
I’m not sure what that means. I said false and added a long winded explanation, but still the answer he wanted was true.
Two others he was just completely wrong about:
True/False: Errors found early in the programming process are more expensive to fix than errors found later in the process.
Obviously false. Everyone in the question answered it false. He insisted it was true, though what he was saying was correct, he wasn’t reading his own question correctly. Finally after about five minutes of arguing, he saw his error, and agreed to give everyone credit for that.
Oh, somewhere along the discussion of the midterm answers, someone asked him about .NET. He’d NEVER HEARD OF IT!!! OK, I don’t mean to say he has to have specific expertise or experience in it, but he had no idea what .NET was. He started explaining about domains: .net, .org, .com. I finally explained to him what it was. But he still didn’t get it. He still thought it was a domain name. I mean how can you be a computer science professor and not have at least heard of .NET???
OK, final question:
Is Python case-sensitive?
Answer: Yes.
Answer given by every student in the class: Yes.
He marked us all wrong. We all protested. He insisted that Python was NOT case-sensitive. A student fired up Python and demonstrated it. He looked and saw but still didn’t believe it. He said, “That can’t be. Python was designed to be a very simple language. There is no way they would have made it case-sensitive.”
I started to get really pissed. I said, “It IS case-sensitive. PERIOD. That is the answer. It is!”
He chuckled a bit and said he was pretty sure it wasn’t. That’s when I really lost it.
“DO YOU KNOW ANYTHING ABOUT PYTHON??? HAVE YOU EVER WRITTEN A SINGLE PROGRAM IN PYTHON?”
He chuckled again and said, yes, of course he had.
“I don’t think you have. If you ever touched it, you’d know that it is case-sensitive! You’re supposed to be teaching us, but you don’t know the first thing about the language. Everyone in the class knows more than you. This is ridiculous!”
He gave in and gave us all credit for that question. I got a 98 on my midterm. Probably could have argued the last two questions, but I took my victory and went home with a smile on my face that day.