12-15-2012 03:35 PM
I don't believe there is any way to prevent copying of someone elses work without giving each student their own unique problem to solve and that's not very practical from your point of view I'm sure.
“The secret of life is honesty and fair dealing. If you can fake that, you've got it made.”
― Groucho Marx
12-15-2012 04:08 PM
@rolfk wrote:
@DavidBoyd wrote:
I don't know how much control you have over the LabVIEW installations the students use, nor do I know if any of the following is unavailable in the student-licensed versions (if that's what they're using). But if at all possible, I would REQUIRE that the following be set on each installation (unfortunately, these aren't generally defaulted on):
Tools->Options->Revision History->
- Add an entry each time the VI is saved
- Prompt for a comment when the VI is saved
- Record comments generated by LabVIEW
These options are the closest you can get and they are added as binary resources to the VIs so not easy to fake. I'm not using these features as I find the VI scope a little to extreme and disturbing during edit time and the SVN source code control allows me to record change comments on a somewhat broader and less intrusive scale, but these would certainly be a good start point. If someone doesn't fill in the history he won't get the full points. You can't edit history entries after the fact (without understanding most of the binary structure of the VI well), only remove them entirely so it would seem to do what you are looking for.
David and Rolf,
Thanks for the feedback/suggestions; this seems to be a feasible solution for me.
I'll probably change the selected options so that "Prompt for a comment when the VI is closed" is enabled and "Prompt when saved" is disabled. It'd be less annoying, IMO, having to create a revision history entry only when the VI is closed, versus being prompted to create a revision history every time the VI is saved.
So: I make the first entry into the revision history when I store and close the "starter VI' that I create and distribute to the students. The students are then required to add an entry into the VI's revision history each time they close the VI. Any VIs submitted for grading that a) do not have student-generated entries in the revision history, or b) have had the revision history reset, are not accepted for grading.
(NTS/FYI: A VI's revision history can be viewed via the keyboard shortcut (CTRL+Y). This keyboard shortcut makes it very easy to view/verify the change log entries before you begin grading the VI.)
Okay, I'll give this method a try and see how well it works. Thanks again for the suggestions and comments everyone.
Jim
12-15-2012 05:02 PM
@BillMe wrote:
I don't believe there is any way to prevent copying of someone elses work without giving each student their own unique problem to solve and that's not very practical from your point of view I'm sure.
“The secret of life is honesty and fair dealing. If you can fake that, you've got it made.”
― Groucho Marx
I realize that students will cheat (themselves, mostly) on homework assignments. I'm simply looking for more-or-less robust methods I can easily/quickly use to discourage and detect blatant acts of plagiarism on these LabVIEW programming homework assignments. Using file checksums as a first check, and revision history log entries as a second check seems like a good start.
Of course, this doesn't completely solve the plagiarism problem. For example:
Plagiarism method #1 at least ensures student A creates the VIs s/he turns in for grading. Student A might actually learn something by doing this copying in much the same way that students learn by working through solved example problems in a textbook. (Of course, I still consider this cheating; I don't give credit to either student A or B for their homework submissions if I detect this.)
Plagiarism method #2 might occur for one or two homework assignments, but I suspect in most cases student A will, at some point, get tired of doing both his own homework and student B's homework, whereupon student B will have to a) start doing his/her own work, or b) find someone else who is willing to do his/her homework. These individuals are readily detected/exposed via in-class quiz questions that pertain to key aspects of the assigned LabVIEW programming homework problem.
Jim
12-16-2012 11:53 AM
3. Student A goes to the forums and gets a solution, creates a new VI and copy-paste the content, getting a good revision history.
4. They make the assignments in a place, at a time.
/Y
12-16-2012 02:39 PM
If you make it mandatory that every LabVIEW is registered with a real name, then it will be hard to fake the history, since that also states the user name with which LabVIEW was logged in, usually the registered name. So if you copy a VI you have only the choice to leave the original history of the VI with the names also in there or delete it completely. But the initial history entry by the teacher makes sure you can't do that, without loosing that entry too.