On Fri, 6 Aug 2004, Erin Sharmahd wrote (on behalf of anonymous):
Chris is probably at a pretty high level in his CS classes, and I have
only completed 235.  But, we started using more templates in that
class than had been used previously, and I know that I don't feel like
I learned as much as I could have, if I had been forced to do it from
scratch.

The email from anonymous is basically exactly what I wanted to say. I did want to make another distinction, however:


Well-contained and well-documented libraries and tools vs. templates.

Imagine you're writing a prolog interpreter. (We did this in 470 this term.) You've written parsers out the wazoo before, and the project isn't about learning how to write a parser, it's about logic and prolog. A well-documented library or class would make a perfect way to relieve the student of having to write a parser for the Nth time, and concentrate on the task at hand. It also nicely mirrors the real world, where you use classes and libraries for repetitive tasks that you would otherwise have to implement often.

However, having the prolog interpreter half written so that it "almost" works, leaving you, the CS student, to flesh out the unimplemented functions can leave the student, at the end of the exercise, ignorant of the "big picture" and what exactly he or she just programmed is put together. It can create frustrations when trying to work with the code which was already given to you, since you de facto don't understand it very well at all. It can lead to the useless exercise of just trying random things (with pushes and "hints" from the TAs) until you get the output that matches the TA's or the professor's. (I've heard that in fact the compilers course can be quite like this.) You're not understanding the problem nor understanding how to solve it. You are, in fact, IM[NS]HO, being more of a "code monkey" than you would have been implementing the whole thing from scratch.

Just my .02USD,

  ~ Ross

--

This sentence would be seven words long if it were six words shorter.

____________________
BYU Unix Users Group http://uug.byu.edu/ ___________________________________________________________________
List Info: http://uug.byu.edu/cgi-bin/mailman/listinfo/uug-list

Reply via email to