When I saw this on slashdot, I was taken back quite a bit in time, to when I was attending college to obtain a degree in Computer Science. Things were different back then, though we weren’t using an abacus to check our answers. (There I got the joke out of the way.)
The people taking the classes with me were not there to cheat, they were there to learn. Now I realize how this sounds, but I believe it was true. When I started, there was no internet access at most junior colleges, and that is where I was for those beginning classes. So there was no way of doing any over the ‘net comparisons, nor was there any easy way to grab some code in the many places that are available now.
“Enrollment in undergraduate computer science courses is at an all-time high at colleges nationwide. But this trend that’s been hailed by the US tech industry has a dark side: a disproportionate number of students taking these courses are caught cheating. More students are caught cheating in introductory computer science courses than in any other course on campus, thanks to automated tools that professors use to detect unauthorized code reuse, excessive collaboration and other forbidden ways of completing homework assignments. Computer science professors say their students are not more dishonest than students in other fields; they’re just more likely to get caught because software is available to check for plagiarism. ‘The truth is that on every campus, a large proportion of the reported cases of academic dishonesty come from introductory computer science courses, and the reason is totally obvious: we use automated tools to detect plagiarism,’ explains Professor Ed Lazowska, chair of computer science and engineering at the University of Washington. ‘We compare against other student submissions, and we compare against previous student submissions and against code that may be on the Web. These tools flag suspicious cases, which are then manually examined.'”
While I agree with this, I also believe that, from those I speak to today, the teaching (at least at the JC level in Southern California) is much more collaborative than ever before. After all, a lot of what OOP is all about is reusing code that has been thoroughly debugged, in block form, like Legos. Students in the beginning classes (which my son has been enrolled in) are assigned a partner from the start, and do things in groups of two or four. The only things not done in group fashion are the tests, which should be no different to administer than any other test regimen.
But a few of the comments from that little blurb were very illuminating, this one being the one I locked onto immediately –
“True CS curriculum require a massive amount of critical thinking and other analytical skills. Something the recent graduates of HS are not prepared for. Match that up with the sense of entitlement and you get expected results. Back when I was in CS the dropout rate was around 90%. There were no rent-a-coders and using the web for a resource was a very new thought. So it was write your own damn code or head over to liberal arts…”
I was trying to give the benefit of the doubt to the many, but apparently there are others who believe as I do. Still, I believe that most programming is collaborative. Once you know some key concepts, the rest can be fairly close to boilerplate.
I think this is more evident than ever when I see how much the Microsoft tools do for the programmer. It stops just short of pressing the keys for you.
[some time has passed]
I was going to have a conclusive statement, but I really don’t have one, as I am not completely sure how I feel about this. If you have taken programming classes, or are doing so now, what is your opinion? Is cheating at an all time high in CS? Is it really cheating? And, if it is not on tests, does it matter, given the way that programming is accomplished?
Now it’s Microsoft tools, when I was learning to program, everything was preceded by Turbo and made by Borland. I had Microsoft Fortran 5.1 and paid a fortune for it, because Microsoft had no deals for students at that time. I purchased Turbo Pascal, Turbo C, with Turbo ASM, Turbo C++, and a few other tools, all together for less than the price of Fortran 5.1.
How things change!
Download Opera – A faster and more secure Web browser.
≡≡≡≡≡≡≡≡≡≡ Ḟᴵᴺᴵ ≡≡≡≡≡≡≡≡≡≡