10 ms·
Coursera's Functional Programming - Cheating Discovered
- benmanns 14y agoThe fact that people publicly posting their work would get expelled disappoints me. During the Machine Learning class on Coursera, I did all of the programming exercises myself. After submitting the assignments and getting 100% scores, I would browse other people's GitHub repositories to see how they completed the assignment, which taught me more about both Octave syntax and machine learning and helped me to vectorize some of the more tricky algorithms (use Octave's native matrix operations rather than slower for loops). The people who submit exact copies of assignments they find online should absolutely be penalized. To expel those who publish their work seems overly harsh.
- think-large 14y agoDitto and 100% agreed!
- ramblerman 14y ago" For those students for whom it's been discovered have uploaded similar or duplicate solutions, cases will be handled on an individual basis. Though beware, that cheating in any capacity not be tolerated. " This seems like pretty clear language. I doubt people who accidently used a public repo will be punished for it.
- benmanns 14y agoI was referring to the section that stated, "We have identified several individual students with solutions publicly posted (github included) who will be expelled from the course in the coming days if these solutions remain public." People who use a public repo to share their work will be expelled.
- dubya 14y agoI'm taking this course, and have no idea what the motivation for the cheaters was. But, it would be nice to have some sort of forum where you could discuss your answers after you had successfully completed the homework. I know my code is correct, but I think I would learn even more by seeing other people's solutions. Something like the forums on the Project Euler site would be fantastic.
- ilija139 14y agoI've just got this in my email. It really is sad.
- ericmoritz 14y agoHow about they expel those who used the solutions as well?
- michaelt 14y agoA lot of solutions end up looking similar, as the automated marking system requires certain method names and the questions often have answers that are only a line or two at this early stage of the class. Early questions are things like: if membership of a set is a function mapping between an integer and a boolean, how would you define the membership of a singleton set? Modulo the spaces and variable names, every student's answer was probably the same! So detecting who has copied their solution is probably difficult.
- naturalethic 14y agoMy thoughts too. I just don't see how there could be much variation in the first place, especially among more experienced participants who can easily find the most optimal way to write a given function.
- andrewcooke 14y agoso people who have submitted copies will still get certificates? that's kinda amusing. [edit: thanks for the reply (have an upvote); missed that. that's more reassuring.]
- eneveu 14y agoDoesn't seem so: "For those students for whom it's been discovered have uploaded similar or duplicate solutions, cases will be handled on an individual basis. Though beware, that cheating in any capacity not be tolerated."
- prophetjohn 14y agoI have to wonder if those posting solutions on github are actually doing it in an effort to cheat. I made a similar mistake recently with a project I completed in my computer architecture course. When the professor contacted me about it, it seemed obvious. But at the time, all I was thinking about was "yay, public code!" Obviously, I took it down right away. I wonder how many people are doing the same thing. Cheating a Coursera course just doesn't make much sense.
- jordanthoms 14y agoIf it's your work, you own the copyright, and it's totally within your rights to make it publicly available.
- eneveu 14y agoIt would be cool if we could upload our private Git repo on Github once the course is finished. But I guess they might want to re-use the assignments next year...
- heyitsnick 14y agoWhat does the copyright of the code and legality have to do with the issue being discussed?
- alexkus 14y agoThat's true, but doing so is a breach of the code of conduct you agreed to when signing up for the course. So, whilst you cannot be prevented from posting it somewhere public, you can (theoretically) be thrown off the course for doing so.
- mikecaron 14y agoSure, but if it's against school policy, the school has the right to expel you. Coursera is not taking the public code down, the owner is, at the coercion of the school. The student is making a value decision: continue the course or take my code down. If you can't play by the rules, you can't be in the game. I think there's a unique opportunity for GitHub here. They could give an educational license to verified students in college/high-school/on-line schools. For the duration of their class, they can have as many private repos as they like. When the semester ends, you've got a week to grab your code before it goes public, like a free account. First, it would get students used to GitHub and they would clammer for it in the workplace because they love it so much; Second, it would position GH as a great supporter of education.
- weego 14y agoYou have to expect that they kinds of programmers this course would attract will want stick the code they've put hours outside of work into in some kind of source repository. With the ubiquity of free (public only) github accounts, I'm not entirely sure what else they expected might happen.
- bhrgunatha 14y agoFree private repositories at bitbucket? Or assembla, or projectlocker, or ...
- naturalethic 14y agoThe most recent assignment was only like 10 lines of code to write. Although fairly challenging, it wasn't something worth putting on github.
- eneveu 14y agoWhen discussing online courses, a recurring theme is that of the "value" of online certifications, versus "real life" certifications. By taking action against cheaters, Coursera is trying to preserve the value of their certification. I wonder how it will affect it. Do people really care about online certifications anyway? For me, the main advantage of the weekly assignments, is that it stops me from procrastinating, like I might if I were to learn by myself with a book... I don't really care about the certification itself. I guess I can add it to my resume, like the SCJP, but I don't think employers will care much.
- weego 14y agoI'm entirely self taught at Scala and never did Java, so I'm doing it just to test myself to see how much I missed and how much I understand already. Certification is almost entirely worthless as a CV aid... it gives an indicator that you are willing to put in effort out of hours for self improvement, but it's value vs a well tended github account / a programming test is negligible.
- Cope 14y agoIn my eyes, the only benefit of the certificates is that you have something to show for your time and effort; something that proves you're willing to take the time to better yourself. That being said, it's not much.
- cimi_ 14y agoThe certificates, IMHO, are meaningless in the context of these online courses. Considering this, I find the measure exaggerated. I use github as a central place to store almost everything I write outside work, so it comes pretty natural for me to version code for problems I've been working on there. Disclaimer: I'm not involved in the Scala course, so I don't know how the actual assigments were structured.
- readme 14y agoThe certificates will have value as long as they remain evidence of honest completion of the course. To say they are worthless is kind of short-sighted. Considering the number of tech resumes in the typical hiring manager's inbox that contain a laundry-list of programming languages in the skills section and not even a single project or course to prove the knowledge of the candidate, I'd say there is a fairly large domain for these certificates. Given two resumes, one with a big bullet list of unverified skills, and one with a bullet list of some completed coursera courses, which would you choose? Obviously coursera will not be replacing real college any time soon, but it can definitely serve a role in verifying at least cursory knowledge of basic skills.
- llimllib 14y ago> Given two resumes, one with a big bullet list of unverified skills, and one with a bullet list of some completed coursera courses, which would you choose? I would accept neither as evidence of anything other than the skills a candidate advertises. IOW, I trust "I know Scala" on a resume exactly as much as "I know Scala and completed a Coursera course on it".
- dodo53 14y agoWell if nothing else it gives a portable measure of ability. Like instead of having to saying I'm an expert in Scala and the meaning of that being largely arbitrary; you've got a syllabus of stuff they claim to know (which you still need to verify it it matters).
- papsosouid 14y ago
- indianapolisan 14y agoIt's to be expected there will be cheating. Even in normal brick and mortar school s there were always cheaters. Hell, even the tour de france got turned into a dopers ball. So yes, this is a bummer and all the naysayers of these free opensource online classes now just have more ammo. But as someone who's life has not allowed them the path to Stanford/Upenn/University of Toronto, etc, I am putting in the work and bothering to actually learn and extremely grateful for the opportunity. So bummer, sure, but shame on the cheaters.
- Cyphase 14y agoI wonder how many exact and similar copies there are. I can certainly imagine some honest overlap in the assignments (I'm taking the course).
- dserodio 14y agoSearching Github for assignments is pretty easy, but I wonder how they'd be able to detect duplicates other then when every source is 100% equal to another student's.
- agumonkey 14y agoI wonder how much work it is to monitor the students, it must be hard to tell if there's cheating, assuming the published solution is well written and tought. If they have to look at past submissions to detect sudden peaks in grades it's got to be a burden.
- agentultra 14y agoShame on the cheaters, but I don't see how they're hurting anyone but themselves. In the spirit of the Platonic ideal of the Academy it seems beneficial to freely share and exchange ideas.
- peejaybee 14y agoI'm not sure I agree 100% with your police work there. I am enrolled in the class, and when I got the e-mail, my first thought was "Great. Now I have to worry about whether or not my work will look too similar to someone else's, or to the solutions that have been posted." Granted, my first submission for assignment #2 was a third of a point short of 10/10, so maybe I don't have anything to worry about.
- blindhippo 14y agoIf it's this easy to "cheat" on these assignments, then maybe the professors should sit down and think about how to properly craft assignments. It's clear to me that traditional assignment grading will not work in an online/anonymous environment - appealing to a code of honor will not help if they want the certificate of completion to actually hold meaning. I don't have any actual suggestions other then when I was in school the assignments were worth about 10-15% of our final grade because of this very reason (shared solutions). Actual knowledge was tested in other ways: presentations, quizzes, exams, etc. Revoking the completion certificate for everyone else is NOT a way to build trust with the community at large - use those large academic brains and come up with a better solution.
- riffraff 14y agoactually, when I took the first "not-quite-coursera" classes (ML and DB) they did quizzes in a smarter way[0], using a larger set of questions per quiz than the stuff you'd get in a single attempt. So each attempt, even from the same student, would get a slightly different set of questions, and the dumbest attempts at cheating were discouraged[1]. I don't see why this couldn't be done for the programming assingments. For example, the first assignment in this functional programming was "functional sets": empty set, singleton, contains, union, intersect, filter. It would have been trivial to add a few more (unionAll, containsAll, difference etc) and select a subset for each student, or something like that. [0] alas, they don't seem to do this anymore. [1] also, a "random answer + replay with proper solution" approach wouldn't work.
- namank 14y agoI know there is one class on Coursera doing exactly that. The reason was to allow students multiple attempts at quizzes - have a bank for 20 questions where only 10 get asked.
- think-large 14y agoAnother solution would be to employ an alogrithm that checks your solution against past solutions. It would work much like what professors employ when they submit Reports to an online repository. If someone it stupid enough not to even change variable names then they'd be caught easily. While with Millions of solutions it would be easy to get some replication, most of the time there wouldn't be any and this is when manual intervention by a person could be triggered. This in conjuntion with your solution would work pretty well especially if someone submitted a wrong answer for another question that they haven't seen.
- Permit 14y agoI'm of the opinion that the value of Coursera's courses comes from the learning opportunity, not the certification. I think they should simply allow cheating and not issue certificates. Alternatively, allow cheating and continue to issue certificates while letting employers decide the true value of the certificates. The point of Coursera (to me) isn't to pad my resume, it's to learn from courses not always offered at my university.
- slashedzero 14y agoI think that's how I instantly analyzed the title: "how can someone cheat at coursera??". I get it that some people put the certifications on their resumes, but there are also a subset of people who take the courses just to learn, and therefore may not be able to spend the time doing the work.
- jmduke 14y agoI completely agree, which is why I find the cheating so interesting. I strongly doubt that any employers are going to lend much value to the certification so early in Coursera's lifespan, but I don't doubt that cheating is going to continue even though the only thing you 'truly' gain from a Coursera course is knowledge.
- think-large 14y agoI agree with you, but that is mostly because I already have a 4 year degree in Engineering and I'm assuming you do too. There is a problem in the fact that many people cannot afford that degree because their parents can't afford it (or the loans that they'd need). Cheating degrades the quality of education at any level. Cheaters are trying to get accreditation when they shouldn't. While Cheating is all over in education (we had a couple of cases at my school), it is obviously going to be more prominent in a place like Coursera, where cheating is easier and looking for cheaters is harder. One thing they could do is create an algorithm that checks answers much like what they do for journals, but again that's an extra load they "shouldn't" have on their employees.
- 14y ago
- jiggy2011 14y agoSo, what exactly is the point in cheating on these assignments? IIRC there is no academic credit available and all you receive is a non accredited certificate. Surely the only point in doing the assignments in the first place is to satisfy yourself that you have understood and can apply the material?
- PhantomLobe 14y agoThe point is that some people accepted they wouldn't do something, but they did. Rules broken = cheating.
- Cope 14y agoRemember that the type of person who chooses to cheat on this type of assignment isn't exactly the sharpest crayon in the box.
- buro9 14y agoOne thing I remember my tutors saying time and again, "It's really hard to think up good questions and assignments.".
- Jun8 14y ago"I am not able rightly to apprehend the kind of confusion of ideas that could provoke" people to enroll in a free online course that (presumably) nobody forced them to take and then submit homework done by someone else. Rather than trying to fight cheating (which is impossible), Coursera should emphasize the point that these courses are not resume busters but for learning.
- abolibibelot 14y agoWell, it seems that Coursera business model is either issuing meaningful certificates, or offering other companies potential hires (the latter being what I've understood of Udacity business model). In both cases, the certificate is supposed to mean something. I've taken several Coursera classes, but I don't mention them in my resume and I only care about the certificates as an incentive to complete the course, but from the very nature on how these classes are graded, it would be very difficult to prevent cheating (or sharing), barring having the exams taken in real-life locations (something that Udacity optionaly provides for some of its courses if I recall correctly).
- zheng 14y agoThe point is that Coursera eventually does want their classes to be resume busters
- edw519 14y agoActually, this is valuable data. As a potential employer, I care more about the candidate's ethics (or lack thereof) than their ability. I could always teach them, but I could never trust them. Coursera should just publicly identify cheaters so I can cross check against resumes or certifications. Problem solved.
- namank 14y agoLol, thats harsh. Everyone makes mistakes, everyone slips. Making mistakes is an integral part of iterating towards the better.
- nicksergeant 14y ago"Cheating" is not "making a mistake".
- elliott99 14y agoForget the certificate. If you enroll in a coursera course to learn, and you need some help getting started on the code or checking your work, why not take a look at the code? Not submitting it as your own, of course, but taking ownership of your education, which is all that matters.
- nicksergeant 14y agoSure, I think that's perfectly fine. Coursera needs to provide some ability (if they don't already) to allow a student to say "not taking this for credit or certificate". But I don't think that should allow you to go and post code / answers in a public forum of sorts.
- michael_miller 14y agoI disagree with your assertion. Cheating is not necessarily an act of malice. As an example, a friend of mine (who is from India) helped another student (also Indian) with a programming project in an intro to CS class at my alma mater. My friend was trying to help a friend out, not intentionally trying to break the rules. This took place during the first few weeks of school, mind you, and neither student had any significant experience with the ethical standards of American institutions. Both students readily admitted to what had happened- neither was trying to hide anything. Nonetheless, the professor gave my friend a two letter grade demotion and the person whom he helped an F. Arguments about the fairness of their punishments aside, I don't think it's fair to assert that either had a lapse in ethical judgement more than a cultural misunderstanding, but nonetheless both students did cheat.
- elliottcarlson 14y agoI found it annoying when people were submitting answers to Stripe's CTF before the end date - just seemed to cheapen the experience - and would imagine for someone not cheating in the class that they might feel the same way. (on a side note - did anyone get their CTF tshirt yet?)
- BostX 14y agoThanks to some cheaters I just discovered Coursera. And you want to punish them now... uhm :)
- deleted 14y ago[deleted]
- mistercow 14y ago>If we find that solutions continue to be posted, we will reconsider offering certificates of completi Wait, so they didn't know this was going to happen?
- dkhenry 14y agoI would think it would be better to let the course go on, and mail the certificates and give each one a unique identifier. Then make an annotation at cousera of which students were caught cheating. Then give employers the ability to check if a certificate is from an honest student or one who was caught cheating. Everyone wins.
- ZeroGravitas 14y agoI would have went the other way and forced everyone to develop in public via github (or similar, in fact it wouldn't need to be private if Coursera had access to the git repository). I'd guess it would be more work to try and painstakingly recreate a unique and authentic looking sequence of commits than it would to just do it yourself, probably teach some good habits too.
- wicker 14y agoAre your downvotes coming because of you specifically suggesting github or are they because of the underlying idea? I think the idea's good. I had a group projects in a coding-intensive course (not distance) this summer and one of our members procrastinated endlessly. He kept insisting he'd done work and we hadn't but he was new to version control and didn't realize that you can pull up commit logs. He quit the team when he saw them. At the least, if someone contributes a ton of code for an assignment in one shot that's identical to somebody else, the professor could compare commit logs there too. Tons of code is out there on the internet and plagiarism is something that'll be tempting on the job under a deadline, too, with potentially more serious legal consequences. I keep my code private until the class is over, then open-source it. I consider this stuff to be my resume.
- DennisP 14y agoIf they're going to issue certificates that people respect, they should do it like EdX is planning: paid formal testing at exam centers. For connecting top students with recruiters, they're already looking at contributions to forums as well as homework/test scores. It shouldn't be too hard to see who's really engaged with the material. Getting uptight about people sharing work seems counterproductive and hopeless.
- tylerneylon 14y agoCheating without consequences hurts everyone taking the class. I'm disappointed to see so many comments implying it's fine to just let that go. My thought on this comes from a good chunk of direct experience: I've taught a number of courses to undergrads at NYU, as well as having about 5 summers of teaching experience in programming and cryptography at summer camps including CTY. Imagine all students are given a button that says "give me an A," and they can press it if they choose, or do all the course work and possibly get a worse grade. Even if you chose to do the work because you were self-motived, you'd still be tempted to press the A button to guarantee a good grade. That's an exaggeration, but the point is the same. The easier it is to get _any_ kind of validation without real work, the harder it is to learn. It is harder to stay motivated, and the feedback received becomes less meaningful. It is even disappointing to simply know many of your fellow students probably cheated without consequences. I do believe in seeing answers after doing the work, but it is just common sense to avoid posting them before things are due, and to support clear communications between the instructors and students about the details of posting answers.
- bad_user 14y agoI cannot believe that this opinion is so prevalent. First of all, cheating is really easy on Coursera without having to appeal to public solutions posted by somebody else. You can get private help without anybody knowing anything about it and you can do so in a really efficient way, since there's absolutely nobody watching you. Coursera courses are for people willing to learn something, providing certificates was stupid in the first place, poisoning the well for everybody that's there for the right reasons. The topics are not exactly PhD-level, you can probably find 80% of all the answers you need by doing stupid Google searches and even if we were talking about PhD dissertations, cheating is still possible, the only difference being the difficulty threshold. That cheating is so easy on Coursera, "give me an A" is precisely what's going on for people that are there, not for the learning experience, but for an A. Which is why the value in these courses is only for personal growth and personal gratification. I would never look at such certificates on a resume, because such certificates are even less valuable (from a market perspective) than a piece of toilet paper, because at least a piece of toilet paper is useful for something while at work. And no, interest in subjects such as "Scala" is not enough, because such proxies for performance can be easily discovered and hence gamed. Also, the gratification comes from knowing that you worked and that you passed the tests. The certificate only holds personal value if this condition is met. And in the context of Coursera, that certificate does not make sense anyway. If you follow the forums, you'll get a lot of people asking if they can still join the course with late submissions, providing reasons for why they are late in the hope that staff will make exceptions (they've taken long trips, the dog ate their homework, etc...) - which is just a mindbogglingly dumb thing to do.
- kayhi 14y agoCoursera could offer an on site test ($) for the employer. The perspective employee would login and take a test based on the courses that they have completed. The score would then be sent to employee and employeer and ranked along side others who have completed the course.
- think-large 14y agoI think that something a lot of people who read this are forgetting (and please correct me if I'm wrong) is that most of us have 4 year degrees and/or jobs in Software Engineering (or at least Engineering). These courses are meant to be a segue into free courses offered online that people can use in lue of a 200k four year degree. While this form of education isn't there yet, it's use builds the reputation of these online courses. If cheating runs rampant in the courses (more so than in person classes) it has a chance to negate the reputation of these sites. This could set back "free" education for years. While I don't think that Cheaters should have an affect on what we can learn and take away from these classes, but it will have an affect on how much employers (like edw519) trust the courses. If they don't trust the online classes, then people who don't have a formal education won't be able to use these freely offered classes to raise their earning power. It's sad how much a few bad apples can spoil.
- jimmar 14y agoI'm taking a different Coursera course right now. I completed the first homework assignment on my own, but I would have loved to see how other people solved the problem. I definitely felt like I had some ugly hacks in my solution. Posting solutions online would be a great way for me to learn. I'd recommend that they get rid of the certificate. There is no way to prove that 1) the person who took the course is who they say they are, and 2) they didn't cheat. Copying and pasting from a solution online is only one way to cheat. You could also have a friend finish the assignment. Maybe some day we can get past the point where education is simply a list of achievements, and more about who you have become as a person.
- ecyrb 14y agoOne of the hints for assignment 2 is: "Most of the solutions for this assignment can be written as one-liners. If you have more, you probably need to rethink your solution. In other words, this assignment needs more thinking (whiteboard, pen and paper) than coding ;-)." Is it not entirely possible that they're getting some false positives?
- eranation 14y agoVery unlikely, similar code? yes, exact duplicate? there are so many ways to solve it, that statistically it's not that likely, and if so, it will be on 1 answer, not all of them.
- sampo 14y agoIf you have, for example class Rational(x: Int, y: Int) { def numer = x def denom = Y } and then homework is to implement def less(that: Rational) = ??? then you're gonna get 15 000 people answering with def less(that: Rational) = numer * that.denom < that.numer * denom and another 15 000 with def less(that: Rational) = numer * that.denom < that.numer * denom and maybe a couple thousand with something like def less(that: Rational) = numer*that.denom < that.numer*denom (This example was taken from Scala course lectures, but some of the homework problems are as short as this.)
- eranation 14y agoyes, but none of them are that trivial... and if they were, then cheating wouldn't make much sense. e.g. the coin change algorithm, I'm sure the distribution of answers was quite unique for anyone who tried solving it alone. same for even simple things like the pascal triangle. But it's a moot argument as we need to do a real research (or ask coursera / Martin Odersky for the data, which I'm sure HN community will be happy to run some data mining on)
- pivo 14y agoActually I think some (many?) of the answers to the functional sets homework are that trivial in the sense that they're as short (or shorter) the the examples in the parent post. The only longer function was, I think, the one for which they provided a template implementation. So I think even that one would generate false positives somewhat easily.
- pohl 14y agoA lot of comments here are suggesting that the staff should allow the violations of the academic honesty rules and deal with matters by some other means. It's my understanding that, in this case, this is not possible. There are real students at EPFL who are using the Coursera system to take this very same course for credit. If some random resume-padder creates a public repository on github for doing the homework, then a simple google search by an actual student at EPFL could easily find it. I don't see how they have any choice but to bring the hammer down.
- PhantomLobe 14y agoOnline course. People cheating. Shock and surprise.
- robotresearcher 14y agoUniversities put a lot of time and effort into managing cheating, and we surely only scratch the surface. This is soul-crushing, no-fun, give-up-and-work-at-Google kind of work for professors. Everyone hates it. The decision we have to make is the level of resources to put in. We've tried emphasizing the honor code and putting resources into teaching quality. This leads to endemic cheating. We've tried cracking down very hard on detection, and this leads to massive work for the instructors, lots of busted students and a general "meh" from the administration. Finding the right balance is really tough. I don't get it - it never occurred to me to cheat as an undergrad. But then I had UK-style end of year finals instead of homework-heavy classes and constant grading, and I was never optimizing GPA from class to class. There are problems with mega-finals for some students, but they sure make cheating hard. The online services can't possibly defeat cheating. The main defence they can have is proctored exams at physical locations, which kills some of the online advantage, and even then they have the ID problem. The Open University has worked out how to deal with this pretty well but it's not cheap. The new online services can and should be different to this, and focus on the massive ultra-low-cost learning opportunities. It's going to be interesting to see if they come up with something really new, and not just distance-ed 3.0.
- lostnet 14y agoI don't really understand the cheating itself either. But I do think the cheating and never being caught as an ignoramus reveals the larger problem (with all education, in fact more offline.) I think the bottom line is that a year after you "ace" a <3 month course you can't be caught because you can't be expected to remember all that much. You may be more suspect; but there are also plenty of innocent suspects. A hierarchy of classes that truly builds works, but they are rare. Really, we need spaced repetition for as long as necessary to master the material, not a virtual version of a broken semester design. Then there is no point in cheating.
- joshontheweb 14y agoI get why they have a problem with this but it seems weird to punish the students for behaving like real world programmers. The entire FOSS movement could be written off as cheating with this mentality.
- eranation 14y agoI think people who copied are not lying to anyone but themselves, if they can't even modify it a little so it won't be an exact copy, they won't survive as programmers anyway as no one will keep them. the people who share? I'm sure most of them simply put in as they put any code they do on their GH account. which is by default public. solution: people should use bitbucket, it has free private repos.
- smathieu 14y agoI personally did not enjoy the threat of expulsion in my inbox this morning. As, like probably many other, but the code up on Github because, well this is just what I do with code. I've signed up for this class because I was interested in learning something. Cheating would obviously not teach me anything, so why even take the class in the first place? The Coursera certification currently holds no or little value. Maybe if they gain enough traction, someday, having many coursera certificates could have some value when applying for a job. This is not currently the case. I understand that they want to be in the position at some point in the future and that if they don't enforce these rules now, doing so later will be hard. Nevertheless, threatening to ban users in not a winning move for any startup. A better solution would be to offer an alternative to Github, maybe even a partnership with Github. If they hosted their own git repository and used that as the submission system, they users could get source control, as well as a simple mean of distributing assignments. This felt like a poor PR move from coursera.
- slig 14y ago> I personally did not enjoy the threat of expulsion in my inbox this morning. As, like probably many other, but the code up on Github because, well this is just what I do with code. Then you're violating the conduct. They ask tons of times to not share your code, including on GH. So you should either use a private GH repo or host it elsewhere, privately. Don't whine about not liking the "threat of expulsion" when it's perfectly clear that you shouldn't be doing that. They shouldn't have to offer that, anyone who wants a private repo for free can use bitbucket, for instance.
- usea 14y agoThe issue isn't that the school isn't within their rights to do this. It's that they're putting an unnecessary limitation on good students, forcing them to help fight the cheaters. There's nothing inherently wrong with putting up my answers to homework on GH. The onus should be on students to not cheat; it feels kind of scummy to force students who have no desire to cheat to take down their code in a sad attempt to fight cheaters.
- scarmig 14y agoWell, this seems like one of those social problems where a technical solution might be available. 1) Figure out the number of students taking course n. 2) For the first assignment, figure out the number of questions m you want. 3) Make a question bank of size M. 4) Satisfy the constraint n < (M-m)! 5) You now can uniquely identify uploaders via the set of answers they upload. If you're willing to kick people out of the class and mark them as cheaters, you can now do so without worrying they're trying to frame someone else. This can be refined--maybe make it so that the question bank is large enough that several people conspiring will be unable to randomly generate a sequence of questions that's been given to a real person, so they can't randomly screw people for shits and giggles. You could also make the questions differently phrased, making it harder to Google them. Depending on how many cheaters there are, you can also just make a question bank that's large enough that any given question is unlikely to have been uploaded by a cheater, though that rapidly blows up the size of the necessary question pool if you do have a significant proportion of cheaters.
- michaelt 14y agoThe problem with question banks, at least in normal academia, is making sure everyone gets a question set of equal difficulty. If one person gets asked for an algorithm to find the length of a linked list and another gets asked for an algorithm to remove a node from an AVL tree, that's not fair on the second person. You could experimentally calibrate the question bank, seeing which questions trip students up the most, but that requires asking the same questions a bunch of times to different students, which is exactly what using the question bank was supposed to avoid! And if you want to reuse the calibrated data every year, you'll have to ask the same questions every year, which we prefer to avoid. I suppose with a sufficiently large student population an effective calibration might be possible - maybe Coursera will be the ones to do it!
- eranation 14y agoI do this course to learn, and I enjoy trying to solve things on my own, cheating on this is cheating yourself. If I was in a point I need this to boost my resume, I would ask myself if I'm in the right profession.
- johnm 14y agoGet rid of the stupid "certifications".
- tokenadult 14y agoI see several comments on this submission relate the issue of cheating in a Coursera course to the issue of presenting a false credential to an employer when seeking a job. People seeking jobs as programmers had better be ready to do a programming sample under conditions controlled by the hiring company to prevent cheating. The reason to be ready for that is that work-sample tests are the best validated procedure for hiring workers for jobs in general, and any company that takes a scientific approach to hiring will make work-sample tests a big part of its hiring procedures. The long story about why companies should use work-sample tests to hire job applicants, including programmers, can be found in the online FAQ I post from time to time here on HN, last posted five days ago. http://news.ycombinator.com/item?id=4613543 http://news.ycombinator.com/item?id=4613543 Of course, because some (many?) people cheat, work-sample tests work best if the companies using them make sure that cheating is not possible during the test. If you want to get a job at a company that doesn't hire cheats or fakers, be ready to show what you know in a work-sample test.
- error 14y agoThe most frightening thing about this is the number of people that want a black list of names. what's the next step? stoning them in public, making them wear a special hat? The job of coursera is to provide access to learning and there it should stop. Coursera should not provide certificate of any kind, most people go there to learn not to become certified on anything, Cheaters will go way if there is no certificate since their purpose is not to learn.
- russelluresti 14y agoWell, obviously cheating is bad. And obviously breaking an ethics code is bad. I think an issue with what's going on here is that, in this case, there are conflicting natures between education and programming. To be a good programmer, you need to be efficient. Writing 100% unique code is not efficient. It's not even good. It's bad. Good developers research solutions to solved problems. Good solutions have been used and tested by dozens, if not hundreds, of other developers in just as many different use-cases. So, as a DEVELOPER, it's GOOD to research and find an existing solution to your problem. It's even good to go on places like Stack Overflow and post your problem and let someone else solve it for you. But, as a STUDENT, doing these things is BAD. Taking credit for someone else's work isn't good. And letting other people do your work for you is cheating. So, how do you resolve being a STUDENT DEVELOPER? Do you follow practices that would make you a bad developer? Or do you follow practices that would make you a bad student? What I see is a complication in proving that the student understands the concepts they need to understand for the course. If you just go out and copy other people's code, but never take the time to understand it, then the course is worthless. Remember that the knowledge and understanding gained is the purpose of the course. Assignments, quizzes, whatever - these are just measurement tools, they are not the purpose behind the course. I feel that we probably just need a different way to determine whether or not a student understands the concepts of the course. Is there a way to determine a student's understanding or comprehension outside of assignments, tests, and quizzes? Something that isn't replicable student to student?