Sunday, January 21, 2007

First Lab

I really liked this lab when I created it. Last semester we dove right into the patterns and it seemed that the students were missing experience with a number of the topics we talked about in the introduction. I'm hoping this lab will cover that gap. Also, I think TDD will be very helpful as our labs become more complex, so I'm glad we had a chance to practice it before we get involved in new material.

I think, in general, you made solid progress on the labs and I'm pretty confident that most of you will be able to finish it by Tuesday without any trouble. As a class, you all seem much more comfortable than my previous classes with the OO concepts we'll need.

However, I have some concerns about how the lab went. First, you all chose not to work in pairs even though I nagged you about it. It's important that you understand that I don't ask you to do things for the shear joy of watching you suffer! I know that working in pairs can be awkward, but it was important to this particlar lab. I asked you to work in pairs because I was asking you to do something in a very different way than you have used in the past. When you work with someone else, you have the opportunity to reflect on how a technique is working because your approach will differ from theirs (even with the specific instructions I gave in the lab). While that reflection is valuable, sharing it amongst yourselves lets you also see how the other person is analyzing the technique and can give you both new insights. In general, when I ask you do something, I have a reason why it's important, so you should try to follow it.

My other concern about this lab is that very few of you asked any questions. In some ways, that underscores your technical knowledge, so maybe I shouldn't be worried. After all, you do seem to be able to finish the lab. My concern is about the level of understanding you got out of the lab. The instructions led you through the mechanics of TDD pretty thoroughly, but I was hoping you would have questions about why you were doing it. TDD is very different from the ways you have written code in the past and understanding its motivation is an important part of really understanding TDD. And that's true with everything in life! Particularly in educational situations, you'll understand what you're doing better if you reflect on the motivations behind what you're doing. As an engineer, you should always be thinking "Why am I doing this?" and "Is there a better way to do this?" In my classes, the more questions you ask, the better you will do.

1 comment:

Anonymous said...

Testing anonymous comments