Slashdot Mirror


Student Who Released Code From Assignments Accused of Cheating

Death Metal sends in a story about Kyle Brady, a computer science major at San Jose State University, who recently ran into trouble over publishing the source code to his programming assignments after their due dates. One of Brady's professors contacted him and threatened to fail him if he did not take down the code. Brady took the matter to the Computer Science Department Chair, who consulted with others and decided that releasing the code was not an ethical violation. Quoting Cory Doctorow at Boing Boing: "There's a lot of meat on the bones of this story. The most important lesson from it for me is that students want to produce meaningful output from their course-assignments, things that have intrinsic value apart from their usefulness for assessing their progress in the course. Profs — including me, at times — fall into the lazy trap of wanting to assign rotework that can be endlessly recycled as work for new students, a model that fails when the students treat their work as useful in and of itself and therefore worthy of making public for their peers and other interested parties who find them through search results, links, etc. But the convenience of profs must be secondary to the pedagogical value of the university experience — especially now, with universities ratcheting up their tuition fees and trying to justify an education that can put students into debt for the majority of their working lives."

27 of 333 comments (clear)

  1. Teachers wrong here by XPeter · · Score: 5, Interesting

    The student released the source after the release date, which prevented any of his peers from cheating. In the computer science classes that I take, it's allowed to share the source code for your assignments as long as it isn't for a pending assignment and/or test.

    The only reason that comes to mind for the teacher wanting the code to be taken down is because he was going to use the same assignments next year (Which is fairly common among teachers). Regardless, in this case it's his code and he has the right to do whatever he wants with it.

    Unfortunately schools have become more about preparing you for standardized tests and such rather than giving you a real education with the information you actually will use in life (Which is why teachers always have to cover their asses). What Brady was trying to do was help his peers and kudos to him for doing so.

    --
    "The difference between genius and stupidity is that genius has it's limits" - Albert Einstein
    1. Re:Teachers wrong here by think_nix · · Score: 5, Interesting

      The only reason that comes to mind for the teacher wanting the code to be taken down is because he was going to use the same assignments next year (Which is fairly common among teachers). Regardless, in this case it's his code and he has the right to do whatever he wants with it.

      Unfortunately schools have become more about preparing you for standardized tests and such rather than giving you a real education with the information you actually will use in life (Which is why teachers always have to cover their asses). What Brady was trying to do was help his peers and kudos to him for doing so.

      +1 to that . I think (some not all ) educators need to get off there high horses and start being more innovative. Instead of always re-running assignment X for the past 5 years.

      I remember a certain "educator" I had while I was going back to school in 2001. If I didnt code the way he saw fit (which in other terms) a way he could understand he would would fail me , code comments or no code comments. In the end it went up in front of the school Directors , and I had my current employer at the time backing me with some other clients that I was coding for , because otherwise I would have failed out. Luckily the board decided in my favor .

      These certain types of educators that dont understand the depths of the own things they are "teaching" should either A.) be more innovative and come to terms with newer techs and their way of teaching or teaching style. B.) count their losses stfu and find a new line of work.

    2. Re:Teachers wrong here by Jurily · · Score: 4, Interesting

      In the computer science classes that I take, it's allowed to share the source code for your assignments as long as it isn't for a pending assignment and/or test.

      One of my teachers had a different approach: he'd let you do anything, as long as you were clear on what you wrote yourself, and what you didn't. OTOH, if he found the same snippet of code in two different assignments and both students tried to take credit for it, both failed.

      None of us dared use large chunks of someone elses work.

    3. Re:Teachers wrong here by nietpiet · · Score: 4, Interesting
      > Regardless, in this case it's his code and he has the right to do whatever he wants with it.

      This is probably not the case. At my University they own the rights to all code that is written as part of the educational program, not the students.

    4. Re:Teachers wrong here by Retric · · Score: 3, Interesting

      The problem with this approach is the nature of collage assignments. If you ignore variable names and comments then there is only so many ways to write a short efficient bubble sort. Schools with hundreds of students submitting work results in a large number of students submitting the same basic program.

      I think the best solution for this is to have students fill out some functions in a program that mostly works. That way the teacher could change a few things each year and prevent students from submitting a generic solution.

    5. Re:Teachers wrong here by Tubal-Cain · · Score: 3, Interesting

      In math, to teach is to do. You can't teach math without solving math problems. And you quickly and easily check if you got it right (just plug in the variables and compute). Everything else has more subjective meanings of correct/incorrect and use more scarce resources than pencil-paper-calculator.

      Many professions pay much better than teaching in college, naturally appealing to most people. That means there are two types of professors: Those that love to teach, and those that have the certificates but can't hold a job in the real world.

    6. Re:Teachers wrong here by muridae · · Score: 2, Interesting

      I had a professor who did something similar. He stored the last ten years of code and test answers, same as some of the frats do. Policy allowed looking at old projects, tests, and answers for practice, but using answers or code directly from them was a violation. He then hired grad students to automate the entire process of checking code against old projects. Same for current semesters, it would compare folks from all sections of a class that might be doing the same project. We all heard, going through the courses, tales of people who copied one line and the comment with it, changed the whitespace a bit, maybe changed a noun to plural, and still got caught.

      It is* supposedly configurable on the back end, since first year projects all look the same but senior level stuff usually has tell-tale traits in variable naming. And the system doesn't flag and fail you, so you don't get busted for copying your own code from a year before. But, since copying your own code from the time you failed the class is not allowed, that does get checked.

      *It's still being used and developed, it appears.

    7. Re:Teachers wrong here by dbcad7 · · Score: 3, Interesting

      A great deal of it comes from politicians and their "make teachers accountable" speeches, which is an offshoot of the "saving the children" ploy that all politicians use, to appear to be doing something.

      --
      waiting for ad.doubleclick.net
    8. Re:Teachers wrong here by The+Archon+V2.0 · · Score: 2, Interesting

      I wondered what possible mental model of programming this person could have where they thought that pulling random punch cards out of a waste bin could possibly be helpful. My conclusion was that they were just trying to get us students consultants to write the code from scratch for them and he random cards were a way to pretend they had already done some work.

      Possibly, but I'm gonna chuck Hanlon's razor at this one: Never attribute to malice what can be adequately explained by stupidity.

      After some of the insanity I have seen from people, I'm willing to believe anything. For instance, when trying to set up a printer for someone over the phone (never again...), I hit a dead end. After an hour where I couldn't get them to communicate despite verifying the physical connection three times, I ultimately found out that the printer was parallel and the cable the person was trying to use was USB.

      Why did this person think that resting this USB cable in the general vicinity of the printer's port would somehow work despite my repeated insistence that it had to be plugged and locked into the big wide hole? She had put it in an old box she found from a parallel cable (and when I asked her to describe the cable, she described the picture on the box). There was no malice, she just earnestly believed that cables were cables, and simply resting it in the right box for long enough would allow it to absorb the abilities of whatever cable the box was made for. Now, if you told her that putting a red ribbon (or paper or yarn or whatever) in a box of blue ribbon (paper, etc.) would make the red one blue, she'd tell you you were loony.

      So, yeah, there's some people out there who seem normal, but have absolutely insane and illogical ideas when it comes to technology they don't understand. And without proof to the contrary, I by default count students as members of the general public, to be treated with the same assumption of insanity.

    9. Re:Teachers wrong here by natet · · Score: 4, Interesting

      Good profs at the very least work on a 4 semester rotation of courses where you're going to have to dig up a student from a few years ago at least before you have an easy "tweak and resubmit" assignment. Any instructor that dishes out the exact same projects semester after semester isn't showing any commitment, and certainly isn't staying with the times. Computer science is in such a continuous state of flux that any prof that isn't consistently reworking their coursework isn't doing their job.

      Depends on the school. I'm and adjunct professor at a local satellite campus, and I teach the same class every year. The topic is data structures, and not a lot changes year over year when you're talking about something so fundamental. I have changed my curriculum each year, but only because I have yet to find a book that I feel really treats the topic well. Each book has some high points and some glaring low points, but I dream of the day when my lectures actually become somewhat static. I spend way too much time tweaking my lecture notes.

      Also, you don't seem to have considered that in some courses, each programming assignment builds on the one before. By posting his assignments, even after the due dates, he may be influencing his fellow students in the follow on assignments.

      --
      IANAL... But I play one on /.
    10. Re:Teachers wrong here by Attila+the+Bun · · Score: 5, Interesting

      This is a lazy instructor working to maintain his laziness.

      Do not underestimate the work involved in preparing a new course. I teach for a few weeks every year, and can easily spend several days preparing a new one-hour lesson. Even recycled material needs updating and revising, and the preparation time is at least equal to the teaching time. Think of the time you spend to prepare a presentation at work. Now imagine spending your whole working day giving presentations, and doing the preparation in the evenings.

      Teaching is a tough job, and only those who believe it's important stick at it. Some teachers are more talented than others, but I've yet to meet a lazy one. A lazy teacher will quickly move to an easier (and better paying) job.

    11. Re:Teachers wrong here by IdolizingStewie · · Score: 2, Interesting

      That's exactly the problem. It looks like cheating if there's only N logical ways to write something and N+1 students in the class. A dumb/mean (take your pick) prof once accused a friend of that very thing on a final exam, causing him to stress out and lose weight for 4-5 months before the case came before the honor council, where he was acquitted in the shortest deliberation on record.

    12. Re:Teachers wrong here by Dragonslicer · · Score: 2, Interesting

      That's exactly the problem. It looks like cheating if there's only N logical ways to write something and N+1 students in the class.

      One of my more entertaining memories from my college classes was in the intro ECE class that CS majors had to take, where part of the class was learning Motorola assembly (I think we used 68HC11 processors). The professor would frequently give the class a short problem to do during class, then have a couple students put their solutions on the chalkboard next to his. I was one of the ones that wrote mine up on the board, and my solution was exactly the same as the professor's, right down to the variable names (or maybe it was registers or labels, I can't quite remember which). Of course this was only about ten lines of assembly, so there were very few correct/best ways to solve the problem, but the first thing the professor said when we went over our solutions was that no, he and I didn't discuss the problem ahead of time. The odds of this happening are quite a bit lower when you get into normal-length homework assignments in a higher level language, but whenever you have more students than possible solutions, you're guaranteed to have at least one duplicate.

    13. Re:Teachers wrong here by pasamio · · Score: 2, Interesting

      So by that token does the state own a portion of any profit that the institution generates from their research? If you are arguing the student's code is not their own because they used the resources of the university then his code is the property of the state (or others who fund the university), not the university, as they are the ones providing the resources. And thus if it is the property of the state, it is in fact the property of the public and should be open and out there. Of course no where does it state whose resources he used to produce the code. For myself when I went to university I predominantly used my own resources for assignments and I only used the universities resources when I was required to attend practical classes. More over you miss out that in this case not only is the student paying money to attend (perhaps not the full cost but still an amount none the less) but they are also contributing their time which has a cost as well. Unless you're paying for everything the question of ownership becomes quite complicated. It would be different if the student was a post-grad who was working at the university and paid/supported to work on research by the university but this isn't the case here.

      --
      I always wondered where this setting was...
  2. Problem Solved Many Years Ago by eldavojohn · · Score: 5, Interesting

    When I did my undergrad at the University of Minnesota in 2000, they let us know that they took our code that we submitted and stored it in a program with a database. Whenever a student submitted new code, it went through this program. Essentially, some really fancy Hamming Distance that I think might have been similar to FASTA or BLAST algorithms for genetics were employed to score assignments against all the other ones.

    If it was common for students to write assignments -- say they had been given a design template -- then all of the scores would come back rather high. If the TA noticed an outlier, they would investigate. If two submissions came up sufficiently similar, they would investigate.

    It was (of course) never explained in detail how it worked but I bet that today one could take this to many new levels with things like ANTLR that might allow the program to check the inherent structure in code to avoid something trivial like different comments or variable names skewing the results.

    Was it me who was in the professor's situation, I would bite the bullet and code the very basic above application using a web form submission for TAs and Professors. Then I would ask for help from other members of the department and make it a customizable growing project to protect the academic integrity of my school and students. Then I myself would put the opened source on there and run all my students assignments against it.

    Problem solved, you can keep all your assignments static, you lazy bastards :)

    --
    My work here is dung.
    1. Re:Problem Solved Many Years Ago by reallyjoel · · Score: 2, Interesting

      In Sweden, all university thesis'es goes through such a service. www.urkund.se

  3. FIRST! And welcome to fraternity file cabinets by Antique+Geekmeister · · Score: 5, Interesting

    FIRST POST!! Oh, dear, you must have all had a good Friday night.

    There's an old practice of fraternities at my college, where they kept file cabinets filled with old homework and course notes of all the classes their members took. I had wondered how some frat boys coasted through so many classes and got so much more sleep than those of us who struggled working to pay for college, paying for food, etc. Then I found out this was one of their most important reasons. It was a known practice, and one of the less publicly mentioned benefits of joining a fraternity.

    Since small-scale publication of old hoomework and course notes, such as what I describe above, has been going on for centuries, it seems completely reasonable that larger scale publication be permitted.

    1. Re:FIRST! And welcome to fraternity file cabinets by Cor-cor · · Score: 4, Interesting

      My fraternity actually used to do this and we've all but stopped now since nobody uses it. The reason is that nearly all of our classes have started posting old exams, answer keys, course notes, and a few of the good teachers will even post past homework. Most classes also have homework weighted pretty lightly so that learning the material (as tested on the exams) is what really matters. With this setup, past homework of course can't be used for cheating, but sometimes seeing something worked out will help make a connection you might not have otherwise and past exams really help take away the horrible feeling of not knowing if you're prepared for a test or not. I will agree with previous posters that if students are able to use past resources to cheat, this is more the fault of a lazy professor than anything.

      Also, back when we did keep study files, it was an "advertised" benefit of joining the house, not swept under the rug as you seem to describe. As far as I know, no one at the university ever had a problem with us or any other house/organization/random group of friends doing it. Now we mainly focus on the fact that we've got older members from a wide array of majors who are willing to help out younger members as needed.

    2. Re:FIRST! And welcome to fraternity file cabinets by betterunixthanunix · · Score: 2, Interesting

      And by using these file cabinets instead of putting in the effort to actually learn the material, these frat boys cheated their way through college and cheapened the value of your degree. Nothing ticks me off more these days than people who treat a college degree as a job ticket (I get ticked off by a lot of people), and that is exactly what these frat boys do: they party for 4 years and get their job ticket, then go out into the market and act like they put in as much effort as someone who spent their time studying and trying to become an expert in their field. Why colleges tolerate this, when they could rectify the problem after just one year of cracking down on cheating (and improve their reputation as a serious academic institution in the process) remains a mystery to me (except for the simple, "they are afraid of losing students and their tuition dollars," argument).

      --
      Palm trees and 8
  4. Sharing Code is Good by Murdoch5 · · Score: 2, Interesting

    This prof should be taken into questioning by the University. How can he / she agrue that the student commited any breach of ethics. If the profs wants to tell the student that he can fail if he doesn't take his code down then just what does this prof think of Open Source projects. I had a simlar prof at my College who couldn't stand when students shared even the smallest line of code, even a printf.

    I have to give the student credit because he didn't put it up till after the due date, meaning no one could cheat. In either case it's his right to share his code and if he wants to post it then he should be allowed. If another student copies the code then get the other student in trouble and not the original author.

    If a student is dumb enough to copy code straight from a source with out understanding it then they should fail. There is nothing wrong with reading code to understand it and then writing the code yourself in your own style.

    The student who posted his code did nothing wrong, he wouldn't of done anything wrong even if he posted when he finished even if the dead line was not up. His code his choice, as long as he put a disclaimer up saying not to copy it or even the GPL or one of it's variants then he's covered.

  5. Re:The Professor is an Idiot by Anonymous Coward · · Score: 1, Interesting

    Many Universities lay claim to the work done by their students in an academic setting.

    A work-for-hire contract requires consideration. What would be the consideration?

    I'm paying you, Professor. You want to own my work product? Sure, but not for free.

  6. The Real Deal: Licensing for Schoolwork by betasam · · Score: 4, Interesting

    The specific case (covered heavily - check Techdirt for one) in question has actually brought in a much larger problem to light. How should students treat code written as part of assignments or as part of their course-work in terms of licensing? Is there a precedent for licensing? Most research activities conducted by universities have already adopted licensing framework. Here's an example. There has been debate whether such licensing should be free. Just check Medical Research and you can open Pandora's box. One more example is Singapore's A-Star which is more of a group focused on preparing research for industry adoption including licensing and legal usage terms.

    How about code released in books on Data Structures, Algorithms, Fundamental C programming? To my knowledge (do correct me if I am wrong), the code is usually licensed under the same copyright notice as the book itself. In some cases, the author changes this licensing and makes it available. One example is "Numerical Recipes in C" where the licensing terms of the code from the author(s) of the book is explicit and can be found on a google search.

    When it comes to university assignments, it is no news that the same template (if not the same course material itself) tends to get recirculated over a periodic basis. In some cases this period is annual and in others, the frequency is different. The debate raised is ages old. For most data structure or standard assignments of programming, you could find most of the code online. You could use this as a starting point or choose to write your own and learn your fundamentals. That's up to the student and the professor who is teaching and grading.

    There is some truth in the statement (IMHO) that the Academia is shielded from the real commercial world. It works positive in some cases and is counterproductive in fields like Engineering (not Theoretical Computer Science.) In this specific case, if the University were to read all the fine print they have on students sharing course material (for which they pay for) and lecture notes and assignments, they would find the right solution. Bringing this (issue between a student and the professor) out to Open forums seems more of a publicity stunt that is going to get someone infamous for some and noticeable for a few others.

    Focusing on the larger issue, a Varsity must be clear on how course-work and assignments from the students will be licensed and treated. They already have set legal precedents for most research work (which in some cases is funded by commercial bodies.) Hopefully this issue raises a flag and lets varsities understand and embrace Open Source, encourage students to use it particularly in programming assignments. At the very least they should at least reserve procedures to let a student obtain due permission for displaying his/her works online under appropriate licensing. In the absence of a precedent and clear guidelines, such confusion and unnecessary nerve wracking experiences between a Professor and a Student are more likely to surface. I hope not.

    --
    No Greater Friend, No Greater Enemy! (Lucius Cornelius Sulla)
  7. Outsourcing is the new method for cheaters by jrhawk42 · · Score: 3, Interesting

    I can sort of see where the professor is coming from. This is similar to a student posting scan-tron results from a test, but unlike the scan-tron results this actually has other uses besides cheating. Anyway copying is now an archaic form a cheating, and it seems most students who are going to cheat are moving to outsourcing. Instead of buying an essay that was already written, they pay a professional to write it, or in this case they pay a programmer to write it. Most professors won't do much until it becomes a problem, and even then there's really nothing the school can do until they find the original writer, or the student confesses. Most teachers will just increase the workload trying which pretty much just tortures everybody instead of just the cheaters. Hell about 2 years ago it seems like schools were almost proud there CS students were outsourcing.

  8. Re:CORY DOCTOROW IS NOT A "PROF." by Anonymous Coward · · Score: 1, Interesting

    Pardon my ignorance, but exactly who is ths Cory Doctorow person and what does he do? Is he important?

  9. Re:Amazing by loom_weaver · · Score: 2, Interesting

    I spent two terms as a teaching assistant to a fourth year Networking course. After the second term I was already becoming jaded. Half of the students were eager to learn, and the other half... well they'd do the bare minimum to pass. Reading the requirements looking only for the parts that counted for marks and then barely implementing those pieces. Their code was a god-awful mess and while it may have passed most of the bullet points of the requirements it was mostly unusable as a program.

    Perhaps this was just during the dot-com boom and a large portion of the students were taking computer science for the money, not because they liked it or were good at it.

  10. "Real World" vs Academia by bussdriver · · Score: 2, Interesting

    I am sick of anti-intellectuals belittling academia and the educated for being out of touch with the so called "real world" implying that they - the insecure - are somehow more in touch with "reality." Its most often an attempt to undermine the benefit of actual expertise and critical thinking skills to create a level playing field where often there shouldn't be one.

    If one actually digs, you find that reality is so big and complex that all aspects can not be covered (especially with limited time even with a limited scope... one can get into endless debates about how to limit the scope too.) Its an appeal to ignorance which often traps intellectuals who if they are honest with themselves have a good idea of how little they know of "reality" even in their field of expertise. The US media often takes two sides and presents them as equal when 1 can be pathetically inadequate; a similar tactic.

    Often the "real world" person is conceding ideals the academic is not; which are part of a different side debate I've rarely seen the "real worlder" willing to explore. At its heart, Academia explores the real-world at depth and tries to abstract (to help comprehend) and explain the nature of reality-- so its quite an odd claim it is out of touch with reality when its purpose is to better understand reality. Now, sure it can't cover everything and even a moron could contribute something constructive-- the infinite scope of the problem allows for that and many academics can forget this (which is easy to do just from conditioning from interaction with "normal" people.)

    Modern culture has raised the money makers into the new high priests of our society and finally in recent years their status is being questioned (just a little.) Over a generation ago, scientists were the high priests who were going to take us to space and solve all the worlds problems with their mighty science. They didn't accomplish these unrealistic ideals (which wasn't heavily promoted on their part) so it stands to reason many people were disillusioned; lack of significant progress in recent times prevents a repeat on the same scale as before. (Computers almost did but people were more jaded.)

  11. Re:and the dept head said by Anonymous Coward · · Score: 1, Interesting

    There aren't all that many assignments you can give in introductory level courses. Laziness doesn't change that. You can vary the problem parameters a bit, but there are only so many problems that are easy enough to assigned in an introductory level course. Of course, later on when you can assume that students already have a clue, you can get more imaginative and at that point it would be laziness not to vary the assignments.