4 ms·
Georgia Tech adapts to increased cheating among CS students
- swolchok 17y agoPoor headline; the link points to a blog article in reaction to an article that should carry said headline.
- mbrubeck 17y agoGood point. I've now edited the HN headline to be more descriptive.
- johnswamps 17y agoThis seems to be fairly common for non-cs students taking cs classes. Though just anecdotal evidence, the student vice president of Stanford was recently found to have violated the honor code by plagiarizing a CS homework in Stanford's introductory CS course: http://www.stanforddaily.com/2009/11/13/de-la-torre-violates-honor-code/ http://www.stanforddaily.com/2009/11/13/de-la-torre-violates...
- vibhavs 17y agoOn a slightly related note: I find the trend of forcing students in non-technical fields of study to take introductory programming classes to be troubling. As an example, CMU requires all undergraduate students to take the introductory programming class. I saw many students - for example English majors - develop a terrible aversion to programming, and worse, a very poor perception of the field itself. Worst of all, forcing some of these students to take these courses probably leads to increases in cheating. It may be more beneficial for some of these students to learn more computer skills (e.g., setting up a WordPress blog) than CS fundamentals. Further, the field already suffers from a problem of poor public perception. By applying such blanket policies, are we doing more harm than good?
- _delirium 17y agoI agree the classes often aren't that engaging, but I do think it'd be useful for everyone (or at least a lot of people) to understand the basics of giving instructions to a computer so it can do things for them. Many will end up having to do at least some simple form of it in their future lives, anyway; certainly people in the natural sciences do, and increasingly lots of other people will find themselves needing to write an Excel macro, or sort some data with a Perl script, and various other such things. I agree current CS 101 classes aren't good at conveying that excitement though, of being able to make a computer do what you want. The linked article talks about media computation as one approach to that: instead of having people sort lists or whatever, show them that they can make simple art stuff. (I personally got hooked on computers much earlier than college in large part because of a Logo course.)
- gacek 17y agoThe problem is that if you are not interested in CS and haven't been programming before the course then lets face it - you won't become good at it during a semester. So later, when you are faced with different environments and sets of instructions (excel, perl) you'll just call your computer guy, or fill the spreadsheet manually. It might be better to teach programming after 3-4 semesters, to show how some tedious work from previous classes can be replaced by a neat excel macro.
- Dobbs 17y agoWhat if instead of a practical class as the intro we had a theoretical class. Things like Boolean logic, what a Turing machine is, the logic behind a stack, queue and so on. Teach the ideas behind computers without focusing on the practical.
- wisty 17y agoOr focus on the practical, and use python (or some other nice language) to process screen scrapes, serve web pages, or something else fun. You could write an application to scan your twitter feed for keywords, then take some action (send you an email?) if the keywords match. You could process a whole stack of (say) project gutenberg books, looking for how word use changes with time. Then you could try it with different data structures, and see which is faster (guess what - lists take longer than dictionaries for certain tasks!).
- basugasubaku 17y agoThe funny thing is, at least at Stanford, the students are warned at the beginning of the course that their assignments are automatically compared against all other submissions including those of previous years, and that the the comparison tool is quite smart; simple modifications like changing variable names will not fool it. It's a bit surprising the number of students who get caught anyway. Perhaps they think it is a bluff, or perhaps they get so caught up in meeting the deadline they forget all about it.
- bad_user 17y agoIt's because they don't know how those tools work, and assume that the academic staff is incompetent enough to let slip a homework with variables/methods/classes names changed. Unfortunately for such students, since we are talking about source-code which has a parsable grammar, such a tool usually does pattern matching directly on the syntax-tree, and it's not the names of the nodes that are relevant, but the tree's structure, and a single routine copied from somewhere can give you away. But even if some of them realize it, they still try (since the effort of changing everything to pass the screening can be greater than the effort of doing it yourself) with a wishful thinking ... I don't know about Stanford, but it really depends on the teacher that's reviewing the homework, since many of them don't use such tools. I imagine that in the future we'll also have such tools for essays / natural language, making it easier to detect plagiarism ... I'm suspecting PhD awards will drop :)
- barrkel 17y agoFor simple exercises, though, I can easily imagine spurious collisions if the comparison routine looks too deeply.
- trickjarrett 17y agoI was at GT during the period described (2002-2005) and I was reported for academic misconduct (cheating.) I didn't do it on purpose but a buddy and I had discussed a homework assignment over dinner and when we went back to the dorms and completed it, apparently our code was similar enough to raise flags so we both had to take the equivalent of a drivers ed course for academic conduct. I was really steamed about it for a while. I appealed up to the dean but the fact we had dared discuss a problem though our actual work was independent qualified as cheating in the class since we are supposed to act independently. Clearly the work independently is meant to protect the system from students skating by, but man was it upsetting and frustrating for someone who genuinely had found a group of friends where the sum was greater than our individual parts.
- hga 17y agoHmmm; MIT has very explicit rules, often per course, on how much and what sort of collaboration is allowed in doing problem sets and projects (see the bottom of these for some examples which seem to be representative of their various departments: http://ocw.mit.edu/OcwWeb/Electrical-Engineering-and-Computer-Science/6-945Spring-2009/Syllabus/index.htm http://ocw.mit.edu/OcwWeb/Electrical-Engineering-and-Compute... http://ocw.mit.edu/OcwWeb/Chemistry/5-112Fall-2005/Syllabus/index.htm http://ocw.mit.edu/OcwWeb/Chemistry/5-112Fall-2005/Syllabus/... http://ocw.mit.edu/OcwWeb/Mathematics/18-02Spring-2006/Syllabus/index.htm http://ocw.mit.edu/OcwWeb/Mathematics/18-02Spring-2006/Sylla... http://ocw.mit.edu/OcwWeb/Physics/8-04Spring-2006/Syllabus/index.htm http://ocw.mit.edu/OcwWeb/Physics/8-04Spring-2006/Syllabus/i...). I suppose there might be some courses where you just can't discuss a problem with a fellow classmate or student, but I would never take one of those.
- VBprogrammer 17y agoI alway found that the courses that had large restrictions on the amount of collaboration they allowed (for example, don't discus it with anyone) were the courses that had very poor quality course work, often featuring a 'trick' or simply finding the right combination of API functions. The best assignments allowed a reasonable amount of collaboration and often allowed a large degree of freedom in what could be turned in, language choice and minimal provided framework. My favorite assignment was one were the performance of our code was measured against each other member of the class and the fastest 20% got an A, the next 20% got a B and anyone who submitted a reasonable attempt got a C. I think there must be other measures which could be compared in a fun way like this.
- gte910h 17y agoI've been a TA at Georgia Tech during this period (9 terms). Cheating in the introductory courses was quite common. They tried approach after approach after approach to deal with it. Eventually some of the classes made the homework something you were supposed to work with people on, made it worth less, and made the grades on in-class things worth more. Around that time period I moved onto the C programming/good software development practices class so can't speak anymore. They had auto-compare tools from 1996 on from what I understand, and definitely had a few students caught in it.