Hacker Newsnew | past | comments | ask | show | jobs | submit | temp3738868585's commentslogin

I think that legislation is the right choice when companies have proven to be repeatedly deceptive and manipulative about what they are actually doing.

If companies are hiding or downplaying what their true business models are, then consumers can not be expected to make an educated or informed choice about which companies to support or use.

When large companies with massive amounts of resources are also using them to spread propaganda, it becomes even harder for people to make informed choices.


So the solution is to use regulation to stop propaganda, enforce transparency, and allow consumers to make a fully-informed choice.


In my province, you go mark your ballets, then feed them into a machine - that machine checks for errors in how the ballet is filled out.

For instance, if you could select 8 people for the school board, if you selected 9 it would show an error.

A poll worker would then talk with the person and inform them about what mistake they made, and give them the option to have that section not count, or go fill out a new ballet.

You then put the ballet in a box for manual counting later.

A similar system could for for basically any somewhat "difficult" instructions for voters - you shouldn't assume what they want, you should have strict instructions but if they make a mistake that would spoil their ballet, they are informed of it and can fix it.


>A poll worker would then talk with the person and inform them about what mistake they made

Would this not mean that the ballot isn't entirely secret? I suppose that's the compromise being made to ensure no accidental spoilage.


Speaking from experience using similar software on students assignments, it is often blatantly obvious when cheating is occurring.

To start with, at an undergrad level, most students had fairly distinct coding styles - usually with quirks of not "proper" coding. Some cheaters had the exact same quirks in multiple students assignments.

Also, some cheaters had the exact same mistakes in their code, on top of the same code style.

Yes the software picks up people that write correct solutions with perfect syntax, but those are the ones that you just toss out because there isn't any proof there.

The people that get caught cheating generally don't know what correct solutions and good code look like, so they don't understand how obvious it is when they copy paste their friends mediocre code.


I agree with you. I run a days science department in a corporation and when I'm doing code review for a junior, I can tell what was original and what came from somewhere else. Fortunately, in the workplace context that just means trying to get people to paste the SO URL as a comment above the appropriate code block.


Assuming that the software detects a similarity between two or more student’s submissions, how do you know which students cheated? What if one of the students (the one that actually did the work) had their program stolen/copied somehow (eg left screen open in lab or print out of code)?


I teach some courses with coding assignments and we just tell the students very clearly and repeatedly, at the beginning of the course and before each submission deadline, that submitting duplicate material means failing. It doesn't matter if A copied from B, B from A, both copied from an external source, or even A stole B's password and downloaded their data. The penalty is the same. We cannot go into such details because we just don't have the means to find out, and some students are amazing at lying with a poker face.

It's a pity to have to fail students sometimes because they failed to secure their accounts and someone stole their code, but they have been warned and hey, securing your stuff is not the worst bitter lesson you can learn if you're going to devote your career to CS, I guess...


Cheater Student enters the lab, turns on the video camera on their phone, walks casually behind other students recording their screens, reviews video for useful information. Other students fail. Seems like a poor outcome that is plausible and unfair to the student whose info was stolen to no fault of their own.


Indeed, it's plausible enough that I've actually caught students trying to do that.

The problem is: what's the realistic alternative? Just letting cheating happen is also unfair (to students who fail while the cheater passes). And finding out what exactly happened is not viable because students lie. We used to try to do that in the past, but the majority of the time all parties involved act as outraged and say they wrote the code and don't know what happened. Some students are very good actors, many others aren't, but even when you face the latter, your impression that they are lying is not proof that you can use in a formal evaluation process and would withstand an appeal.

So yes, it can be unfair, but it's the lesser evil among the solutions I know.


Ask the students how their code works and how they came up with it. It shouldn't be hard to tell who actually wrote it.


On the one hand, as we know from the P vs. NP problem (at least if we assume the majority opinion), explaining a solution is much easier than coming up with it... and even easier if they copy from a good student who not only writes good code, but also documents it.

On the other hand, even if I am very confident that a student didn't write the code because they clearly don't understand it (which is often the case), this is difficult to uphold if the student appeals. For better or for worse, the greater accountability in grading and the availability of appeal processes means that you need to have some kind of objective evidence. "It was written in the rules that duplicate code would not be accepted, and this is clearly duplicate code" is objective. "I questioned both students and I found that this one couldn't correctly explain how the code works, so I'm sure he didn't write it" is not.

Note that I do this kind of questioning routinely (not only when cheating is involved) and take it into account in grades, because it of course makes sense to evaluate comprehension of the code... but outright failing a student on the grounds of an oral interview can easily get a professor into trouble.


> On the one hand, as we know from the P vs. NP problem (at least if we assume the majority opinion), explaining a solution is much easier than coming up with it... and even easier if they copy from a good student who not only writes good code, but also documents it.

You can ask “tricky” questions that someone who understands the material shouldn't have a problem answering, such as “if the problem required you to also do this, how would you change your code?”.

"I questioned both students and I found that this one couldn't correctly explain how the code works, so I'm sure he didn't write it" is not.

Fair enough. But at least you can give a bad grade for not understanding the course material.


I would let 100 people cheat if it meant I was sure 1 innocent student wasn’t punished unjustly.

People that don’t cheat may benefit in the future for not doing so.

I said May here because I generally found university education to be useless for myself. Instead, I wish I had met folks I consider mentors at work, earlier in my life.


> I would let 100 people cheat if it meant I was sure 1 innocent student wasn’t punished unjustly.

This makes sense in the justice system, but in the justice system you often can find proof as to what happened, so the system still acts as a deterrent even if a fraction criminals get away with no punishment. In university assignments, most of the time it's practically impossible to find evidence of who copied from whom, so applying that principle would basically mean no enforcement, that everyone would be free to cheat and assignments would just not make sense at all.

Also, failing a course is far from such a big deal as going to jail or paying a fine. At least in my country, you can take the course again next year and the impact on your GPA is zero or negligible. You will have an entry in your academic record saying that you failed in the first attempt, but it won't be any different from that of someone who failed due to, e.g., illness.

If the consequences were harsher (e.g. being expelled from the institution, or something like that) then I would agree with you.


Put a security camera in the lab. Catch a student doing something like that and you have grounds for expulsion.


When I was a TA checking "Intro to programming" HW assignments, my brain was the similarity check software.

Anyway, when I detected two basically-identical submissions, I would call in both students to my office. I would chide them, explain to them that learning to code happens with your fingers, and that if they don't do it themselves, then even though they might sneak past the TA, they'll just not know programming, and would be stuck in future courses.

The I would tell them this:

"Look, I have a single assignment here, with a grade, on its own, of X% (out of a total of 100%), and two people. I'm going to let you decide how you want to divide the credit for the assignment among yourselves, and will not second-guess you. Please take a few minutes to talk about it outside and let me know who gets what."

Most times, one person would confess to cheating and one person got their grade. For various reasons I would not report these cases further up the official ladder, and left it at that.


It becomes obvious when you ask them to explain the code. At my university I once overheard a boy and a girl presenting some code "they" had written to a TA. The TA asked them some basic questions on while-loops and function calls. It became obvious that the boy had written all the code and the girl had no clue. So the TA decided that the boy had passed but that the girl had to come back and present the code herself on the next session.


It doesn't matter, both violated academic integrity by letting the copy happen. (Submissions are never stolen) If you think letting copying happen is less severe, you ask them and rebalance based on the work. Most of the time 'they made it together'.


Curves are the lesser evil. There are professors who dont give good grades at all. If you select a curse run by them cant get more than a grade C. Meanwhile there are other professors where everyone gets an A easily.

Most students will probably pick the easy professors who give only As - because for them the degree is just a ticket for the job.

In fact those "tough" professors can have an adverse effect on those who picked the harder route. If you dont get good grades, you will have a lower GPA and that dream company will not even invite you for an interview. Some automated HR system will reject your application. They dont care that you went to a professor who taught you a lot -> they only see the low grade.

Same for scholarships - tough professor makes it already difficult to have good grades, but if you are graded without a curve, you get bad grade -> and can lose your scholarship.

Nobody cares about you as a person, or your knowledge, they measure you by your grades.

This is a tragedy of the commons in some ways: professors are supposed to give good grades, otherwise students wont choose them. Those who want to know more, are punished for it - in multiple way (first of all, they need to study more, but then they get a lower grade, which means lower GPA, what can lead to worse job offers, no scholarships etc).

If you want to be a "popular" professor, just pass everyone?

On a side note, in those great universities, dont they pass everyone anyway? I think frontpage had an article some time ago, that when you get to Ivy League, you will get a B or C even if you are bad, they generally dont kick out students who try to study, but arent particularly good.

Curves wouldnt be needed if every course had an objective list of material that should be learned - but even this is difficult - and not comparable between professors on same university, not to mention different ones - despite standards and various efforts (not to mention measuring if students really can know the whole list)


How is sharing knowledge "violating academic integrity"? Unless given specific and explicit instructions not to reveal working solutions, then sharing your code is literally just "helping" others, it's up to them to either study it and produce their own versions, or jut blatantly copy & cheat.


Because each university has university-wide rules forbidding sharing assignment solutions. It is explicitly forbidden even before starting the course unless the syllabus or professor directs you so. You can't "help" others on their own assignments by giving your solution. You can't receive direct "help" either.

Edit: here's the text of my alma mater: Any behavior of individual students by which they make it impossible or attempt to make it impossible to make a correct judgment about the knowledge, insight and/or skills of themselves or of other students, in whole or in part, is considered an irregularity that may give rise to an adjusted sanction.

A special form of such irregularity is plagiarism, i.e. the copying without adequate source reference of the work (ideas, texts, structures, designs, images, plans, codes, ...) of others or of previous work of one's own, in an identical manner. or in slightly modified form.

[https://www.kuleuven.be/onderwijs/oer/2021/?faculteit=500004... translated with Google]


In my time in college I helped a lot of fellow students work through a lot of assignments. I sat down with them and helped them to think through the problem and find examples to learn from that weren't full solutions to the assignment. I helped them find difficult bugs in their implementation by pointing them in the right direction or showing them debugging tricks I found helpful.

What I didn't do was show them my implementation or even talk about how I solved it. Yeah, doing it the long way takes a bit more effort, but the result is that the students I helped actually understood the code they submitted and were better equipped to solve the next assignment without help.


You ask them to do it again in front of you


A key feature of the leveling system is that it allows somewhat for player controlled difficulty levels.

There is a wide range of skill levels of players, and what is "appropriately leveled" for one player might be trivial or impossibly hard for others.

Players level to the point where they can beat the bosses that they get stuck on.


In theory maybe. In practice not really. Leveling up does not make a huge difference. Leveling up weapons does. Leveling up flasks does too. The amount of time you need to spend to level up is a terrible trade off.

If you’re not good at the game, you can trivialize most encounters with the summons, or use multiplayer which adds a ton of luck to the outcome.

Actually farming runes is almost a trap for anything last stormveil.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: