I understand cheating is shitty but it would make a lot more sense for the teacher to make this a teachable moment about cheating, and to promote collaborative solutions, but also checking work you get from others.
A huge part of development is copying code and reusing code from libraries. The important part is that you know how the code you copy works.
To clarify, I wasn't trying to argue there shouldn't be consequences, just that depending on severity it must be proportional.
I want to compare it to the US justice system where, from an outsiders perspective, many are judged unnecessarily harsh. This makes it harder for people to "come back" after release and creates a societal loss.
I'll end it there because I cba to write more but, eh, just my thoughts. Some nuance is lost in translation too.
Your thoughts are valid and I agree – in principle.
The proportionate punishment does, however, depend on the severity of the violation. In an academic context, there are few things as severe as blatant plagiarism. Being caught in not just cheating but brazenly copy-pasting other people's work can imho be appropriately punished with expulsion, be it in the US or elsewhere.
Yes, the punishment for plagiarism is kinda standardised. I feel like maybe, at first strike there should be a warning + redo the assignment. But the specifics would be a whole new never-ending discussion
I've always only heard it's punishable directly with explosion. Maybe it's for there for a reason, or is it a remnant of the past?
As a general rule, the stick is better than the carrot when teaching someone what not to do. But this guy's goal isn't to teach them "cheating is bad" but to weed out dishonest people too stupid to program.
?? When the cheaters are simply waved through the courses as well, some of them will definitely achieve a CS degree as well. They will simply have put in less work and be less well educated.
But in my experience people who cheat do so repeatedly, in multiple courses, their bachelor thesis, in exams when there is a way, ...
You're right, every task should be made so that you can take information from anywhere and learn it, but have to apply it in a certain way. Then there's the cases where people let others do their work for them. Every task should be automatically looked through to match, so that cheating can be gotten every time or at least as often as possible.
This is in a perfect scenario imo though, and with LLMs things will get more obfuscate than before.
If you give cheaters too many chances, the other students will feel betrayed. And I guess rightly so.
It's not uncommon to get mails directly, or later in course evaluation, from students who complain about other students that didn't put in the work. I can only remember few cases where there were names involved. Typically it's some general complaint, but the frustration is obvious.
It sucks when you make an effort but witness other students cheating their way through the class. What are we supposed to tell them when the dishonest behaviour of other students doesn't cause any consequences?
The result of any degree is someone who can get a degree. Everything else is a potential bonus, not a guarantee at all.
In the real world the faculty would step in to prevent losing so many students at once (tuition is lucrative), and the students would learn a couple life lessons: cheat but don't get caught, and if you do then might makes right.
Getting a degree without cheating is an impressive feat and teaches valuable skills. Unfortunately the underperforming cheating frat bro at the back of the auditorium will use his connections to land a C-level job making about 10x as much as his former classmates.
The school still loses on enrollment next year (or next semester or however it works contractually).
I'm not all up-to-date on academic fuckery but I seem to remember that universities tend to do a lot of fucky shit to keep attendance rates up as it matters for a lot of metrics. Losing a quarter of a class at once is probably not something that looks good on anyone's KPIs (and god knows the real world only cares about useless KPIs).
Unfortunately the underperforming cheating frat bro at the back of the auditorium will use his connections to land a C-level job making about 10x as much as his former classmates.
This is true, and I feel like the people who complain about cheating are complaining about it because they feel like "the grade hasn't been earned", or what have you. Realistically, the problem here is that the students are robbing themselves of the opportunity to learn, ideally, rather than that they've stolen accolades from more promising students. The solution to that problem is a different approach that will get them to learn better.
Of course, college being what it is, you're probably not learning as much as you otherwise would, based on this structure which is oriented to be more of a zero-sum whittling down, so you can have a more limited group that you can then offer certifications to. The students aren't incentivized to learn (which, you know, should they be, or should they just want to learn because learning is cool? who knows.), and their knowledge, beyond a basic level, isn't even really necessary in the workforce. The dynamic is probably going to remain the same after graduation, where the high-income cheater frat bro gets a high paying job, and the put upon dork who thought hard work would get them somewhere eventually has to basically cover everything for them, or risk getting punted to the curb. STEM guys suffer this delusion that they inhabit a uniquely meritocratic position in the workforce, in the economy, but this is not true. Everywhere is littered with its people who succeed on merit, and succeed on raw unadulterated bullshit, it's the same everywhere.
You cannot correct these flaws by doubling down on perceived meritocracy and "objective" standards. The bias, the positive group and the negative group, are an intrinsic part of these systems. So to say, it's a feature, not a bug.
As someone who only cheated in one class because the professor was a lazy fuck and assigned 5 hours worth of problems for a 1 hour exam with no regard to whether it was completable, I agree. The whole class cheated, because they had to. We actually all knew the material really well because distributing that material across 20 students was still iffy on time.
Keep in mind, it's likely that more people cheated, but the smarter ones changed just enough code to make it look "their own", or actually tested to ensure it'd work, and thus weren't caught. Those 22 caught are very likely the ones that copy-pasted verbatim.
Then the smarter ones fulfilled the task, knowing and understanding the material enough to provide a working solution, rather than paste a non-working one. They may have done less than someone working from scratch but they showed themselves no less competent in the material.
There is no but. Cheating is bad. Period. If you don't like school/uni go work at a Wendy's. In the restaurant or behind the dumpster. I don't care.
They're all fucking wankers and got what they aimed for. Nothing.
Turning this around on the prof is the entire fucking problem here. (it's not my fault, you made it possible so I had no other choice but to cheat. It's a bullshit argument. Take some responsibility for your own choices.)
Just to clarify, you don't need schooling and a degree to get a job as a dev, I've hired several that are particularly strong. Strong junior devs love learning. Cheaters...well they don't care about learning. They just want to look good.
Just to clarify what? You can certainly develop code without a CS degree, but there are tons of useful and fascinating ideas found in CS programs that "wolfling" devs are only haphazardly exposed to.
A person's character is built at home. If you're an adult in secondary school and can't figure out not to cheat, better hope you get a warning and understand THAT's the only teachable moment you're going to get.
The prof has neither the time or opportunity to fill in where your up-bringing was incomplete . Uni is the first place we learn that the universe doesn't have a lot of patience for the laggards.
I was lucky enough to take a computer science course at my high school almost 20 years ago. The teach straight up we web design was 90% copying and 10% modification. He was a early retiree webmaster switched teacher.
Fast forward to today. System administration. I'm not paid to code. I'm paid to fix problems. So I research and focus on remediation. If there's a script for a fix I'm using it.
I'm super paranoid about copying code to use on a production system though. Whenever I come across a script or code to fix an issue i go through it line by line to ensure I know what it's doing.
Often I'll just take the logic or parts I need and write my own.
My uncle's a uni professor. First assignment last semester was writing a paper specifically using ChatGPT, and seeing how much work you had to do to fact-check it and make an actual paper.
That's something you do in the freshmen year. This is a master's program. They should be able to write the tests that catch a cheater themselves and they know better.
Yeah, code reuse is a massive problem in the industry. I can't find it now, but I remember a few years back that there was a vulnerability in the (I think ) Intel management engine due to manufacturers reusing example code from the documentation that wasn't secure
I work in IT, and it's a similar situation. Bluntly, I Google half of the tickets I touch. I don't really know shit about how things work specifically. I know the generalities, and the structure in which they function. I have the foundation of knowledge to know what to Google, but the fact is, I don't remember crap about how to do just about everything.
There's simply too much to know.
In college, using Google was a sin. IMO, they should teach a class on how to get the results you need from Google because you're not going to remember whatever the subject is when you need to in six years and you come across an issue which requires that knowledge.
Nah, cheating is fine, if used sparingly and under specific, niche circumstances, and in ways that don't harm others. As an example: I was struggling with Calculus. Like basically getting my ass handed to me. I went to all the study sessions, saw the Professor in their office several times, found a math tutor, and fuck me the info just wasn't sticking. I put in legitimate effort and it wasn't working and I wasn't about to let one class shit on years of hard work towards a degree. So: I cheated.
We were allowed your typical little notecard. For the record, this is math. Make that shit open book, dear instructors. I know you all looking up near every formula yourself anyway. I digress. I slapped two notecards together and slapped a third into the fold. I had a very non-traditional schooling as a child so the rules as formulas changed were really getting me and I needed those and other reminders. Long as I had those I was fine. Still only squeaked by with a C.
Cheating in many situations is a very reasonable morally unjustifiable thing to do. If you're not actively fucking over someone that doesn't deserve it, or causing no harm, I honestly see no problem.
Thaaat saaaid, cough Thomas Edison cough, some cheating should be punished.
Even though the school might call that cheating, I don't really think it is.
All of my engineering and math classes were open book, open notes. I got lucky in that all of my professors (except one (fuck you Dr. Aung)) designed exams such that they tested understanding, not memorization.
And here I am, 10 years later, still able to solve most of these problems without looking at a textbook for reference other than tables and formulas, despite not having worked in the field for half that time.
I got a mechanical engineering degree. Two the most useful classes I took were microeconomics and circuits 1.
This is a part of what I was trying to say. What I did is considered cheating. Yet it is defined as such largely by those who place artificial, and sometimes extremely unfair, limitations in place. Many of which serve no real purpose. Yet often if it works in their favor such "cheating" becomes a convenience.
In academia cheating is rightly frowned upon and often definable by the cheaters removal much of the time. Yet as a general rule I feel it has its place, and plenty of us use some form of it in our daily lives. Many of us are not particularly dishonest or openly practice deception with others, though we withhold truths amongst other mostly acceptable social whims. I'd bet though most of us have gone to the bathroom for too long at work. Chatted with a colleague. "Forgot" to reply to that email. Faked being sick. All defined in some way under the larger moniker of "cheating".
Not saying any of it is right or wrong specifically. Just laying justification for why I believe this.
If it's a capstone class and I'm still having to do stupid mini weekly assignments instead of focusing on my semester log project then I would also be phoning in those assignments. If it's a capstone then why is the teacher not just letting them focus on their big coding project. Bad teacher.
If you've ever done a capstone course, you'd know that there are check-ins at various intervals with certain milestones that need to be met, not just the final project due at the end.
It is a teachable moment. They learned that if you agree to an honor code, then violate it, you really will be subject to the penalties outlined in that honor code.