Why computer science students cheat?

Interesting read

  • (6 Pages)
  • +
  • 1
  • 2
  • 3
  • 4
  • Last »

75 Replies - 34925 Views - Last Post: 09 November 2012 - 01:08 PM

#16 Apokio  Icon User is online

  • D.I.C Addict

Reputation: 132
  • Posts: 501
  • Joined: 14-August 09

Re: Why computer science students cheat?

Posted 20 April 2010 - 12:50 PM

I am earning my degree through University of Phoenix online and I have seen some this cheating. I am on my last 10 classes and we are starting to get into some of the more technical aspects and actually doing stuff. In my SQL class I had another student copy the code I wrote for the Team Project. I was pissed and reported it but of course I don't know if the other team lost any points or not. In my current class I have one guy complaining there are too many acryonms and techinical terms without explaination. Google Much? Then copy and paste from wikipedia for discusions is something I have seen the same guy do. I have seen some students not enrolled in my next class so I know some are dropping because they can't make the cut. My next course is JAVA and I am really afraid if I have to post my code in a public forum it is going to get copied.
Was This Post Helpful? 0
  • +
  • -

#17 ghillieLEAD  Icon User is offline

  • D.I.C Head

Reputation: 31
  • View blog
  • Posts: 208
  • Joined: 08-March 10

Re: Why computer science students cheat?

Posted 20 April 2010 - 02:14 PM

I am a high school student and I feel I can explain a major cause of the rise in cheating. In middle school it was all about getting the assignment done. There were very few kids who were doing the assignment because they wanted to learn about the topic, but rather because they "needed" to get the assignment done. This fill in the blank mentality passes with us into high school where the teachers have been desperately trying to hammer this mindset out of our young heads, but its not that simple. With the internet becoming easier to access and available to more people, it is a waste of my time to be taking a test on specific facts unrelated to my career interest that would take all of 10 seconds to lookup on Google. I believe we are at a point where the majority of teachers are too separated from the students. We need to stop assigning busy work and assign more team based projects that encourage the use of resources like the internet, but require that you orally explain your solutions to demonstrate your understanding. Currently, our education system is broken outdated.

EDIT: Unrelated but if anyone is learning Java or programming concepts in general and don't know the name Mehran Sahami (interviewed in the article) you need to get to YouTube now! His Programming Methodologies class is a great resource for learning to program.

This post has been edited by ghillieLEAD: 20 April 2010 - 02:53 PM

Was This Post Helpful? 0
  • +
  • -

#18 Choscura  Icon User is offline

  • D.I.C Lover


Reputation: 461
  • View blog
  • Posts: 2,222
  • Joined: 18-October 08

Re: Why computer science students cheat?

Posted 20 April 2010 - 04:29 PM

I took latin and japanese in high school. I learned significant things about both languages, how they were structured, how they sounded, etc. I failed both classes miserably because- despite my knowledge of them- I couldn't speak. Now I am studying german and dabbling here and there in russian and chinese. I can understand things from all these languages and I can speak a bit in german- just a bit, I can't compose songs or anything- but I can read, comprehend, and understand fundamental pieces of all these languages. Yet I would fail any class I could take (that's worth a damn) regarding these languages, and rightly so, because my fundamentals in them are patchy, as is my grasp of the syntax or phonetics of each language. If I could cheat, I would, because I don't like failing, even if it's a stupid class and I don't value the grade at all. However, I should be able to get some credit for having knowledge and being able to apply that knowledge (by understanding written and spoken sentences in each language).

Is computer science that different? I don't think so. The analogy I would draw is that, in a computer science class, you are being called upon to write very rudimentary poems about where the data is going and what is happening to it. Anybody with a bit of free time, a dictionary, and a very basic vocabulary in the written language can change the poem to be about something new, or can change the rhythm of the poem. It isn't necessarily better and it doesn't necessarily have to be understood this way, but I think you can see the parallels.
Was This Post Helpful? 0
  • +
  • -

#19 ghillieLEAD  Icon User is offline

  • D.I.C Head

Reputation: 31
  • View blog
  • Posts: 208
  • Joined: 08-March 10

Re: Why computer science students cheat?

Posted 20 April 2010 - 04:41 PM

@Choscura: I agree entirely! That was very well put. I just wanted to let you know I enjoyed reading your post.
Was This Post Helpful? 0
  • +
  • -

#20 Oler1s  Icon User is offline

  • D.I.C Lover
  • member icon

Reputation: 1395
  • View blog
  • Posts: 3,884
  • Joined: 04-June 09

Re: Why computer science students cheat?

Posted 20 April 2010 - 04:44 PM

Quote

However, I should be able to get some credit for having knowledge and being able to apply that knowledge
Sure, but you aren't justifying cheating.

Let's understand what cheating is. Cheating is, fundamentally, giving yourself an undeserved advantage that others do not have. It doesn't matter if the advantage helps or not. It's that it was not an advantage you deserved (i.e. an advantage the system grants you). For example, golf handicaps are not cheating. They are a system that gives advantages to balance.

Taking drugs to compete in sports is. That's because drugs are not allowed.

Quote

Anybody with a bit of free time, a dictionary, and a very basic vocabulary in the written language can change the poem to be about something new, or can change the rhythm of the poem.
But can anybody write a good, correct, poem?

Quote

but I think you can see the parallels.
I don't. What I do see is conflation of knowledge and problem solving. People say to themselves "I am a good programmer because of what I know". But that's not it. Knowledge is about problem solving. That's why interviewers give FizzBuzz tests and use systems like Codility. These tests are stupidly simple. Yet "programmers" fail them.

Not about knowledge. Not about changing a few things. About problem solving from scratch. You aren't a fluent English speaker because you can take a few sentences and replace words with a thesaurus. You are fluent because you can arbitrarily construct sentences in real life situations, for practical purposes.

Same for CS.

This post has been edited by Oler1s: 20 April 2010 - 04:45 PM

Was This Post Helpful? 0
  • +
  • -

#21 ghillieLEAD  Icon User is offline

  • D.I.C Head

Reputation: 31
  • View blog
  • Posts: 208
  • Joined: 08-March 10

Re: Why computer science students cheat?

Posted 20 April 2010 - 06:20 PM

Clearly I was a fan of Choscura's post, but if I may I would like to make some counterpoints as to what I think Choscura meant in his post.

Programming is not mathematical. There is a process you should follow in writing just as there is in programming. There is no finite answer, just better constructed poems or code. Good writers don't just sit down and right a great poem or book. To the same tune, programmers don't just sit down and write elegant code.

Equipped with the write tools a first year programmer can take an elders code and read through it. They may not understand 100% of the code, but they get the syntax and can see some real world problem solving. They may be nowhere near writing code like this from scratch, they simply don't have the experience, they are however well on the way to that point. Same as how I can go into my english class, look at poems written by some of the best writers in the world and pull ideas from their writing for my own use. That doesn't mean I could write that beautifully on my own, but I am learning. And that is what it is all about.

You say that being on the path to solving problems on your own, and actually solving problems on your own are two different things. In actuality one is just a step to the next. You believe that someone should not receive any credit for getting closer to that elusive point where you can write code on your own and instead should have their hopes dashed and should fail the class for being somewhere short of the line that defines someone as being an expert? I am afraid I disagree with that.

This post has been edited by ghillieLEAD: 20 April 2010 - 06:22 PM

Was This Post Helpful? 0
  • +
  • -

#22 Oler1s  Icon User is offline

  • D.I.C Lover
  • member icon

Reputation: 1395
  • View blog
  • Posts: 3,884
  • Joined: 04-June 09

Re: Why computer science students cheat?

Posted 20 April 2010 - 09:43 PM

Quote

Equipped with the write tools a first year programmer can take an elders code and read through it.
What special tools are we talking about? All you need to read through code is a text editor.

Quote

but they get the syntax and can see some real world problem solving
You can get syntax from a book on the language. As for problem solving, no you definitely don't see it in code. You see the end product of problem solving. You do not see the time spent with pen and paper and debugger and whiteboards doing the problem solving.

Quote

They may be nowhere near writing code like this from scratch, they simply don't have the experience
Experience to do what? To write code from scratch? You can't make a majestic program from scratch with no experience, but no one can. That's why you start small. You start with exceedingly stupidly small programs. It does not take CS classes to teach you to write stupidly small programs from scratch. Then, you work hard to build bigger programs. And bigger programs. And then bigger programs.

Quote

You say that being on the path to solving problems on your own, and actually solving problems on your own are two different things.
I didn't say that. The only way to be on the path to solve problems is to be solving problems. Reading code is not solving problems. Reading code is staring at an end product. I can stare at architecture all day long, but it teaches me nothing about how to design a proper construction.

Quote

You believe that someone should not receive any credit for getting closer to that elusive point where you can write code on your own
It depends on the class. CS classes expect you to be able to write code. That is the definition of getting credits for that class. Thus, I believe you do not deserve credits when you do not meet the requirements.

Quote

should fail the class for being somewhere short of the line that defines someone as being an expert
Expert? No. Passing the requirements. Yes. What you seem to be saying is "I make a good effort and can do only this much, but I still should receive credit because I am trying".

Let me lay out the points again:
Requirements to get credit for class: can write code.
You: cannot write code.
You: expect to get credits despite not meeting requirements.

Is this what you are arguing?
Was This Post Helpful? 0
  • +
  • -

#23 COKEDUDE  Icon User is offline

  • D.I.C Head

Reputation: -1
  • View blog
  • Posts: 112
  • Joined: 01-February 10

Re: Why computer science students cheat?

Posted 20 April 2010 - 10:04 PM

A problem I have noticed is most professors try to teach way to much information in way to short period of time.
Was This Post Helpful? 0
  • +
  • -

#24 damund01  Icon User is offline

  • New D.I.C Head
  • member icon

Reputation: 5
  • View blog
  • Posts: 34
  • Joined: 20-January 10

Re: Why computer science students cheat?

Posted 21 April 2010 - 12:15 AM

View PostCOKEDUDE, on 20 April 2010 - 10:04 PM, said:

A problem I have noticed is most professors try to teach way to much information in way to short period of time.


I agree with this to a point. Particularly with online classes, most are condensed so to speak = a lot of work in 6 or 8 weeks rather than 12weeks at a brick and mortar school.
However if you are accustomed to online learning or independent learning this is entirely doable you just have to be prepared to work for it. You cannot go out drinking every Friday or Saturday night and expect you will always get your work done Monday. You are in this to learn not get drunk etc.
I have taken 3 programming classes online in the past all were 6 wk courses and passed them with A's and a B+ this is because of time management and dedication to my education. If you want to succeed in LIFE or any class whether it be 6 wk class or 12wk class you need proper time management and dedication to your education, and above all do your own work or you only cheat yourself and waste money and time.

Was This Post Helpful? 0
  • +
  • -

#25 Choscura  Icon User is offline

  • D.I.C Lover


Reputation: 461
  • View blog
  • Posts: 2,222
  • Joined: 18-October 08

Re: Why computer science students cheat?

Posted 21 April 2010 - 01:52 AM

View PostOler1s, on 20 April 2010 - 08:43 PM, said:

Quote

Equipped with the write tools a first year programmer can take an elders code and read through it.
What special tools are we talking about? All you need to read through code is a text editor.

Quote

but they get the syntax and can see some real world problem solving
You can get syntax from a book on the language. As for problem solving, no you definitely don't see it in code. You see the end product of problem solving. You do not see the time spent with pen and paper and debugger and whiteboards doing the problem solving.

Quote

They may be nowhere near writing code like this from scratch, they simply don't have the experience
Experience to do what? To write code from scratch? You can't make a majestic program from scratch with no experience, but no one can. That's why you start small. You start with exceedingly stupidly small programs. It does not take CS classes to teach you to write stupidly small programs from scratch. Then, you work hard to build bigger programs. And bigger programs. And then bigger programs.

Quote

You say that being on the path to solving problems on your own, and actually solving problems on your own are two different things.
I didn't say that. The only way to be on the path to solve problems is to be solving problems. Reading code is not solving problems. Reading code is staring at an end product. I can stare at architecture all day long, but it teaches me nothing about how to design a proper construction.

Quote

You believe that someone should not receive any credit for getting closer to that elusive point where you can write code on your own
It depends on the class. CS classes expect you to be able to write code. That is the definition of getting credits for that class. Thus, I believe you do not deserve credits when you do not meet the requirements.

Quote

should fail the class for being somewhere short of the line that defines someone as being an expert
Expert? No. Passing the requirements. Yes. What you seem to be saying is "I make a good effort and can do only this much, but I still should receive credit because I am trying".

Let me lay out the points again:
Requirements to get credit for class: can write code.
You: cannot write code.
You: expect to get credits despite not meeting requirements.

Is this what you are arguing?


I will speak for myself. I appreciate the support but I do not want others to bear the burden of trying to carry my ideas if they are not worth carrying

I am arguing that the tests do not fully or accurately weigh the acquired knowledge of the students in all cases (insert witty analogy of square peg/round hole, etc). In my case I can understand conversational dutch and german... but I have no functional vocabulary with which I can carry a conversation. So even though I can understand practically every question on a test, I can't answer those questions at all, if the test is verbal, and I can't spell properly because I don't really know the words if the test is written. However, if I am given a script to read in those languages, or a list of words and forms that I can interchange, my pronunciation is perfect and I sound as if I've been speaking my whole life. This is the same with every language I've ever learned or studied: I pronounce everything perfectly, but my vocabulary increases only very slowly (unless I dedicate ALL of my time to learning that language, as I did when I learned Thai), and even though I can recall the words enough to understand conversation (to follow along or be a bit behind), I can't speak <properly>.

Should this be considered to be completely without value? I guess a lot of people think so. You seem to think so, and I understand why. However, I do genuinely understand enough bits and pieces of these languages to follow along and get the gist of most basic conversations.

How does this apply to programming, and the topic at hand, of cheating CS students? Simple, I think. I know the ideas behind the programming languages and I can read those ideas in the code (with a bit of knowledge of the syntax, of course). Perhaps I can't code as quickly as most people here, but if I am given a task to complete in any language I'm familiar with, I feel confident enough in my ability to understand what I read in order to apply it to the problem at hand. Does this make me a master coder? no, of course not, but I believe that this ability should allow me to pass at least the most basic programming classes, because I can solve all the problems there in the languages presented and in other languages, and I can grasp the fundamentals- which is what basic programming classes are teaching anyway. However, this ability, and this skill, doesn't give me the ability to code from scratch (at least in anything but C#, at the moment), and so I can't pass the tests- which don't allow you to have reference code, which I virtually never code without.

edit in italics

This post has been edited by Choscura: 21 April 2010 - 02:36 PM

Was This Post Helpful? 0
  • +
  • -

#26 DCEast  Icon User is offline

  • New D.I.C Head

Reputation: 1
  • View blog
  • Posts: 8
  • Joined: 15-March 10

Re: Why computer science students cheat?

Posted 21 April 2010 - 05:49 AM

At my school a lot of students enter the computer science program not knowing what it really takes to exceed (I was one of these students). Some students come to class ready to listen, but these students are derailed by laptops, iPhones, blackberries, etc. When you combine this with a teacher who is not doing a great job, the results are disastrous.

It's not just the students either, it's also the teachers. The teachers who refuse to allow collaboration are usually the same teachers who are short on example code and who will just confuse you more when you visit their office hours.

I feel as if teachers should provide lots of examples for students to manipulate and discover how they work. Then apply what they learned to the project.

There's a big problem in calling these beginners cheaters. All of these beginners are not architects with a fancy toolbox, they are primitive cavemen with hammers. When you bash something with a hammer it looks about the same every time. Teachers do not provide enough example.

What am I really trying to say? Cheating exists because students are not willing to (or able) to get the problem done. Teachers are not always willing to help the students enough because they feel as if it is a disservice to their learning process.
Was This Post Helpful? 0
  • +
  • -

#27 Oler1s  Icon User is offline

  • D.I.C Lover
  • member icon

Reputation: 1395
  • View blog
  • Posts: 3,884
  • Joined: 04-June 09

Re: Why computer science students cheat?

Posted 21 April 2010 - 09:03 AM

Quote

I am arguing that the tests do not fully or accurately weigh the acquired knowledge of the students in all cases
That is, however, a different argument from the topic of this thread. Which is cheating.

Quote

Should this be considered to be completely without value? I guess a lot of people think so. You seem to think so, and I understand why. However, I do genuinely understand enough bits and pieces of these languages to follow along and get the gist of most basic conversations.
I don't think so. I agree that an inability to construct, but still comprehend, is of value. It's definitely limited. But it is better than nothing, and thus logically there is value.

Quote

However, this ability, and this skill, doesn't give me the ability to code from scratch (at least in anything but C#, at the moment), and so I can't pass the tests- which don't allow you to have reference code, which I virtually never code without.
You can't code. Reading is not coding. Reading is not coding.

I can listen to guitar players all day long, but it does not make me a guitar player. I can look at art all day long, but it does not make me an artist. I can look at and comprehend many things, but it does not me a constructor in any of those disciplines.

A CS classes requires you explicitly to be able to code from scratch. It does not place value upon your ability to simply read. It requires you to be able to take a task and implement it by yourself. Not read an implementation. CS classes aren't really that focused on the implementation. They are about theory, but a basic level of ability to code is required.

Let me repeat your argument.

- There is value in my ability to read code.
- Requirement for getting credit in a CS class is to be able to write code.
- It is OK to cheat a CS class and gain credit despite not meeting requirement, because you still are able to do something of value.

I have distilled your argument down to that.

But I cannot agree with this. You voluntarily go into CS. You voluntarily take a class where the requirement for passing is being able to write code. Then you voluntarily subvert that requirement.

And this is why interviewers have FizzBuzz tests. Because "programmers" consider reading to be of value. But it's not. Writing code is. Fizzbuzz tests and the like are pathetically easy. They are very short, very simple, and have little room to show complex and waterproof design.

But they reveal the difference between reading and writing. Good reading ability does not make you a writer. Those are completely different things. You get points for being able to write, not able to read.
Was This Post Helpful? 0
  • +
  • -

#28 Choscura  Icon User is offline

  • D.I.C Lover


Reputation: 461
  • View blog
  • Posts: 2,222
  • Joined: 18-October 08

Re: Why computer science students cheat?

Posted 21 April 2010 - 01:25 PM

@Oler1s:

To quickly reply, You said:

Quote

Let me repeat your argument.

- There is value in my ability to read code.
- Requirement for getting credit in a CS class is to be able to write code.
- It is OK to cheat a CS class and gain credit despite not meeting requirement, because you still are able to do something of value.


I agree with the first argument you are repeating: the second and third, however, I disagree with. These were not my arguments. To clarify, the second could be phrased better as "Requirement for getting credit in a CS class is <or should be> the ability to apply code to a situation", and the third should be "It is NOT ok to receive credit you have NOT earned, but you should still receive credit if you have earned it,no matter how much or little that may be and even if this doesn't mean you will pass the class"

Perhaps it is naive of me to argue about how the world should work. The value of school, yes, even of a CS program, is that it gives you the tools to learn on your own and puts you around other people motivated to do the same. If you can do what I have mentioned, you can go on to learn something very well- This is what I did with the Thai language. I speak Thai better than probably 90% of all foreigners who speak Thai as a language they learned as an adult, and I learned this because I was able to listen and understand (much as I can understand the smattering of other languages or programming languages). The difference was exposure: I was exposed to Thai on a daily basis and had to use it to survive, and so it stuck (linguistic theory 101: first you learn phonetics, then you learn a basic vocabulary, then you learn to speak, in that order). If I were in a situation where I needed to use Java or C++ to survive, I'd be just fine programming from scratch within a relatively short period of time. However, as with the other programming languages which I'm not as familiar with, I have to check things. I don't consider this cheating, just as you probably wouldn't consider double checking to make sure you have Djikstra's algorithm properly implemented cheating.

I'm going to stop here because this is getting too far away from the topic at hand- cheating CS students. to recap:
-having reference code (like the cheat sheets in virtually all the programming language forums here) should not be considered really 'cheating'. you're just double checking syntax, nobody is giving you the exact answer to the problem you have to solve with it.

-Being able to understand and comprehend something is the first step towards being able to replicate it. the example you gave of guitar music and art is just as applicable as it would be if it were coding, engineering, architecture, or business. understanding a balance sheet is the first step towards being able to fill one out. understanding voltage, wattage, and the flow of electric currents is the first step in being able to design a proper circuit. understanding the fundamental rules of beauty and how the eye sees color is a first step towards painting a beautiful picture. Good reading ability gives you the ability to critique your own writing, which makes you a better writer.

This post has been edited by Choscura: 21 April 2010 - 01:26 PM

Was This Post Helpful? 0
  • +
  • -

#29 ghillieLEAD  Icon User is offline

  • D.I.C Head

Reputation: 31
  • View blog
  • Posts: 208
  • Joined: 08-March 10

Re: Why computer science students cheat?

Posted 21 April 2010 - 01:44 PM

View PostOler1s, on 21 April 2010 - 08:03 AM, said:

Quote

I am arguing that the tests do not fully or accurately weigh the acquired knowledge of the students in all cases
That is, however, a different argument from the topic of this thread. Which is cheating.


I disagree, you can't separate understanding and cheating from one another, both must be discussed at the same time. Seeing as how tests are how a teacher gains insight to see if a student is understanding a topic, discussing the accuracy of tests is in fact very important. If a student is perceived as not understanding, they often turn to cheating. It is all part of the "fill in the blank mindset" I mentioned in my first post. Students cheating comes down to one thing, an inability for the teacher to reach the student. A student who understands doesn't cheat.

Quote

I agree that an inability to construct, but still comprehend, is of value. It's definitely limited. But it is better than nothing, and thus logically there is value.


You agree it is of value. Or do you not agree that it is of value? I am having trouble following:

Quote

"programmers" consider reading to be of value. But it's not.


I pulled that out of context you say? Lets take more:

Quote

And this is why interviewers have FizzBuzz tests. Because "programmers" consider reading to be of value. But it's not.


Now we come to the true conflation, one of a student taking a first year class and someone applying for a job. You must put yourself in the shoes of a student and step away from an interviewers perspective.

Everything I have said comes from one thought.

Quote

I am learning. And that is what it is all about.
So I come to one large question: Do you believe school is for learning and justly representing a students knowledge?

This post has been edited by ghillieLEAD: 21 April 2010 - 01:51 PM

Was This Post Helpful? 1
  • +
  • -

#30 Oler1s  Icon User is offline

  • D.I.C Lover
  • member icon

Reputation: 1395
  • View blog
  • Posts: 3,884
  • Joined: 04-June 09

Re: Why computer science students cheat?

Posted 21 April 2010 - 03:29 PM

ghillieLEAD said:

Students cheating comes down to one thing, an inability for the teacher to reach the student.
Well, this is a curious accusation. It's the teacher's and only the teacher's fault for the student cheating. Cheating is a voluntary act. It comes down to someone deciding that they cannot play by the system, and so they will cheat. Imagine playing a football game. You can't win because your coach can't coach. So you cheat. Is that OK? On a playing field, an unfair advantage is OK because you weren't trained properly? A student in the same class as other students, with the same teacher, can ethically cheat because he finds the teaching inadequate?

Quote

You agree it is of value. Or do you not agree that it is of value?
I agree it's of value, but not enough to be noticed for certain requirements. A job as a writer requires you to be able to write. Thus, not meeting the requirement wholly does not have value. If a job requires you to be able to lift 80 pounds in an arm or more, and you can only lift 60, that ability is not valued. You personally have an advantage over someone who can only lift 20 pounds, for example. But to the requirement, you fail. You don't make the cut. Doesn't matter if you could only lift 20, or only lift 60.

You get that?

Quote

Now we come to the true conflation, one of a student taking a first year class and someone applying for a job.
I'm not conflating it. I'm using a job as an example. An interview certifies, among other things, that you have certain skills. I use a job interview or test as an example, because cheating that is harder. It's a good example for that reason. It poses a certain requirement, and forces you to meet it.

Quote

Do you believe school is for learning and justly representing a students knowledge?
I believe school is for learning, sure. For justly representing a students knowledge? I actually don't know (although I would agree that's a certain benefit).

You fail to acknowledge what I'm saying though.

Critically it is this: you claim it is OK to be in a pool of people who meet a certain requirement, not because you meet this requirement, but because you cheated to obtain it. You claim that efforts should be counted as having met that requirement.

I do not. You may complain about a system. You may believe that a system with certain requirements is detrimental. You may believe that it's requirements should be changed so that you can be considered to have value.

But what you say is that it is OK to cheat. To subvert a system, to give yourself an unfair advantage that others do not have, because you do not like the system's requirements.
Was This Post Helpful? 0
  • +
  • -

  • (6 Pages)
  • +
  • 1
  • 2
  • 3
  • 4
  • Last »