Live data from Hacker News

As Computer Coding Classes Swell, So Does Cheating

nytimes.com

271–280 of 303 posts

Re: As Computer Coding Classes Swell, So Does Cheating

#271

Student at UIC here: Pretty much everyone in the lower level classes is cheating. Some of it's just "driving five-over" and some is practically murder. I've heard Chinese students talking throughout entire exams in big lecture halls, students leaving lab and immediately finding their friends waiting outside for the next lab section and dishing all the details of the day's lab, and students giving away a little too mu…

I was a CS TA 20 years ago and it was the same. Literally everyone was doing it to some degree.

Back then you would hand in printed source code. People would occasionally photocopy someone else's, scratch the name off the title page and write in their own name like I wouldn't notice something that stupid.

I actually caught some phd students in some cheating that was almost as blatant.

The professors generally don't care either. The whole thing burned me out pretty quickly. I realized the school was just full of a bunch of people going through the motions, and CS degrees don't really indicate any particular expertise on their own.

Re: As Computer Coding Classes Swell, So Does Cheating

#272

Earlier quoted context omitted.

It isn't the University's job to teach people how to code. University isn't a vocational school. Yes, one should know how to code when they graduate. But the school is usually trying to teach the theory not the coding

What? Almost the entire meat of my CS program was programming projects in a variety of foundational domains (operating systems, networking, concurrency, databases, graphics, compilers, cryptography, machine learning, visualization, etc). Theory (discrete math, algorithms, formal languages) was 3 courses out of an 18-course program. HN keeps talking like it's the only thing you do in a CS major, which is bizarre.

I'm curious, where did you attend? I started a CS degree (at UC Irvine), then stopped because I felt it was too abstract. Maybe I bailed too early.

Re: As Computer Coding Classes Swell, So Does Cheating

#273

I "cheated" in one of my junior level CompSci classes. Forget what the name of it was, but we ended up doing a fair amount with low level debugging/analysis, assembly, etc. One of the big multi-week projects had a series of increasingly difficult questions about different aspects of a compiled program that you were supposed to figure out. We were told we could use whatever tools we were comfortable with using. So I u…

That sounds like an inspired and competent solution to the problem. Given that the article focused on pre-made work shared amongst students, this hardly sounds like cheating at all.

Agreed. In reality, I cheated myself more than anything else. I ended up needing to teach myself some of those skills last year, 15+ years later.

Re: As Computer Coding Classes Swell, So Does Cheating

#274
post #200

Earlier quoted context omitted.

I think you misunderstand. After an introductory course, it's expected that you don't need to be "taught to program" anymore. As part of your compiler class, you'll be taught about automata, regular expressions, grammars. For your projects, you might get some help with using a lexer and a grammar generator, but you should be able to figure out the "programming" parts yourself, and the teaching emphasis is on the theo…

Sure, but the vast majority of lecture time prepared you to do the programming projects, the vast majority of out-of-class time was spent on the projects, and the exams required minimal study besides having done the projects (one way of spotting cheaters was to look at the delta between understanding demonstrated out of class vs. in class).

See it this way: Each subject you finished at university, did you come at the end thinking "I learnt how to program", or did you come out thinking "I learnt how to structure a graphics pipeline"/"I learnt the tradeoffs involved in building distributed systems"/"I learnt how to structure data to make consistent updates and retrieval simple and highly performant"?

The most obvious way you apply what you learnt in those classes is by writing programs that implement those ideas (And it's also the easiest way to evaluate whether you actually learnt the concepts). But you can just as easily apply that knowledge by designing systems for somebody else to implement — somebody who presumably lacks the knowledge required to architect the system. Hammering out code is easy, and you don't need a university degree to do it. It's the rest of it that takes some study.

Re: As Computer Coding Classes Swell, So Does Cheating

#275

I've been a TA for a couple CS classes at Iowa State University. Cheating here at least is pretty rampant. I would guess 1/3 or more of the students cheat in some capacity. Some of it is really easy to detect too. For a first semester freshman class, I tried using MinHash to cluster student submissions together. Maybe 10% of the assignment have near duplicate pieces of code. More comprehensive methods like MOSS (Meas…

In my school one of our professors forces students to do the tests all on paper. We also have a testing center where it's harder to cheat at. There's always people in there watching you, and you likely will be seated somewhere random and nowhere near anyone studying in the same field as you.

I have to say the professor who forces testing on paper really gets the better students in my opinion because they're less likely to cheat (if they even try). They have more reason to try harder to pass.

We also have on our classrooms specialized remote desktop software to see students screens, I've seen someone in one of my classrooms (was not a CS / Programming course, but it was in the same lab) get caught that way, trying to cheat. It was sad, I never saw that kid again after that.

Re: As Computer Coding Classes Swell, So Does Cheating

#276
post #215

Earlier quoted context omitted.

RE the group assignments, my university quite successfully dealt with this by introducing a scaling factor based on peer assessments within the group. This scaling factor was strong enough to allow a group to fail one member if they received poor enough grades. Failing one member tends to boost your own grade as well, as the assumption is that you ended up having to pick up the slack. I did three group assessments, a…

> RE the group assignments, my university quite successfully dealt with this by introducing a scaling factor based on peer assessments within the group. This is something my university has done, but didn't implement quite as well. I think the key here is making it completely anonymous (ideally filled out online individually) because otherwise objectively assessing a group member's performance in front of them is diff…

I failed a group member over this. They did put a small amount of effort in, but the problem was that the parts of the project they agreed to take on ended up having to be done or re-done at the last minute. If we had just known he was going to do nothing, we at least could have planned for it. In the end, putting in that small amount of effort actually hurt more than putting in none at all.

Re: As Computer Coding Classes Swell, So Does Cheating

#277

Earlier quoted context omitted.

Here's the trajectory: Fake your way through basic CS courses. Find your way into group-work heavy projects in later years, possibly doing enough ancillary aspects of the work to be semi-useful. It will be likely that your other group members will find it easier to grin and bear it. Optionally: do a Masters or PhD. Plagiarize your work, or potentially hire someone to do it for you. Continue into the work force, focus…

A company in the Netherlands sometimes hires me to help them guide the interns. They are what is called a learning-company over here. Out of the 100 IT interns every year there are usually about 5 that know more than only the basics. This has been a consistent pattern I've seen over the last 4 years. It does not matter what level education they are having. Many times I even had to explain what functions, conditions e…

I really do not understand how so many people manage to fool almost everyone for so long.

To me, it's quite simple. Lack of teaching the fundamentals of programming. CS programs want to teach object orientation in first year CS. How can you understand object orientation and complex data structures until you've learned what a pointer or structure is (C code, yeah)? How can you understand a pointer unless you have a basic understanding of the machine, and in particular, how simple variables are stored in memory.

This is the boring stuff for professors and administrators of a CS program, but an absolute if you want to produce quality CS graduates.

Otherwise good students get lost in their first year of CS, which is the real shame here, given the shortage of CS talent. I advocate for better teaching of fundamentals, preceding more complex topics in computer science. Without it, we will continue to see CS grads fall down in the work force.

Re: As Computer Coding Classes Swell, So Does Cheating

#278
post #216

Earlier quoted context omitted.

But that way they learn manipulating people instead of programming. The point of a programming assignment or exam is to force people understand programming. If you're hiring programmers you likely want "Masters Degree in IT" to mean "this person can code", not "this person can manipulate people". Good for them, not necessarily good for other people and the company in general. And in my experience romantic or erotic r…

learn manipulating people This is called management, and it's well paid.

In that case, they should brag about it: "I never finished any programming assignments, because I managed to make other people do it for me."

Re: As Computer Coding Classes Swell, So Does Cheating

#279
post #236

Most of these articles read: "They cheat because A, B, and C... it could be because of D..." I would love to read an article which is like: "I cheat because X..." "I cheat because Y..." "We cheated because Z..." In other words, an article or a study based on an anonymous survey. Straight from the horse's mouth.

I bought the solution manual for my algorithms and data structures course, because the professor, TAs, and textbook were so incredibly bad that I couldn't figure out how you were supposed to structure the proofs that you were expected to write for the problem sets - and they were incredibly anal about the way that everything needed to be formatted. I just gave up - I'd implement everything in C for fun and to know how it actually worked, and copy over the bullshit parts for the homeworks. I've never seen a class that could have been so much fun taught so badly. When you sit there and watch a tenured professor do nothing more than copy CLRS out on a blackboard, listing by listing...

Re: As Computer Coding Classes Swell, So Does Cheating

#280

As a JavaScript developer none of this matters to me. Here is the reality I see: JavaScript skills are in demand almost everywhere even if it is not the primary language or skill of a given job. Almost nobody receives any kind of formal education or training in how to write in JavaScript. If you work for a web based company you WILL at some point be tasked to write in JavaScript. When developers, who have never touch…

> Essentially, at the end of the day, almost nobody knows what they are doing. In this line of work most people are utterly afraid to write code. We would be in much better shape if our biggest problems were developers or students cheating.

It's really the terrifying thing. What's more terrifying is somebody that thinks they do know what they are doing. Once in a great while they will be right, but far more often they are wrong, disastrously wrong.

Post reply on HN