Path: utzoo!attcan!lsuc!ncrcan!aimed!nick From: nick@aimed.UUCP (Nick Pemberton) Newsgroups: comp.edu Subject: Re: Teaching computer science. Summary: IMHO - the wrong way to teach Message-ID: <154@aimed.UUCP> Date: 19 Jan 89 22:51:47 GMT References: <576@blake.acs.washington.edu> Organization: AIM, Inc, Toronto, Ontario Lines: 65 In article <576@blake.acs.washington.edu>, mcglk@blake.acs.washington.edu (Ken McGlothlen) writes: [introductory comments deleted] > So far, so good. The headache began when the professor opted to > force each of his students to use his personal set of library > functions *instead* of the standard Modula-2 libraries. Apparently, > the prof "didn't like" the original libraries, and wrote a number > of small procedures which called the real procedures, using a > different set of parameters, names, and so on. He took points off > for different commenting styles (you had to use *his*), different > (though perfectly valid) indentation styles, and using the standard > Modula-2 routines instead of his personal library. > > At the end of the course, if anyone wanted to use Modula-2 for anything, > they had to unlearn some of the ridiculous stuff they had picked up in > his class. While I'm no teacher, I have had to train a large number of people coming into our company. I've always held that it is far better to learn a language, a software package, an os feature, etc, as it was originally intended. Several langauges, C included, allow one to define constructs, macros, etc, that make the langauge "look like" something the user is more used to. This is really harmfull in that the user then doesn't really know or hasn't really learned what the package is about; rather they have learned how to make it look like something they already knew. (Classic example of this in the original K & R, making C look like algol (intro to the C preprocessor) ). The only argument I can think of *for* this kind of action is to try and introduce some form of standards, but I can't think of a stupider way to do it ... all he'll end up with, as you point out, are very confused students. As to writing his own routines, his own library, etc, and ramming 'style' down students throats, well, there are lots of problems with that. Forcing style is quite serious, it leads to students who tend towards spitting out programs 'as they were taught to' rather then thinking for themselves how it ought to be done. Understanding *how* to indent is far less usefull then knowing *why* one should indent. Writing his one library is just plain stupid, especially if it achieves the exact same thing as the original. Might as well invent a whole new langauge like, say, turing... :-) > > Maybe I'm just a little out of date. This can't possibly be a sound > approach to teaching a computer course, can it? Or is it actually > suggested somewhere that this is a good pattern to follow? > Well, IMHO its a terrible way to teach, and the programmers who come out of this are either going to be way behind their peers or just downright unemployable. > > It pains me somewhat. I'm rather enthusiastic about computers, but then > I've had a few really wonderful teachers in my time (thank you Dean > Gienger, wherever you are). Seeing this happen just irks me somewhat. > I know how that feels - when I was at the University of Alberta I had some first rate teachers, how shall remain nameless for the moment, and they only served to strengthen my liking of computers. > > If I'm wrong--if this *is* a good approach--could someone please set > me straight, and tell me why? > Well I think you're right, as I'm sure you can tell... -- Nick Pemberton UUCP: !{utzoo,utai}!lsuc!aimed!nick AIM, Inc Bus: (416) 429-4913 Home: (416) 690-0647