Forgot your password?
typodupeerror
Education Programming IT Technology

Student Who Released Code From Assignments Accused of Cheating 333

Posted by Soulskill
from the mights-and-maybes dept.
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."
This discussion has been archived. No new comments can be posted.

Student Who Released Code From Assignments Accused of Cheating

Comments Filter:
  • Teachers wrong here (Score:5, Interesting)

    by XPeter (1429763) * on Saturday June 13, 2009 @09:31AM (#28319381) Homepage

    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.

    • by Anonymous Coward on Saturday June 13, 2009 @09:40AM (#28319431)
      Q: What do you learn in school?


      A: How reality doesn't work.
      • by TheLink (130905) on Saturday June 13, 2009 @12:46PM (#28320635) Journal
        The really useful stuff students learn in school.

        1) How to relate to people who have been given authority over you.
        2) How to relate to peers.
        3) How to relate to people with less power than you.
        4) How to stay in one place for hours without going crazy or driving the people around you crazy.

        #4 is very important if you ever want a desk job. Because very often large companies don't bother firing you even if you don't really do your job properly (or at all) - as long as you can sit down quietly and not go about destroying stuff or bothering everyone else. The boss may be saving you for when the CxO does one of those stupid "I don't care how well you're doing and how you do it, I want 5% workforce cuts". Then you come in handy because that means he can let you go and fewer of his other workers who actually work go :). In lots of big companies they don't care if your dept or division did well and is still doing well - they still want those headcount cuts.

        5) Oh yah, and to get an education... Whatever that is :).

        Hmm I think I've also left out "how to relate to people you are attracted to" but this is Slashdot, and I never managed to learn that anyway ;).
      • by Trepidity (597) <delirium-slashdot@@@hackish...org> on Saturday June 13, 2009 @02:02PM (#28321233)

        Actually, a person in a boss-like role issuing stupid and counterproductive directives solely for their own benefit is precisely how reality works, so perhaps the professor here should be commended for inculcating their students in the way the Real World works, rather than clinging to some sort of ivory-tower idealism. Certainly, in Reality, you would have to have several layers of bureaucracy sign off on the code release before you would be permitted to make it public.

        • Re: (Score:3, Insightful)

          by quanticle (843097)

          Certainly, in Reality, you would have to have several layers of bureaucracy sign off on the code release before you would be permitted to make it public.

          Only if the code was owned by the company. Most employment contracts are work-for-hire, which means that the company gets to keep the fruits of your labor (intellectual and physical) in exchange for providing you with a salary or hourly wage.

          This was not a work-for-hire situation. Therefore, legally, the student would have had ownership of the code, and so wouldn't have had to get permission from anyone to publish it. A closer analogy would have been your boss complaining about code that you developed an

          • Re: (Score:3, Insightful)

            by HiThere (15173)

            I don't know. Others have reported colleges that require the signing of an agreement that everything you do as a student belongs to the college. Since the decision was "That wasn't unethical" (and I didn't read the original article) the matter of whether the college owned the code didn't come up. (I'm sure it should have. But I think that requiring such an agreement is itself unethical, so...)

        • Re: (Score:3, Insightful)

          by iamhassi (659463)
          "Actually, a person in a boss-like role issuing stupid and counterproductive directives solely for their own benefit is precisely how reality works,"

          I could not have agreed more. All too often I hear people complain about the stupidest things in the workforce and they don't appreciate they are employed at all. For example, my job has a "coffee club" that costs $6 a month to join if you want to use the break room coffee machine (just regular cheap walmart coffee machine, nothing fancy). A few new hires
    • by think_nix (1467471) on Saturday June 13, 2009 @09:47AM (#28319471)

      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.

      • Re: (Score:2, Insightful)

        by dshadowwolf (1132457)

        There is an old saying - "Those who can - do. Those who can't - teach."

        Not saying that there aren't professors out there who can do what they are teaching. What I'm getting at is you ran into one of the large number that actually fit the old saying perfectly.

        • by Daimanta (1140543) on Saturday June 13, 2009 @11:05AM (#28319941) Journal

          I find this saying utter bullshit. I grew up among teachers and I hear complaints all the time about either stupid students or students with absolutely no manners.

          As an Math undergrad I must say that all my teachers have a deep understanding of the things they are trying to teach me. Unfortunately, some teachers have problems relaying that information to me in a way that I can understand it and that's the major difficulty with teaching.

          And yes, I have had some morons who didn't understand what they were teaching in high school. But there are rotten apples in every profession and I personally sickened by the negative attitude towards teachers around here.

          • by plover (150551) * on Saturday June 13, 2009 @11:44AM (#28320173) Homepage Journal

            Bad apples stand out in every walk of life. The good, honest competent people (or at least the ones who aren't egregiously stupid) are almost invisible next to the loud and wrong idiots, who draw attention for being both loud and wrong.

            I agree completely that teachers as a profession are maligned more often than is fair. I think much of that is due to their visibility to young people who aren't used to dealing with incompetent people in authority, and having their first taste of "hey, that guy's an idiot! I'm just a kid and I can see he's wrong!" That's a powerful memory maker for just about anyone, and it almost always happens with teachers first.

          • by Tubal-Cain (1289912) on Saturday June 13, 2009 @11:57AM (#28320279) Journal

            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.

          • Re: (Score:3, Funny)

            There is an old saying - "Those who can - do. Those who can't - teach."

            Conclusion to be reached from grandparent: Some teachers are idiots.

            I find this saying utter bullshit. I grew up among teachers and I hear complaints all the time about either stupid students or students with absolutely no manners.

            Conclusion to be reached from parent: Some students are idiots.

            Root cause: Some people are idiots.

            Congratulations! You're both right.

          • by Will.Woodhull (1038600) <wwoodhull@gmail.com> on Saturday June 13, 2009 @01:47PM (#28321109) Homepage Journal

            I have worked with a number of teachers in several institutions over the last 25 years. I am not a teacher myself; I have been involved in designing and implementing computer based curricular materials for several types of classes, mostly in health care training.

            There are good teachers and there are bad teachers. But that isn't important.

            What IS important is that there are good institutions whose policies attract good teachers and discourage bad teachers from hanging around. And there are some very bad institutions whose policies (think tenure, teaching contracts, and so on) attract bad teachers and allow them to create a very bad institutional culture that coddles and protects them.

            One major difference between good institutions and bad ones is in the realm of performance measures.

            Good institutions will be willing to talk about the policies they have wrt teaching performance, and show the procedures they use, and the procedures will involve some form of quantification that approximates what is in essence an unmeasurable quality. The majority of professional staff at the Really, Really Good institutions will invite discussions on ways to select better performance indicators or to process the raw results into the stuff that will lead to informed payroll and contract decisions.

            In contrast, bad institutions will have either no performance measure policy, or will pay the concept lip service only: the "procedures" used to implement the "policy" will be so subjective as to be meaningless. There will also be a wall of resistance to discussing this topic across all of the professional staff who would be involved in meaningful performance measures.

            BTW, the "publish or perish" approach is not a useful performance measure. A useful one might be tracking how many students of Teacher A's Tagalog 101 course got passing grades in Tagalog 201 the next year (indirectly using decisions by later teachers to judge the quality of Teacher A's performance).

            Something I would really like to see tried in my state would be to require all teachers of K-12 students to produce one offer of employment from a private sector business every couple of years. While this might lead to losing a few good teachers who got offers they couldn't refuse, it would eliminate the deadwood teachers who truly fit the "them that can't, teach" clause. It would also motivate the lazy bastards who think they can slide by to retirement because they once developed a curriculum 10 years ago, and if it was good enough before the high speed Internet, it should be good enough forever.

            One last caveat: All that a teacher ever does, no matter how good, is to teach; it is always up to to the student to learn. But this is slashdot, where we all spend one weekend a month teaching ourselves some new-to-us programming language, and sometimes actually learning from those weekends. So I'm preaching to the choir.

        • by smoker2 (750216) on Saturday June 13, 2009 @11:13AM (#28319971) Homepage Journal
          Except that the old saying was originally to do with physical possibilities and team effort. If a special forces member loses an arm, he is no good in the field, but very useful at boot camp. Do you think that Stephen Hawking was taught his theories or did he learn the lesser stuff then develop his theories on the basis of that earlier knowledge ? As usual, the meaning has been twisted and now it is a pejorative term, instead of a cooperative one. None of you would be anywhere without your teachers, whether that be family or school variety.

          From each according to their ability, to each according to their need.

          Note that's need not want or desire.
          • by jgrahn (181062) on Saturday June 13, 2009 @11:34AM (#28320097)

            [the "those who cannot do it teach" saying]

            Except that the old saying was originally to do with physical possibilities and team effort. If a special forces member loses an arm, he is no good in the field, but very useful at boot camp.

            That sounds right, in a Michael-Ironside-in-Starship-Troopers kind of way. "If you can no longer do Foo, teach others how to do Foo". Do you have any references supporting that interpretation?

    • by v1 (525388) on Saturday June 13, 2009 @10:07AM (#28319595) Homepage Journal

      The student released the source after the release date, which prevented any of his peers from cheating

      Prevented them from cheating this semester. I'm sure the reason the prof wanted it taken down is so he could easily just copy-n-paste next semester's assignment. This is a lazy instructor working to maintain his laziness.

      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.

      Catching these sorts of cheats isn't too difficult either even if you don't want to start projects from scratch. Just a matter of properly adjusting the project. Make a few fundamental changes that make it look different, update as needed, and subtly tweak a few things. (make a small change to limits etc) This makes it fresh and new, and is fairly easy to spot a cheat since they will blatantly be meeting subtle goals from the wrong project.

      • by Retric (704075) on Saturday June 13, 2009 @10:29AM (#28319703)

        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.

        • by xouumalperxe (815707) on Saturday June 13, 2009 @10:32AM (#28319717)

          The problem with this approach is the nature of collage assignments.

          I vote this the most unwittingly insightful comment ever.

        • by Registered Coward v2 (447531) on Saturday June 13, 2009 @11:59AM (#28320295)

          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.

          I submit if you have to cheat to write a bubble sort you need to find a different major.

      • My frat house had a crib room with tests, quizzes, homework stored. Simply look up the teacher and class and you could easily find examples. Oftentimes most projects just had answers slightly changed. While you couldn't memorize the exact answers it did help in figuring out what areas to narrow down to study. Except for a few cases that did just recycle the exact same things - those were the best!
      • Teacher is right (Score:2, Insightful)

        by goombah99 (560566)

        I heartily agree.

        to give another example, text's often come with problems. It's unethical to personally use an answer key. And personally I think it's unethical to make it easy to access an answer key. I say this because in the school I went to all the chinese language versions of the books were the teacher's edition with the answer key.

        The reason that is important is this. I beleive most students will no cheat if they believe their peers are not cheating. Part of what goes into making that assessment

      • by Culture20 (968837)
        I used to copy/paste assignments when I was a TA, and finding cheats was as simple as running all turned in assignments against the library of previous code in a script for similarities. If someone altered their cheating code enough that it fell below the threshold, then they did a lot more useless work than just writing the assignment (and they'd fail the next few classes while paying the university $$$). I found one cheater who didn't change anything though, including the author names in comments. I'd
      • The student released the source after the release date, which prevented any of his peers from cheating

        Prevented them from cheating this semester. I'm sure the reason the prof wanted it taken down is so he could easily just copy-n-paste next semester's assignment. This is a lazy instructor working to maintain his laziness.

        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.

        Catching these sorts of cheats isn't too difficult either even if you don't want to start projects from scratch. Just a matter of properly adjusting the project. Make a few fundamental changes that make it look different, update as needed, and subtly tweak a few things. (make a small change to limits etc) This makes it fresh and new, and is fairly easy to spot a cheat since they will blatantly be meeting subtle goals from the wrong project.

        Unless his solutions are only solution to the problem, catching cheating would be very easy - simply look for the exact same code as was posted. If you find it, quiz the student about how they arrived at the solution, and perhaps ask how they would approach a slightly different problem. If they fail open, they probably cheated an you can go from their.

        Maybe I was lucky; but all of my professors didn't care if we looked at old tests / assignments etc. Their attitude was - "if you take the time to review a

      • by natet (158905) on Saturday June 13, 2009 @12:56PM (#28320711)

        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.

        • Re: (Score:3, Insightful)

          by Japie_H (997237)
          By posting his assignments, even after the due dates, he may be influencing his fellow students in the follow on assignments.

          I really don't see anything wring with influencing your felllow students. Learning from each other is as valuable (maybe even more valuable) than learning from a book or teacher. Assuming that he did not do things the wrong way. But even if he did things the wrong way you could discuss what is wrong about his implementation and why it is wrong. Those discussions can be very helpful
      • by Attila the Bun (952109) on Saturday June 13, 2009 @01:21PM (#28320893)

        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.

      • Re: (Score:3, Informative)

        Prevented them from cheating this semester. I'm sure the reason the prof wanted it taken down is so he could easily just copy-n-paste next semester's assignment. This is a lazy instructor working to maintain his laziness.

        Unfortunately, this is not uncommon - I see it somewhat often in our university department. I am not sure it's always laziness, though. There appear to be a significant number of faculty who think teaching is beneath them. Their research is all that matters, and they'll do what they can to minimize the amount of time they have to spend on teaching - or to get out of it altogether.

        Personally I think universities should abolish practices like course buyouts and TAs doing the actual teaching, and strictly requ

      • Computer science is in such a continuous state of flux

        Really?

        Maybe I have a view of CS that's be artificially narrowed through only being taught the things I have been taught, but:

        In the last ten years,

        • Are there any paradigm shifts?
        • Are there any major new subbranches being started?
        • Are there any fundamental notions being challenged?

        In short, how has CS changed?

        The Church-Turing thesis still stands unchallenged. No one knows whether P equals NP. The parallel revolution is still in the future (even though algorithm guys study parallel algorithms). We still don't have quantum computing or biocomputing worth talking much about (yay, we can factor 21---into 4 and 6). By and large we still parse languages into a LALR(1) grammars like in... the 70's? User interfaces, they're still mouse-and-keyboard, Window/Icon/Menu/Pointer.

        Exactly what do you mean when you say "Computer Science is in flux"? What's fluctuating?

    • by Jurily (900488) <jurily@[ ]il.com ['gma' in gap]> on Saturday June 13, 2009 @10:19AM (#28319665)

      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.

      • Re: (Score:3, Interesting)

        by muridae (966931)

        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

    • by nietpiet (836036) on Saturday June 13, 2009 @10:23AM (#28319675)
      > 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.

    • it's his code and he has the right to do whatever he wants with it.

      Very doubtful. Usually the code you create for class belongs to the university, not you -- this is especially important if you work you did was actually worth anything, because the university might want to patent it. You may disagree with patents and this wakky ownership model (I certainly do); but it doesn't make it any less the case.

      Recently, I pushed code from class online, but I asked the teacher first. I didn't get in trouble.

      • Usually the code you create for class belongs to the university, not you -- this is especially important if you work you did was actually worth anything, because the university might want to patent it.

        This is only the case if you're a Graduate Student, or if you're on staff, and the University is your employer. If you're just an undergrad, the University can not legally claim your code.

    • by psnyder (1326089)

      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

      I believe this hits the nail on the head.

      Paradigm Shift
      There should be a paradigm shift into thinking why we educate in the first place.

      If we are trying to pidgin-hole people and put them into their place on a pyramid, with the achievers on top and the average in their places below, well then our system is perfectly set up for that. Fortunately, the real world doesn't work like that outside of a totalitarian state.

      If instead we think of education as helping the human being develop so that he reac

    • I think it depends.

      Having not RTFA the things on the student's side are clearly as you state, mainly he did it after the hand-in date. We can further conjecture that the teacher did not request the students keep their work "secret" forever, another potential plus for the student.

      However, the suggested laziness of the teacher here could have another explanation. There's the old adage that the first time a prof teaches a course, the prof learns a lot. The second time he teaches that course the students learn

    • by chthonicdaemon (670385) on Saturday June 13, 2009 @11:51AM (#28320229) Homepage Journal
      I have grappled with this problem myself. I am a lecturer at a university (chemical engineering) and I taught our introductory programming course using Matlab. I believe that it's crazy to have tests on programming where you don't have references or a computer with you, so I set alll my tests as open book, with computers in front of the students. I gave many small assignments throughout the semester and one large assignment at the end. The students uniformly hated the subject. Some of their concerns were that the tests were "too unpredictable."

      You can't blame faculty alone for courses being the way they are -- the students have learnt how to play the game. You work many old papers and basically end up memorising the classes of problems that can be asked. This behaviour leads to a sort of conundrum: if you keep setting new and interesting papers, you will start running out of problems that are within a certain difficulty level. Your students will hate you because they can't prepare for your tests they way they are used to. If you set similar papers (or recycle papers) the first-time difficulty of each paper remains the same, but the apparent difficulty of your subject decreases because your subject is easily gamed by people not interested in mastering the subject but rather passing your tests.

      From the educator's perspective, testing is hard in computer-based subjects because a realistic test (like a project) is trivially easy to copy and testing within a realistic timeframe restricts you to such simple problems that you run into the problem above. There therefore didacticly valid reasons for wanting to keep the answers to problem sets a secret: there are less students with the self control of using the answers as a solid teaching aid than there are who will use them as a quick shortcut to doing the assignments, just like there are fewer students who can manage their time to meet a single deadline than students who need frequent deadlines to make sure that they stay up to date. Pretending that the students are all just there to maximise their mastery of the subject is unrealistic. Most students are doing courses to get the magic paper that will give them a job (or to please their parents or to figure out what to do or to get a husband/wife or many other motivations).
    • by MacTO (1161105) on Saturday June 13, 2009 @12:14PM (#28320397)

      Yeah, instructors who reuse assignments and expect students to pay the price for that suck. On the other hand, those instructors are just as much the victims of circumstance as the students.

      Simply put, instructors are not paid to develop courses and assess work in any manner that can be considered pedagogically sound. On top of that most professors (heck, even most school teachers) have responsibilities that extend beyond classroom teaching. So most of them are expected to use curricular materials that were developed once and used many times over, while reading at a speed more appropriate for an entertaining novel than a serious academic discourse. Instructors who go beyond that are virtually always sacrificing their own personal lives in order to improve the quality of education.

      Teaching at any level is hard. Teaching in over crowded introductory university courses (that are often used to fund smaller upper year courses) is among the most challenging jobs that a professional can do. And, unfortunately, I doubt that battles like this one are doing anything to address the issue of the quality of education.

  • by eldavojohn (898314) * <eldavojohn.gmail@com> on Saturday June 13, 2009 @09:31AM (#28319383) Journal
    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 [wikipedia.org] 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 [antlr.org] 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 :)
    • Re: (Score:2, Informative)

      by Stephan202 (1003355)
      jplag [uni-karlsruhe.de] is software that does what you describe (not sure about the technology behind it, though). It compares all student submissions and detects similarities. The site seems to be down currently, but this page [heacademy.ac.uk] gives an overview of what it does.
    • by gbjbaanb (229885) on Saturday June 13, 2009 @10:35AM (#28319731)

      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.

      I'd set it as next year's assignment!

      The following year would be "using the university's cheat-detector algorithm, submit the supplied program such that it successfully passes the detector without raising any investigative points".

      The year after that, "improve the detector to successfully protect against accepting supplied programs A and B such that they are correctly detected as similar".

      Repeat until retirement. (Why did I ever go for a job in the private sector, my talents are obviously wasted here!)

    • Re: (Score:2, Interesting)

      by reallyjoel (1262642)
      In Sweden, all university thesis'es goes through such a service. www.urkund.se
    • by mkiwi (585287)

      I was a TA awhile back for a Sophomore Java Programming class, and there was a particular incident where a student had turned in verbatim another student's work for an assignment.

      It was extremely easy to catch, though, since the guy didn't even change the name of the real author in the code's comments.

      Some people just can't be helped.

      • Sadly, it happens in the real-world too. I have a website for a device that only supports Javascript games. I've received more than one submission where the submitter claimed ownership of code that was quite clearly not theirs. In one case, the code had a full attribution segment in it AND the first Google result for the game showed it on a script download site.

        Predictably, the code didn't even work on the target device. It was old-style JS code from the 1990's that clearly said it only supported IE3 and NS

  • by Antique Geekmeister (740220) on Saturday June 13, 2009 @09:36AM (#28319409)

    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.

    • by Cor-cor (1330671) on Saturday June 13, 2009 @10:02AM (#28319561)

      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.

    • Re: (Score:3, 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 ti
      • Nothing ticks me off more these days than people who treat a college degree as a job ticket

        ...especially insufficiently clueful screeners in human resources departments.

        • by dr_dank (472072) on Saturday June 13, 2009 @10:53AM (#28319849) Homepage Journal

          ...especially insufficiently clueful screeners in human resources departments.

          This is absolutely true. If that HR wonk doesn't have that "degree requirement" checkbox marked, your resume takes a one-way trip to the trash can. With degree inflation being what it is, you'll need a Phd to work at McDonalds in ten years.

          For that eventuality, I'm still working on my thesis titled: "Recidivism in McDonaldland: A Restorative Approach to the Hamburglar Problem".

      • by jcnnghm (538570)

        There is more than one way to approach a problem. Those guys will probably be your boss, since they're more efficient than you.

    • The irony is that, as a student, copying the work of others is unethical. Once one is a professional, billing for work done, a case could be made that NOT copying is unethical. E.g. billing for a custom implementation of an off-the-shelf solution doesn't seem right*.

      The lesson from the fraternity story is that they start using the system that works in real life - who you know is often more important that what you know.

      (* = heh, it would be like a lawyer charging a full fee to draft a letter that he pu
      • Re: (Score:2, Insightful)

        by maxume (22995)

        If, as a professional, you misrepresented the source of the work, it would be just as unethical as the student misrepresenting the source of the work they copied.

      • by RyoShin (610051)

        The argument is that these files, referred to as "cribs", are intended for studying, not copying. They can give real-test examples to understand better what to expect on future tests from a certain professor or class; even more important, they can show how a professor might grade, so you know whether to focus on showing your work or getting the answer. This is doubly helpful in liberal arts classes, where you have a lot of short-essay tests and so need to know what kind of information they're looking for.

    • Funny, because right before finals one of my teachers for an EE class refused to release answers for previous tests that we could practice with on the basis that he didn't want it ending up in some frats file cabinet!

  • by legirons (809082) on Saturday June 13, 2009 @09:40AM (#28319437)

    And threatening to fail a student for reasons other than poor performance in the course is somehow not an "ethical violation"?

    • by drinkypoo (153816) <martin.espinoza@gmail.com> on Saturday June 13, 2009 @09:48AM (#28319481) Homepage Journal

      And threatening to fail a student for reasons other than poor performance in the course is somehow not an "ethical violation"?

      Depending on your metrics, cheating would result in excellent performance, but is a valid reason to fail a student.

      The ethical issue here is whether publishing your schoolwork is enabling cheating.

      The answer is that it is, but it's still not an ethical violation, because (to borrow a term from the land of law) there is substantial non-infringing use.

      • by Thaelon (250687)

        Except the case here is that the professor doesn't want next year's students to be able to use the answers from the site.

        They don't want to come up with new assignments next year. Laziness, pure and simple. That a professor isn't fired for this is reprehensible.

  • by Mike1024 (184871) * on Saturday June 13, 2009 @09:43AM (#28319447)

    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

    For a first year course entitled "data structures and algorithsm" isn't this kind of unavoidable?

    I mean, consider some of the projects on this student's website [kyle-brady.com]; things like sparse matricies, longest common substring, recursively solving an occupancy grid map, and so on.

    How much variety can you put into an assignment to implement sparse matricies?

    Of course, even without this student posting his assignments online, students could still google the problems and probably find working solutions, so taking down this one student's assignments isn't going to stop those who feel so inclined from just copying implementations they find through Google, so I'm not sure the teacher would have achieved much even if he had got this stuff taken down.

  • by PvtVoid (1252388) on Saturday June 13, 2009 @09:43AM (#28319451)
    Simply put: professors do not own their students' coursework. If a student writes a short story as an assignment for a creative writing class, can the professor prohibit the student from later publishing it? To call that academic misconduct would be absurd on the face of it. Now, what is different about computer code?

    Kudos to SJSU for backing the student on this. Beeson is clearly out of line, and I hope that students will make a big stink if he tries to insert some idiotic no-publish clause in future assignments.
    • by cptdondo (59460) on Saturday June 13, 2009 @10:03AM (#28319569) Journal

      Yup....

      I used to teach comp sci back when.... I had a single assigment that the students worked on all semester. We started out with the basics, and then added more and more features until we had a full-featured program.

      While the assignment never changed, you really couldn't cheat as it would be really difficult to fake your way through months of ever more complex code development.

      The class was typically small enough where I could talk to each student once in a while and probe their understanding of what they were doing.

      Not only is the prof an idiot, he's a lazy bastard as well.

      • Re: (Score:2, Insightful)

        by petes_PoV (912422)

        Not only is the prof an idiot, he's a lazy bastard as well.

        You're very quick to judge, when the story doesn't tell the teacher's side. There may be acceptable reasons why he took this decision - until those are made known you really should know better than to dive in and start criticising people.

        Maybe it's best that your teaching is all in the past tense

        • Re: (Score:3, Insightful)

          by cptdondo (59460)

          Good instructors don't recycle their work over and over.

          Anyway, I could see if a lot of work went into developing the assignments. But it really didn't and there is no reason why the prof couldn't develop new and better assignments in response to new tech and student needs. That's part of teaching; you respond to your students, you grow and develop.

          Recycling the same assignment from year to year doesn't say much for the prof and his own development and learning; telling your student to take down a website

    • by introspekt.i (1233118) on Saturday June 13, 2009 @10:07AM (#28319593)

      Simply put: professors do not own their students' coursework.

      Professors may not own their students' work, but you may want to check your facts. Many Universities lay claim to the work done by their students in an academic setting. IANAL, but typically the qualifiers for a school to own your work begin to appear when the work you do is done using significant university resources (namely doing work under the guidance of a prof, I know you'll say that many students don't get help from their profs other than the class...but sometimes to some schools this doesn't even matter). It's not that I necessarily agree with this practice, I don't. I've been "victimized" by my own university after it laid claim to a group project that my group had been working on for a school contest. Through a web of legalities the school considered us "students" to be "employees" (albeit employees who paid ~15-20k a year to 'work' at the school) and all employees were required to render IP they had developed in their respective programs to the university. Our app was fundamentally flawed and incomplete, so we opted not to fight the team of lawyers for something that was broken. The whole experience was rather disheartening. All these rules we'd "agreed" to were essentially a part of the shrinkwrap rules you agreed to/were bound to by being a part of the university. The school acted as though this was the modus operandi for a lot of schools, and I couldn't really be sure one way or the other. I recognize that my experience may have been unique, but I've seen similar stories like this, even on slashdot.

      Back to what you were saying, professors probably aren't going to own a student's coursework. Universities, might, however, like in my case if they've set up a rats nest of rules to capture student IP.

    • by fdobbie (226067)

      Simple put: you are wrong.

      The course agreement for most universities attributes the copyright from any works you create during your studies to the unversity. They own it.

      • by russotto (537200)

        The course agreement for most universities attributes the copyright from any works you create during your studies to the unversity. They own it.

        Where did the student sign this agreement, specifically? In the US, a written and signed agreement is necessary for copyright transfer. A policy statement by the university isn't going to cut it.

        • by ultranova (717540) on Saturday June 13, 2009 @12:15PM (#28320407)

          In the US, a written and signed agreement is necessary for copyright transfer.

          Nah. In the US - and everywhere else, for that matter - all you need is more money than your opponent.

          A policy statement by the university isn't going to cut it.

          The university has more money than the student. Therefore, whatever the university says is the law.

  • Amazing (Score:5, Insightful)

    by hansraj (458504) on Saturday June 13, 2009 @09:52AM (#28319507)

    Someday I hope to be a professor, teaching my own classes. The one thing I would like my students to do is respect me as someone who contributes strongly to their development as a person and as a professional. It surprises me that the teacher in question would rather claim idiotic copyright policies just to be able to avoid having to come up with new assignments. I can not think of any purpose this would achieve other than helping him be a lazy ass.

    Even if there was a valid reason for him to ask the student to remove the code, I would expect a teacher to keep the student's intent in mind and try to be as accomodating as possible; clearly the student is taking his homework seriously enough and that is already a good thing that should be encouraged as much as possible.

    • Re: (Score:3, Insightful)

      by Roger W Moore (538166)

      Someday I hope to be a professor, teaching my own classes.

      I am a professor teaching my own classes and I'm only too happy if my students share their working on how to do things. The point of assignments is to get students doing problems so that they have practice at solving things themselves. Unless they are extremely good this means that they will need help to do some of the assignments. As long as they try the questions themselves first the educational ojectives are satisfied since they have thought about it and will learn and understand how to do things better

  • Sharing Code is Good (Score:2, Interesting)

    by Murdoch5 (1563847)
    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
  • by jeffb (2.718) (1189693) on Saturday June 13, 2009 @10:17AM (#28319653)

    ...as I recall, the campus newspaper charged by the line for classified ads.

  • by betasam (713798) <betasam@@@gmail...com> on Saturday June 13, 2009 @10:38AM (#28319747) Homepage Journal
    The specific case (covered heavily - check Techdirt [techdirt.com] 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 [a-star.edu.sg] 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 [bytes.com] 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.
  • by jrhawk42 (1028964) on Saturday June 13, 2009 @10:38AM (#28319753)
    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.
  • by kklein (900361) on Saturday June 13, 2009 @10:46AM (#28319793)

    A professor is someone with a PhD who is tenured at the university in question. Cory Doctorow, if I am to believe what I have read (blessed and purified by The Man Himself) [wikipedia.org], doesn't have so much as a bachelor's. The fact that he has been allowed into the front of university classrooms does not make him a "prof." That being said, we can't really hold that mistake against him as he does have all the education of a glass of water.

    Me, I've been teaching university in the US and Japan for 6 years. I, too, am not a "prof." I was pretty stoked when I started this job in April and moved up from "Senior Lecturer" to "Assistant Professor." My former boss in the US runs an entire state university's Japanese program, and has done so for 20 years. Her title? "Lecturer." Why? No PhD, just a master's.

    This right here is the core reason I loathe Cory Doctorow. He constantly blows himself up to be things he clearly is not. The moment my opinion of him turned for good was the moment in the talk he gave to Microsoft, wherein he described himself as a "half-lawyer." My buddy who just finished law school but hasn't found out if he passed the bar yet is a "half-lawyer." Some Drew Carey lookalike who writes about as well as you would expect from someone who graduated from a "free school," and who likes to pontificate endlessly about legal issues is not.

    I would post this on Boing Boing, but I was banned for posting something similar.

    • Re: (Score:2, Funny)

      by Anonymous Coward

      But but... He's Cory _DOCTOR_ow! If you've got DOCTOR in your name, you've gotta be a smart, intelligent, and sophisticated individual!

      If he put the Dr. at the start, he'd be "Dr. Ow", and what kind of message would that give his readers? I know I feel pain when I read his commentary!

    • A professor is someone with a PhD who is tenured at the university in question.

      So, a "visiting professor" is not a professor?

      My buddy who just finished law school but hasn't found out if he passed the bar yet is a "half-lawyer."

      So a formal education is the only way [google.com] to become even "half" a lawyer?
      Does that mean that people who pass the bar examine without graduating from a law school are only "half" a lawyer too? Just the "other" half?

      If you are going to get your panties in a twist over semantics, you probably should get your own semantic ducks in perfect formation.

      • Re: (Score:3, Informative)

        by cvd6262 (180823)

        A professor is someone with a PhD who is tenured at the university in question.

        So, a "visiting professor" is not a professor?

        Actually, no, it's not. "Visiting Professorships" are a bit like "honorary degrees."

        In some place (UK, I think) you're only a "professor" if you fill an endowed chair. Now, here in the US, it differs a little by institution, but typically both tenured and tenure-track faculty (assistant, associate, and full professors) are considered "professors."

        But a "visiting professorship" is usua

    • Re: (Score:3, Insightful)

      by bcrowell (177657)

      I would post this on Boing Boing, but I was banned for posting something similar.

      I like Doctorow's writing, and I used to enjoy reading and posting on boingboing. What drove me away from boingboing was their habit of deleting posts, etc. The problem is that Doctorow (a) is the world champion at self-promotion, (b) encourages people to form a community on boingboing, rather than treating it as a personal blog, (c) has a habit of getting into controversies, and (d) has folks working on boingboing who delete

    • by Daniel Dvorkin (106857) * on Saturday June 13, 2009 @12:21PM (#28320459) Homepage Journal

      A professor is someone with a PhD who is tenured at the university in question.

      No. A professor is someone who is given the title by the institution, period. Most universities won't do this without a PhD or equivalent degree, true, but someone who has been given the title is properly referred to by the title. And if your job title is now "Assistant Professor," you are in fact now a "prof." I'm no bigger a Cory Doctorow fan than you are, but if he has been given a job title which includes the word "professor" by an accredited institution of higher learning (I have no idea of this is so) then he is too.

    • Re: (Score:3, Insightful)

      by Homburg (213427)

      I have no idea why you think a PhD is a formal requirement for being a professor. Of course, most professors do have a PhD, but it's not completely unprecedented for people to be so obviously brilliant as undergraduates they get an academic post before doing a PhD and so, in time, become a professor without ever getting a doctorate; Quentin Skinner [wikipedia.org] is an example.

  • If I was teaching, I'd want to assign some of the same problems year on year. That way I could assess how the standard of the class is changing. I could also use any variation in average marks to check the effect of different teaching practices.

    Obviously, if some kid puts publishes their code (which is akin to publishing the answers of any tests / exams you take), then it makes it harder for the next year's group to come up with solutions of their own without being accused of cheating. This guy could well

  • I meticulously posted all of my undergraduate and graduate schoolwork (notes and homework assignments) to my student website. Thankfully I was never approached by the school to take it down. I was approached by a company we did a study at, who rightly pointed out that what I posted shouldn't have been, which I promptly removed. Everything else remained until my account was de-activated after graduation.

  • Cory - If a student is going to be spending most of their working life repaying their college loans, they made a bad choice of college. Perhaps we need a bigger emphasis on economics while the student is in high school.
  • THe RSS feed link in firefox "live bookmark" reads: "Student who released code from ass...."

    I had to debate whether I wanted to click on it, for fear of a massive goatse prank...

  • The either research method builds on others work. As long as you give proper citation and add something original you aren't cheating.

    If it is something like a bubble sort you can have them run a bubble sort on data for a web page they build for a bogus company they are "working for".

    Then give them data sets of various sizes to show how poorly it scales.

    Then have them do an quick and dirty algorithm analysis so that they understand *why* it doesn't scale and *why* you shouldn't use it for large data sets. Ha

  • When I got my Info Sci degree at a local university we were openly encouraged to share code. The theory was that other students could evaluate and critique code.
  • I can understand why the professor wouldn't want to change his curriculum (it'd be like someone telling you that you can't reuse code you've written from other projects), but kudos to the department chair for siding with the quality of education rather than the status quo of the course. There are ways to detect code plagiarism beyond just doing string comparisons, so the professor may be able to even use the same project but just ratchet up the process involved in grading to detect those who just copied the

  • I hope professors understand that a very large portion of students get past exams and assignment solutions from friends who have taken the class before and this is simply not fair to those students who don't have access to that material - especially if the exact same exam/assignment is going to be given. But unfortunately there's very little a school can do to stop students from sharing assignments, so to level the playing field professors should not reuse exams and assignments. In fact, they should always

In any formula, constants (especially those obtained from handbooks) are to be treated as variables.

Working...