March 22, 2005

Teaching versus tutoring

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:

int x=3,y=5,z=16;
if(x > z - y && z > 5* y || z > z % x)
   if(x+y>z)
      System.out.println("England");
   else
      System.out.println("Germany");

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
Comments

Copy this post in your end-of-class evaluation.

Posted by: William Clifford at March 23, 2005 08:05 AM

Well said, Picasso. I second his suggestion.

Posted by: Joshua Clayton at March 23, 2005 08:07 AM

Coming from the persective of a younger student.....

You also have to understand that you probably know a lot more about this stuff than the students in that class do. They are taking the class to learn about the stuff you already know. So when they have questions, it's because something in the book or something that was said in class didn't make any sense to them. Whereas, it might have made perfect sense to you because of your previous knowledge.

Give us the benefit of the doubt. We're just trying to learn. And we're not always as stupid as you think we are. ;)

Posted by: Kristi at March 23, 2005 02:12 PM

Just as programmers form their own mental models of how programming works, i guess everyone has their own idea of what an introduction to programming class should be. I must learn to get used to the fact that the world of academia has no idea of what's useful in the real world. It is possible to judge the success of a class by counting the number of facts a student has to learn to pass, but i wish they could focus less on the details and more on a practical, problem solving skills.

I'm sure you know many "younger" students that do a lot of slacking off as well Kristi (unless Hope happens to be some magic slacker-free zone). I guess it's hard to tell whether a person is really trying or not, but i've just been getting the sense that most are not. I'm not saying its all their fault either. Some of the responsibility of getting the student to do some work on their own falls on the teacher as well. I just think this class has failed to find the proper balance.

Posted by: Matthew at March 25, 2005 11:43 PM