AP
Andrew Plumb
Wed, Dec 2, 2015 3:03 PM
An approach like this is highly dependend on the problem.
- How many students do you have?
- How many different solutions will the problem have, if it is solved in a
straight way? How probable is it to find the same solution (i.e. just naming
differences allowed).
Actually, more than a few.
- How many different solutions are syntactically equivalent (e.g. ordering
of union-elements)
That's what I'm not sure.
- How many different solutions are semantically equivalent (is problem
completely characterized?)
Up to 100 students: I'd recommend to just look at the codes for 10 minutes
(6 secs each). With this you could exctract suspicious solutions for closer
inspection, which would cost you another 20 minutes or so.
I've tried that, but I simply cannot hold that much information in my
head. It's slightly less than 100.
Writing a "usable" software will cost you month!
That's why I just try to use what's already available.
And how would you validate
it?
One other thing I would suggest is to require each student to sign+watermark their work with text() calls and/or simple surface() image maps.
https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/The_OpenSCAD_Language#Text <https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/The_OpenSCAD_Language#Text>
https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/The_OpenSCAD_Language#Images_2 <https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/The_OpenSCAD_Language#Images_2>
- guarantees every model is at least a little unique
- presents opportunities to include side-bar discussions on intellectual property matters such as copyrights, trademarks, creative commons licensing, etc.
- provides a little incentive to “take ownership” of their models because it’s been personalized.
Andrew.
> On Dec 2, 2015, at 9:29 AM, Miro Hrončok <miro@hroncok.cz> wrote:
>
> 2015-12-02 15:02 GMT+01:00 Parkinbot <rudolf@parkinbot.com>:
>> An approach like this is highly dependend on the problem.
>>
>> - How many students do you have?
>> - How many different solutions will the problem have, if it is solved in a
>> straight way? How probable is it to find the same solution (i.e. just naming
>> differences allowed).
>
> Actually, more than a few.
>
>> - How many different solutions are syntactically equivalent (e.g. ordering
>> of union-elements)
>
> That's what I'm not sure.
>
>> - How many different solutions are semantically equivalent (is problem
>> completely characterized?)
>
> It is.
>
>> Up to 100 students: I'd recommend to just look at the codes for 10 minutes
>> (6 secs each). With this you could exctract suspicious solutions for closer
>> inspection, which would cost you another 20 minutes or so.
> I've tried that, but I simply cannot hold that much information in my
> head. It's slightly less than 100.
>
>> Writing a "usable" software will cost you month!
> That's why I just try to use what's already available.
>
>> And how would you validate
>> it?
> I would inspect the code manually, after I find similarities in the
> CSG tree. Than I would get the students to explain to me why they did
> this and that, and to change the module to act differently, etc.
>
> Thanks for all the feedback.
>
> _______________________________________________
> OpenSCAD mailing list
> Discuss@lists.openscad.org
> http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
--
"The future is already here. It's just not very evenly distributed" -- William Gibson
Me: http://clothbot.com/wiki/ <http://clothbot.com/wiki/>
DM
doug moen
Wed, Dec 2, 2015 3:08 PM
At a previous job, we used cpd, an open source copy & paste detector, to
find dodgy code where a developer had simply copied and pasted large blocks
of code, rather than using abstraction. So, not an educational use case.
But, you could use 'cpd *.scad' to find code duplicated between different
source files.
Here's a project similar to what I remember:
pmd.sourceforge.net/pmd-4.3.0/cpd.html
On Wednesday, 2 December 2015, Miro Hrončok miro@hroncok.cz wrote:
Hi,
I have several dozens implementations of the same module (some of them
work as expected, some of them do not). Those were provided by
students as part of they assignment. Now I'd like to check if someone
didn't just copy-pasted his friends code and changed the variable
names etc.
I was thinking if comparing CSG tree would do the trick. Would
comparing two CSG trees with diff work? Or do I need to load the tree
to some dictionary-like structure and compare those?
Also, is there a command line way to export CSG tree?
Thanks for your tips.
Miro Hrončok
Telefon: +420777974800
OpenSCAD mailing list
Discuss@lists.openscad.org javascript:;
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
At a previous job, we used cpd, an open source copy & paste detector, to
find dodgy code where a developer had simply copied and pasted large blocks
of code, rather than using abstraction. So, not an educational use case.
But, you could use 'cpd *.scad' to find code duplicated between different
source files.
Here's a project similar to what I remember:
pmd.sourceforge.net/pmd-4.3.0/cpd.html
On Wednesday, 2 December 2015, Miro Hrončok <miro@hroncok.cz> wrote:
> Hi,
> I have several dozens implementations of the same module (some of them
> work as expected, some of them do not). Those were provided by
> students as part of they assignment. Now I'd like to check if someone
> didn't just copy-pasted his friends code and changed the variable
> names etc.
>
> I was thinking if comparing CSG tree would do the trick. Would
> comparing two CSG trees with diff work? Or do I need to load the tree
> to some dictionary-like structure and compare those?
>
> Also, is there a command line way to export CSG tree?
>
> Thanks for your tips.
>
> Miro Hrončok
>
> Telefon: +420777974800
>
> _______________________________________________
> OpenSCAD mailing list
> Discuss@lists.openscad.org <javascript:;>
> http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
>
PF
Peter Falke
Wed, Dec 2, 2015 3:16 PM
My 2 cents:
just give a new homework that expands on the concept of the last.
Do this 3 times.
After that, the students that did there homework can follow your classwork.
The ones that only copied thier(sp?) work will not understand and be bored.
They wont enroll in the next course and/or fail any exam.
2015-12-02 16:03 GMT+01:00 Andrew Plumb andrew@plumb.org:
One other thing I would suggest is to require each student to
sign+watermark their work with text() calls and/or simple surface() image
maps.
https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/The_OpenSCAD_Language#Text
https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/The_OpenSCAD_Language#Images_2
- guarantees every model is at least a little unique
- presents opportunities to include side-bar discussions on intellectual
property matters such as copyrights, trademarks, creative commons
licensing, etc.
- provides a little incentive to “take ownership” of their models because
it’s been personalized.
Andrew.
On Dec 2, 2015, at 9:29 AM, Miro Hrončok miro@hroncok.cz wrote:
2015-12-02 15:02 GMT+01:00 Parkinbot rudolf@parkinbot.com:
An approach like this is highly dependend on the problem.
- How many students do you have?
- How many different solutions will the problem have, if it is solved in a
straight way? How probable is it to find the same solution (i.e. just
naming
differences allowed).
Actually, more than a few.
- How many different solutions are syntactically equivalent (e.g. ordering
of union-elements)
That's what I'm not sure.
- How many different solutions are semantically equivalent (is problem
completely characterized?)
It is.
Up to 100 students: I'd recommend to just look at the codes for 10 minutes
(6 secs each). With this you could exctract suspicious solutions for closer
inspection, which would cost you another 20 minutes or so.
I've tried that, but I simply cannot hold that much information in my
head. It's slightly less than 100.
Writing a "usable" software will cost you month!
That's why I just try to use what's already available.
And how would you validate
it?
I would inspect the code manually, after I find similarities in the
CSG tree. Than I would get the students to explain to me why they did
this and that, and to change the module to act differently, etc.
Thanks for all the feedback.
OpenSCAD mailing list
Discuss@lists.openscad.org
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
--
"The future is already here. It's just not very evenly distributed" --
William Gibson
Me: http://clothbot.com/wiki/
OpenSCAD mailing list
Discuss@lists.openscad.org
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
My 2 cents:
just give a new homework that expands on the concept of the last.
Do this 3 times.
After that, the students that did there homework can follow your classwork.
The ones that only copied thier(sp?) work will not understand and be bored.
They wont enroll in the next course and/or fail any exam.
2015-12-02 16:03 GMT+01:00 Andrew Plumb <andrew@plumb.org>:
> One other thing I would suggest is to require each student to
> sign+watermark their work with text() calls and/or simple surface() image
> maps.
>
>
> https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/The_OpenSCAD_Language#Text
>
>
> https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/The_OpenSCAD_Language#Images_2
>
> - guarantees every model is at least a little unique
> - presents opportunities to include side-bar discussions on intellectual
> property matters such as copyrights, trademarks, creative commons
> licensing, etc.
> - provides a little incentive to “take ownership” of their models because
> it’s been personalized.
>
> Andrew.
>
> On Dec 2, 2015, at 9:29 AM, Miro Hrončok <miro@hroncok.cz> wrote:
>
> 2015-12-02 15:02 GMT+01:00 Parkinbot <rudolf@parkinbot.com>:
>
> An approach like this is highly dependend on the problem.
>
> - How many students do you have?
> - How many different solutions will the problem have, if it is solved in a
> straight way? How probable is it to find the same solution (i.e. just
> naming
> differences allowed).
>
>
> Actually, more than a few.
>
> - How many different solutions are syntactically equivalent (e.g. ordering
> of union-elements)
>
>
> That's what I'm not sure.
>
> - How many different solutions are semantically equivalent (is problem
> completely characterized?)
>
>
> It is.
>
> Up to 100 students: I'd recommend to just look at the codes for 10 minutes
> (6 secs each). With this you could exctract suspicious solutions for closer
> inspection, which would cost you another 20 minutes or so.
>
> I've tried that, but I simply cannot hold that much information in my
> head. It's slightly less than 100.
>
> Writing a "usable" software will cost you month!
>
> That's why I just try to use what's already available.
>
> And how would you validate
> it?
>
> I would inspect the code manually, after I find similarities in the
> CSG tree. Than I would get the students to explain to me why they did
> this and that, and to change the module to act differently, etc.
>
> Thanks for all the feedback.
>
> _______________________________________________
> OpenSCAD mailing list
> Discuss@lists.openscad.org
> http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
>
>
> --
>
> "The future is already here. It's just not very evenly distributed" --
> William Gibson
>
> Me: http://clothbot.com/wiki/
>
>
>
>
> _______________________________________________
> OpenSCAD mailing list
> Discuss@lists.openscad.org
> http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
>
>
MK
Marius Kintel
Wed, Dec 2, 2015 4:00 PM
My Prolog teacher in university managed to do this. She even detected solutions copied&renamed from earlier cohorts.
No idea how, but she did hold a PhD on some AI topic : /
-Marius
On Dec 2, 2015, at 08:05 AM, Miro Hrončok miro@hroncok.cz wrote:
I have several dozens implementations of the same module (some of them
work as expected, some of them do not). Those were provided by
students as part of they assignment. Now I'd like to check if someone
didn't just copy-pasted his friends code and changed the variable
names etc.
My Prolog teacher in university managed to do this. She even detected solutions copied&renamed from earlier cohorts.
No idea how, but she did hold a PhD on some AI topic : /
-Marius
> On Dec 2, 2015, at 08:05 AM, Miro Hrončok <miro@hroncok.cz> wrote:
>
> I have several dozens implementations of the same module (some of them
> work as expected, some of them do not). Those were provided by
> students as part of they assignment. Now I'd like to check if someone
> didn't just copy-pasted his friends code and changed the variable
> names etc.
>
FS
Felipe Sanches
Wed, Dec 2, 2015 4:15 PM
Same thing happened at my university as well. And there was a "black
market" of older students selling the service of programming these
exercises for the younger students who were willing to pay for it. Pices
were around 30 dollars for each exercise. There were even people charging 3
dollars per grade. As grades went from 0 to 10, if your grade was 8, then
you would pay 24 dollars for the service.
People very often asked me if I could offer that kind of service but I
never did it, because I knew is was a corrupt/evil system.
There was even people developing tools to automactically generate code
variants that supposedly could not be detected by the anti-copy system! I
remember that my most frequent though was: "what a waste of educational
opportunities... These kids could be learning much more if they were
invited into engaging with some sort of collaborative development practice,
and corruption in such a collaborative system would be so much harder to
endure..."
This was approximately 10 years ago. Nowadays, it seems nothing really
changed much, unfortunately. :-(
On Wed, Dec 2, 2015 at 2:00 PM, Marius Kintel marius@kintel.net wrote:
My Prolog teacher in university managed to do this. She even detected
solutions copied&renamed from earlier cohorts.
No idea how, but she did hold a PhD on some AI topic : /
-Marius
On Dec 2, 2015, at 08:05 AM, Miro Hrončok miro@hroncok.cz wrote:
I have several dozens implementations of the same module (some of them
work as expected, some of them do not). Those were provided by
students as part of they assignment. Now I'd like to check if someone
didn't just copy-pasted his friends code and changed the variable
names etc.
Same thing happened at my university as well. And there was a "black
market" of older students selling the service of programming these
exercises for the younger students who were willing to pay for it. Pices
were around 30 dollars for each exercise. There were even people charging 3
dollars per grade. As grades went from 0 to 10, if your grade was 8, then
you would pay 24 dollars for the service.
People very often asked me if I could offer that kind of service but I
never did it, because I knew is was a corrupt/evil system.
There was even people developing tools to automactically generate code
variants that supposedly could not be detected by the anti-copy system! I
remember that my most frequent though was: "what a waste of educational
opportunities... These kids could be learning much more if they were
invited into engaging with some sort of collaborative development practice,
and corruption in such a collaborative system would be so much harder to
endure..."
This was approximately 10 years ago. Nowadays, it seems nothing really
changed much, unfortunately. :-(
On Wed, Dec 2, 2015 at 2:00 PM, Marius Kintel <marius@kintel.net> wrote:
> My Prolog teacher in university managed to do this. She even detected
> solutions copied&renamed from earlier cohorts.
> No idea how, but she did hold a PhD on some AI topic : /
>
> -Marius
>
> > On Dec 2, 2015, at 08:05 AM, Miro Hrončok <miro@hroncok.cz> wrote:
> >
> > I have several dozens implementations of the same module (some of them
> > work as expected, some of them do not). Those were provided by
> > students as part of they assignment. Now I'd like to check if someone
> > didn't just copy-pasted his friends code and changed the variable
> > names etc.
> >
>
>
> _______________________________________________
> OpenSCAD mailing list
> Discuss@lists.openscad.org
> http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
>
J
johnmdanskin
Wed, Dec 2, 2015 4:31 PM
There are -lots- of tools for detecting academic plagiarism. If you want
something automatic, best to use a real tool. Here is a recent list of
reviewed tools.
http://www.edudemic.com/the-5-best-plagiarism-detection-tools-for-educators/
--
View this message in context: http://forum.openscad.org/Compare-sources-to-detect-plagiarism-tp14890p14907.html
Sent from the OpenSCAD mailing list archive at Nabble.com.
There are -lots- of tools for detecting academic plagiarism. If you want
something automatic, best to use a real tool. Here is a recent list of
reviewed tools.
http://www.edudemic.com/the-5-best-plagiarism-detection-tools-for-educators/
--
View this message in context: http://forum.openscad.org/Compare-sources-to-detect-plagiarism-tp14890p14907.html
Sent from the OpenSCAD mailing list archive at Nabble.com.
DM
doug moen
Wed, Dec 2, 2015 4:37 PM
Cpd is better, though, if you specifically want to compare program
structure while ignoring changes to variable names.
On Wednesday, 2 December 2015, johnmdanskin johnmdanskin@gmail.com wrote:
Cpd is better, though, if you specifically want to compare program
structure while ignoring changes to variable names.
On Wednesday, 2 December 2015, johnmdanskin <johnmdanskin@gmail.com> wrote:
> There are -lots- of tools for detecting academic plagiarism. If you want
> something automatic, best to use a real tool. Here is a recent list of
> reviewed tools.
>
> http://www.edudemic.com/the-5-best-plagiarism-detection-tools-for-educators/
>
>
>
> --
> View this message in context:
> http://forum.openscad.org/Compare-sources-to-detect-plagiarism-tp14890p14907.html
> Sent from the OpenSCAD mailing list archive at Nabble.com.
>
> _______________________________________________
> OpenSCAD mailing list
> Discuss@lists.openscad.org <javascript:;>
> http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
>
>
>
FS
Felipe Sanches
Wed, Dec 2, 2015 4:41 PM
There's a huge issue of software freedom on all of the 5 "solutions"
suggested in this article. But even more damaging than that is the
generalized will to frame copying as a bad thing, by using terms like
"plagiarism" to refer to it.
Copying is a reality! It should be incorporated into the educational
framework, instead of banished as some sort of crime or blasphemy. Refusing
to acknowledge that copying happens and that it will continue to happen as
part of our daily digital modern lives, will only propagate (or even
further increase) the distancing of educational practices from the
realities of our modern world.
These kids should all be writing patches and making pull requests!
On Wed, Dec 2, 2015 at 2:31 PM, johnmdanskin johnmdanskin@gmail.com wrote:
There's a huge issue of software freedom on all of the 5 "solutions"
suggested in this article. But even more damaging than that is the
generalized will to frame copying as a bad thing, by using terms like
"plagiarism" to refer to it.
Copying is a reality! It should be incorporated into the educational
framework, instead of banished as some sort of crime or blasphemy. Refusing
to acknowledge that copying happens and that it will continue to happen as
part of our daily digital modern lives, will only propagate (or even
further increase) the distancing of educational practices from the
realities of our modern world.
These kids should all be writing patches and making pull requests!
On Wed, Dec 2, 2015 at 2:31 PM, johnmdanskin <johnmdanskin@gmail.com> wrote:
> There are -lots- of tools for detecting academic plagiarism. If you want
> something automatic, best to use a real tool. Here is a recent list of
> reviewed tools.
>
> http://www.edudemic.com/the-5-best-plagiarism-detection-tools-for-educators/
>
>
>
> --
> View this message in context:
> http://forum.openscad.org/Compare-sources-to-detect-plagiarism-tp14890p14907.html
> Sent from the OpenSCAD mailing list archive at Nabble.com.
>
> _______________________________________________
> OpenSCAD mailing list
> Discuss@lists.openscad.org
> http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
>
DN
Dr Nicholas J Bailey
Wed, Dec 2, 2015 5:05 PM
On Wednesday 02 December 2015 14:41:51 Felipe Sanches wrote:
These kids should all be writing patches and making pull requests!
Well, I'm a University lecturer, and what you say is a breath of fresh air
Felipe. It is said, "Copying from one person is plagiarism; copying from lots
of people is research". I encourage copying when it promotes understanding (as
in your scenario) but in a commoditized educational environment,
establishments reach for metrics to prove they are getting their assessments
right, and one of those is "similarity" (which is falsely taken to mean a lack
of originality).
I had an excellent PhD student once who got accused of copying by an
antiplagiarism program once. It turned out he was judged to have copied from a
paper which had quoted one previously written himself while working at a
different institution!
We have a research group drinking game now. Every time somebody is falsely
accused of plagiarism, the rest of the group has to buy him or her a drink.
Fortunately it's a small research group...
I'll shut up now because this doesn't really have much to do with OpenSCAD :)
Nick/.
On Wednesday 02 December 2015 14:41:51 Felipe Sanches wrote:
> These kids should all be writing patches and making pull requests!
Well, I'm a University lecturer, and what you say is a breath of fresh air
Felipe. It is said, "Copying from one person is plagiarism; copying from lots
of people is research". I encourage copying when it promotes understanding (as
in your scenario) but in a commoditized educational environment,
establishments reach for metrics to prove they are getting their assessments
right, and one of those is "similarity" (which is falsely taken to mean a lack
of originality).
I had an excellent PhD student once who got accused of copying by an
antiplagiarism program once. It turned out he was judged to have copied from a
paper which had quoted one previously written himself while working at a
different institution!
We have a research group drinking game now. Every time somebody is falsely
accused of plagiarism, the rest of the group has to buy him or her a drink.
Fortunately it's a small research group...
I'll shut up now because this doesn't really have much to do with OpenSCAD :)
Nick/.
FS
Felipe Sanches
Wed, Dec 2, 2015 5:11 PM
On Wednesday 02 December 2015 14:41:51 Felipe Sanches wrote:
These kids should all be writing patches and making pull requests!
Well, I'm a University lecturer, and what you say is a breath of fresh air
Felipe. It is said, "Copying from one person is plagiarism; copying from
lots
of people is research". I encourage copying when it promotes understanding
(as
in your scenario) but in a commoditized educational environment,
establishments reach for metrics to prove they are getting their
assessments
right, and one of those is "similarity" (which is falsely taken to mean a
lack
of originality).
I had an excellent PhD student once who got accused of copying by an
antiplagiarism program once. It turned out he was judged to have copied
from a
paper which had quoted one previously written himself while working at a
different institution!
We have a research group drinking game now. Every time somebody is falsely
accused of plagiarism, the rest of the group has to buy him or her a drink.
Fortunately it's a small research group...
I'll shut up now because this doesn't really have much to do with OpenSCAD
:)
Nick/.
OpenSCAD mailing list
Discuss@lists.openscad.org
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
Cheers!!! :-D
On Wed, Dec 2, 2015 at 3:05 PM, Dr Nicholas J Bailey <
nicholas.bailey@glasgow.ac.uk> wrote:
> On Wednesday 02 December 2015 14:41:51 Felipe Sanches wrote:
> > These kids should all be writing patches and making pull requests!
>
> Well, I'm a University lecturer, and what you say is a breath of fresh air
> Felipe. It is said, "Copying from one person is plagiarism; copying from
> lots
> of people is research". I encourage copying when it promotes understanding
> (as
> in your scenario) but in a commoditized educational environment,
> establishments reach for metrics to prove they are getting their
> assessments
> right, and one of those is "similarity" (which is falsely taken to mean a
> lack
> of originality).
>
> I had an excellent PhD student once who got accused of copying by an
> antiplagiarism program once. It turned out he was judged to have copied
> from a
> paper which had quoted one previously written himself while working at a
> different institution!
>
> We have a research group drinking game now. Every time somebody is falsely
> accused of plagiarism, the rest of the group has to buy him or her a drink.
> Fortunately it's a small research group...
>
> I'll shut up now because this doesn't really have much to do with OpenSCAD
> :)
>
> Nick/.
>
>
>
>
> _______________________________________________
> OpenSCAD mailing list
> Discuss@lists.openscad.org
> http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
>