Path: utzoo!utgpu!attcan!uunet!husc6!cs.utexas.edu!utastro!nather From: nather@utastro.UUCP (Ed Nather) Newsgroups: comp.edu Subject: Re: looking for cheating detectors Message-ID: <2949@utastro.UUCP> Date: 27 Jul 88 16:54:28 GMT References: <1403@sbcs.sunysb.edu> <2920@utastro.UUCP> <1405@devsys.oakhill.UUCP> Organization: U. Texas, Astronomy, Austin, TX Lines: 63 In article <1405@devsys.oakhill.UUCP>, steve@oakhill.UUCP (steve) writes: > > Ed Nather does have a point that most real programmers lift their code > from other sources. But there is a difference. When I (or any other > programmer) lift code, I make sure I understand the code I am working > on. Quite often I have to resturcture or debug something subtle that > wasn't needed in the original. If I had not writen such code once upon > a time in course work (by myself) there is no way I could do this. But imagine how much more valuable that course would have been had you been given an assignment to take some published code (out of K&R, maybe) and then modify it to do a better job, or an extended job, or even a totally different job. Yes, you'd *have* to learn how it worked. I've learned a whole lot by just that process -- and it's amazing to look at swatches of code, often uncommented (shame!), and realize you can see the tracks of two or more different programmers there, because of subtle but clearly detectable differences in style ... but I digress. > I have helped with introductary CS courses, and it is amazing > how many students cheat. *sigh* I know -- that's where we've failed. The students are confusing the GRADE with the COURSE CONTENT and don't realize they've shot themselves in the foot. But that's a whole different topic (really!) from a discussion about what should be in a good CS course -- my original posting tried to raise the question of course content, and has digressed into a wide-ranging discussion of cheating, which I've been accused of condoning. I don't. We (academics) are often guilty of this same confusion. Once in a while I meet ex-students, who mention they once took a course from me. When I ask "Did you learn anyhting?" they usually respond "Well, I got a B." They are then confused when I repeat the question, since I don't feel it was answered, but they obviously do. I know of NO problem more serious than this one in our educational process ... but I digress (again). > Because you are doing a basic algorithm done 10,000,000 > times before makes no difference. I think it does -- it's one way, but I'm convinced it's not the only way, or even the best way, for students to learn to program. In this case you *know* it can be done, which is part of the artificiality of the schooling process. If you are given code and asked to make it faster -- or include a case it now doesn't handle (as examples) -- you have to think about it quite a lot harder. K&R has many such problems, and I (and my students) have learned a lot from them. I feel "rote repitition" in almost any form is wasting time. It *is* easier to grade, of course ... > I remember when doing the Milikin oil drop experiment, one of my classmates > complained that we knew the charge of an electron and didn't have to > repeat the experiment. Would you condone this too?). My physics prof had me do it, too, but *also* insisted that I measure, and write a report on, the various sources of error. That taught me a lot more about experiments in physics than just a rote repitition of the procedure whould ever have done. I did get two cases where the charge came out just 1/2 (or maybe 2/3?) what it should be, but I thew away those results (and maybe a Nobel prize) because I *knew* what the answer was. -- Ed Nather Astronomy Dept, U of Texas @ Austin {backbones}!{noao,ut-sally}!utastro!nather nather@astro.as.utexas.edu