My programming class is starting to bug me again. Yesterday's class broke down into a two hour question and answer session about our homework that's due tomorrow and the practice exam that we received. We covered no more than 5 minutes of "new" material. This thing used to happen back in high school. The teacher would assign the homework, no one else would do it, and we would spend all class going over it. I sat and wondered why i wasted my time the night before actually completing the assignment.
Answering specific questions isn't teaching; it's tutoring. Student should be expected to put some forth some effort outside of class to try to complete the required work. If problems arise, they might choose to consult the textbook for some help. I'm pretty darn sure most of my classmates haven't looked at the book since they bought it at the bookstore. If the student is still stuck, he can stop by during the professor's office hours for assistance. Our instructor even booked the classroom an hour before class starts to be used as an informal study group. That would be the perfect time to ask about any problems that may keep one from completing the assignment.
I'm guessing there are so many questions in the first place because we haven't spent enough time on the fundamentals of programming. We don't have time for the fundamentals because class is overrun by questions. I'm not saying all questions are bad; but there is such a thing as a stupid question. Questions should be used to clarify rather than instruct. I feel like the teacher has lost control and he doesn't even care. I'm guessing it's a lot easier to answer questions rather than stick to lesson plans.
I have one last thing to complain about. Here's part of one of the problems on the practice exam where we are supposed to follow the code and write down what it outputs:
if(x > z - y && z > 5* y || z > z % x)
This code sickens me. It's so contrived and purposely obscure. Beginning programming students should only see good examples of code with well-named variables and proper commenting. We should be able to understand what the code is trying to do. If we can do that, then we can work an identifying logic errors or reasons why the code may not do what the programmer things it will. Learning the gritty detals of Java syntax and order of operations shouldn't be as important as learning to understand and appreciate the art of programming.Posted by Matthew at March 22, 2005 10:05 PM