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."
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
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.
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.
And threatening to fail a student for reasons other than poor performance in the course is somehow not an "ethical violation"?
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; 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.
"Goodness me, how unlike the FBI to abuse the trust of the American public." -- The Onion
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.
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.
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.
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 pulled out of his boiler-plate folder, of course many folks don't hold lawyers in high ethical esteem...)
This issue is a bit more complicated than you think.
What if you have inadvertently executed an agreement (as part of enrollment) that assigns copyright to the university for all your works? What if you (perhaps by a click through agreement) have agreed to not redistribute, because they archive all submissions to use in a plagiarism checker?
...as I recall, the campus newspaper charged by the line for classified ads.
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.
A work-for-hire contract requires consideration. What would be the consideration?
A diploma.
I think it is perfectly fine to share your code after the assignment is due. However, it is considered to be cheating when you use someone's code, and it is prosecuted at my school.
I've been an academician for a while. I wouldn't mind students putting up their assignments after the assignment deadline. Some assignments are a great amount of work and it is good that students would like the rest of the world to benefit from them. However, if they do put it before the deadline they would prevent other lazy students from making an attempt at the assignment. Students learn quite a bit from doing the assignments. To an extent, open source does curtail students' thinking when it comes to short assignments but it helps them on larger projects.
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)
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.
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 is a students appreciation of how easy it would be for the other students to cheat. If it seems like theirs barrier they relax. If the other kids have the answer keys in their hands they get worried and some will assume the others must be cheating and do so themselves.
thus supressing avenues for easy access to cheating materials is a good thing.
Some posters have said "well why cant the professor tweak his assignments and then look for answers that were off the old sets".
Professors should be able to reuse their prolelm sets without having to try to constantly be worried about how to outfox cheating.
It would have been much easier for the student who wanted to publish his assignment because of their intrinsic value could very well tweak these so they don't correspond to the assignment much more easily. So me thinks this excuse for publishing assignement keys is a ruse.
Some drink at the fountain of knowledge. Others just gargle.
I have not seen the prof's defense here. Although I agree with the speculation here that he's probably lazy, we cannot rule out the possibility that there are other motives at play.
I looked at the student's code. Lots of arrays, lots of for loops, for the purpose of array initialization, for example. No display of abstract thinking but rather a level of implementation that I would expect from a garden variety programmer.
So, what if the prof, gracefully, lets the kid pass, because the programs produce the required results, yet disagrees with the implementation because it does not show problem solving capacity as perhaps taught in class. Perhaps the kid *should* have failed based on the profs stated standards.
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), 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.
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 be hurting more people that he "helps" in his rather naive attempt to show the work the results of his efforts.
It's not always down to laziness on the part of the teaching staff, the kids in schools may not believe it, but some teachers do actually know more than they do.
politicians are like babies' nappies: they should both be changed regularly and for the same reasons
. . . EULAs for classes. You read it here first.
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.
Slashdot's first reaction to VMware
You lost me at "Quoting Cory Doctorow..."
Surely a useful piece of code would have instrumental value, not intrinsic value...?
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.
"But the convenience of profs must be secondary to the pedagogical value of the university experience..."
Exactly. That's what we're paid money for -- to come up with new material. It may be inconvenient, but too bad. Students should be able to present their work as soon as is possible without compromising the course integrity. It's their work.
That being said, I would still make it a matter of policy that students not distribute the results of their work until the end of the course unless they have permission from me. I'd ask them to ask me if it is okay to make it available sooner than that, and usually it would be (I might say in class: after date X you can release the code from assignment Y, but not before). The reason why I might say "no" is pretty simple: sometimes people have to turn in assignments late for legitimate reasons (e.g., illness), and that could create a problem even for code released after the nominal due date. Sometimes the nature of the assignments is such that having access to other students' earlier ones would undermine the assignment. Basically, whether it is safe to release or not depends on the situation. It would be a courtesy to check for this possibility before going ahead and releasing the code. There is a balance to strike here, and it's the sort of thing that hopefully the students would understand.
But if it is for the instructor to avoid having to make new assignments next term, that rationale makes no sense. Any stipulation about release dates should stop at the end of the class. Students should be able to proudly share their work after the evaluation of it. It's motivating and it's a way to learn from your peers. The possibility of cheating is pervasive whether they do this or not, and it is something that can be mitigated other ways.
Self Education is the only way for me! I spent some time trying to find classes, courses, or degree programs but it was all a waist of time and money.
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. Have them show all their handwritten work. That sort of assignment is more instructive than "implement a bubble sort", sincve so many sorting algorithms are already canned.
putting the 'B' in LGBTQ+
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.
Too bad I haven't had any classes taught with perl
My UID is prime... is yours?
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 work of others.
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.
On a somewhat self-indulging side note, my wife and I just made our last payments to our student loans this summer. Only 3 and 5 years after graduation respectively too. However, we both worked full time in college, and we've been making aggressive payments to our loans ever since graduating.
Faith is a willingness to accept something w/o complete proof and to act on it. Reason allows you to correct that faith.
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 make last semester's exam available to all students as a practice so the few students who don't happen to have a friend who already took the exam don't get unfairly punished.
Sorry, the moment I read "Cory Doctorow" I just get a dull hum in my head and lose not only focus but interest.
Zz.. . . . .
A message for the teacher: Boo fucking hoo. You're not paid to sit on your arse, if you are repeating tests year to year then the students will cheat, internet or no internet. You're not only abrogating responsibility, you are interfering with a students right to his works. That the author retains copyright is so well established as to make this a clear violation of rights. You are a pathetic leech and should be purged from academia forever.
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.
Credits are still consideration, even for a student who does not graduate from that institution.
This will not be popular.
The teacher has found favorite assignments to give, for reasons of his own. The students now have access to those between years. Teachers don't like that. Many of my best teachers recycled most assignments because those assignments were designed very carefully and deliberately to be best at extracting certain knowledge.
However, in the internet age... there will soon be very similar projects that people can google, or other teachers will lift those assignments, or students will pass them between grade-years as was common when I was an undergrad.
My solution is simple:
In-class testing. Get students into a room without their personal machines and force them to create from scratch, or even... dear God no... use pen and paper.
This is equally important in the humanities as the sciences. Tests exist for a reason, because a student who does well on homework but poorly on tests is probably either (a) having extreme test anxiety or (b) cheating, being helped by parents or friends, etc.
Futurist Traditionalism
fall into the lazy trap of wanting to assign rotework that can be endlessly recycled as work for new students
Actually, assigning "rotework" is not much effort; coming up with meaningful assignments is hard.
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.
Who cares? Students have plenty of other resources to cheat on their homework if they want to. If they don't actually do the work, they won't learn and they'll fail their final exam.
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.)
Democracy Now! - uncensored, anti-establishment news
Is the lucidity of the student's e-mail and the clarity of his message. Uncluttered, no specious garbage, irrelevent arguments, or unessential points subject to reproach.
Basically indisputable....
Very simple, well-organized, and extremely easy to understand.
We need more judges and politicians who can keep things that simple and clear.
If your education puts you in debt that lasts a lifetime, you did it wrong. Yes, not everyone can afford even a public university, but most of the state unis around here have far, far lower tuition than anywhere else. And you can go to a community college for the first two years to knock out those damn Gen Eds for even cheaper than that. Yeah, there's a lot less scholarship money to go around now, but there's still some federal aid money that you can get your hands on too. The problem that I observed from my graduating class was that no one wanted to 'lower' themselves to a public university. Cutting off their nose to spite their face, and all.
I had M. Beeson for my Windows Programming (i.e. MFC) class when I was a student there. During my time in his class, I got B+ and A grades across the board for every test and assignment, including an A+ on the weighted final. However, I missed one of the homework assignments because I simply didn't have time to do it (was taking a full course load and part-time job). He had/has a policy of automatically failing anyone with a missing grade. Now given my grades in particular, I could done something as trivial as handing in a blank sheet of paper to get an F for the assignment, and still walked away with an A- for the class. In fact, I would have done exactly that, except he had contacted me to inform me of his intentions, which was to make an exception (to failing the class) for me due to my otherwise excellent performance. In other words, I wouldn't have to pay a visit to his office to hand in a blank sheet. Reasonable guy, I thought. So my transcript for the semester came back with an A- for that class. No harm no foul.
Fast forward a month or so into summer. I receive a letter from SJSU's administrative office. What is inside but a form for "Notice of Letter Grade Change" or some such. Beeson had retroactively changed my grade from an A- to a C, and too late for me to do anything to remedy it (like handing in a blank sheet). That was the M. Beeson psycho crusher, I assume.
When I was taking his class, my opinion of Beeson was that he was a cynical but otherwise ok guy (nothing wrong with a healthy amount of cynicism). After the grade change that he pulled on me, I was pretty sure that he was an asshole. This story seems to confirm it. Unfortunately, most of the senior CS staff at SJSU are dicks. Strangely, the math profs aren't as bad, and several are actually pretty cool.
I would think that someone planning to release their code afterwards would write better code and comment it to a higher standard so that the release wouldn't embarrass them in the process. And that other students who felt their own solution was superior would post their own code provoking competition and robust debate.
And how can this be a bad thing? You may learn ways of solving a problem that you'd never thought of before.
"It's the height of ridiculousness to say for those 9 lines you get hundreds of millions."
I had a brilliant professor.0he made all of this years questions look like last years, but with some minor differences. Eg sorting java strings instead of ints. Most of the class submitted last years solution with find/replace (which doesn't work when comparing strings) . One genius even included his friend's cv with HIS assignment.
I am Markos Nt. Apostolidis, a Professor of computer science at a private university in Greece, EU (cooperating as a franchise with a British university) and author of a book on Pascal, and we do not allow our students to post their answers or code to homework questions online or otherwise make them available to others, as we treat our students' answers as either the private university's or my own intellectual property (depending on who wrote the initial homework questions). The reason is simple: if we allowed our students to post their code, we would have to change our homework questions with each new class, something we have absolutely no intention of doing as the problem is easily solved by having the students to sign a copyright transfer agreement when they sign up for their studies.
I think you need to read this OTHER slashdot article, just posted, about the relationship between open source and the scientific method. If the work done by the students in the class is valuable enough of itself to be worth publishing, then they should be able to publish, just as if they had done original research in any other class.
We're not talking about routine homework assignments here, we're talking about a student who believed, AND was able to convince the head of the department, that what they had created was inherently valuable.
I don't see ANY reason why this should happen. It doesn't matter if student's find the solutions online, in the long run. If students don't bother to learn while in school, they will burn when they get a job. Also, if students cut'n paste the solutions they find online, fail them. There is a difference in actually cut'n paste, and using something as a reference. Nothing wrong in sitting down, reading someone else's work, and using it. Students learn a lot from that. I used to be a Lab engineer, teaching basic C(We start with "Hello World"). When 40 people handed in the same work, they got what was coming. Our Labs are the same every year, and it won't change just because the solutions are published by older students. The students are there to learn, and if they don't want to, not our problem. There is NO reason to threaten a student just because they publish what they made.
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,
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?
While I think failing the student is a little extreme, but the teacher might have had a different take on it. Some schools have intellectual property rights on what you create during/for class. Now, I admit, any school that fights over a bubble sort or something of similar ease has issues greater than a little lawsuit. But some college classes run as if this were a "Workplace" where your "assignment" is something akin to what you might run into IRL. So, immediately after the due date for the assignment the programmer goes posting the code on the net would probably be fired or otherwise supremely reprimanded if this was an actual business. In short, while it wasn't expressly forbidden, it also wasn't expressly allowed. While the teacher shouldn't have gone to such an extreme step as failing immediately (maybe say that the student will get a 0 or something for that grade), the student should be aware of why the teacher is requesting such an act. Then again... it could all be blown out of proportion and people should just laugh and move on.
..as I recall, the campus newspaper charged by the line for classified ads
The good news for his bank account was that all of his projects were written in perl!
Back when I was a first year student I shared my code for my final assignment with a friend of a friend who was thinking of taking the subject the next year. I sent him a zip with the criteria document and my solution so he could have a tinker around with the language (we were learning DrScheme). All of this happened at the end of the semester after the final assessment.
Then, this guy logged in to the assignment submission service with an old session id from before the due date (about 2 months ago) which hadn't expired and submitted a near copy-paste of my assignment. The assignment showed up (along with a few others from people using the same exploit) and the tutors marked them, thinking it must just be a weird bug. That's it, no investigation into how it happened, just treated them as submitted on-time even though they didn't show up until after all the marks were finalised.
Upon the release of results I was called in to an interview about plagiarism. I brought in chat logs, and the friend who was the link between us to back up my story and laid the whole mess in front of them.
Because I shared my code after the course assessment was completed, I was found guilty of academic dishonesty. But I was allowed to keep my original marks on the course, my punishment being a record kept on my permanent file of the guilty outcome.
As far as I could tell the other guy received the same punishment as me as well as a 50% mark reduction...
..as I recall, the campus newspaper charged by the line for classified ads
The good news for his bank account was that all of his projects were written in perl!
The bad news was that the first Perl interpreter was still five years or so in the future, so all those lines of $_\{} and whatnot were correctly interpreted as line noise.
No kudos for him 'sharing' or 'helping' his peers...his motivation was for the code to be a "good employer reference for his work" (not a bad idea in itself), but the idea of helping his peers seemed like a remote possibility to him -- he said it could be helpful to some peers, but with no 'could' qualification, he thought it would be a good reference. While I entirely approve of his posting his work, lets reserve kudos for altruism when it is actually the case. :-)
In the counter point, though -- if you, (or he) actually thought future students would benefit by copying his work, you might want to reconsider that -- copying from others and not learning to think for yourself is rarely a benefit if your goal is actual learning.
But the student has already, himself, paid a Consideration for the Credits: His Work and his Tuition.
In some cases, the contract does not state that "His Work and his Tuition" are sufficient consideration. Instead, it states that consideration comprises "His Work and his Tuition" plus any copyright and patent interests in "His Work".
According to this article:
http://www.thecrimson.com/article.aspx?ref=506710
Total fees for undergraduates at Harvard were around $40,00 per year back in 2005. They've presumably gone up since then, but even at $50,000, and even if you get no financial assistance, that's "only" $200,000 for 4 years. If you graduate from Harvard with a degree in a high-demand area, and you don't make enough to pay all that back in less time than you took to incur the debt, while living a reasonable lifestyle, you're doing something wrong.
For those of us who had our sights set a bit lower, it's actually even easier to break even on your education.
and see what happens. Put the assignment on the school's network so no one out side sees it and have the class collaborate on it.
I think that the teacher felt threatened that this student is posting something better then theirs. Many professors want to be at the top of the food chain and this would be one of those threats. the movie DOA was one I believe where a student's work was a stroke of genius.
The professor needs to come up with newer material every year since technology is always changing.
I am a CS major at SJSU, and this is a weird story...I post all the code from my assignment on my google site, and I've n In fact, for an assembly language programming class, we were REQUIRED to create a website and post our code there.
You can't have a dozen men saying "I really don't wanna go up that hill, I hear gunfire and might get hurt...."
Can. And should.
This one change would advance civilization more than anything else in history.
Gotten bad in what way? Requiring students having a computer? The cost of one is less than the cost of tuition. I can see some majors not needing a computer, but programming does require one. It's not like the old days when paper tape or punch cards were used.
Falcon
Should there be a Law?
The old saying is attributed to GB Shaw, from "Maxims for Revolutionists" (1903). The original quote is "He who can, does. He who cannot, teaches," and it originally had to do with "Education."
You cite no source for your claim, which seems to be cut out of whole cloth.
"National Security is the chief cause of national insecurity." - Celine's First Law