Live data from Hacker News

As Computer Coding Classes Swell, So Does Cheating

nytimes.com

291–300 of 303 posts

Re: As Computer Coding Classes Swell, So Does Cheating

#291
What I don't quite understand is why those people study CS or IT in the first place (in my country there's no distinction in naming). I get that some people are good at networking and office politics, and might even be good managers, let's give them the benefit of doubt. But are there, no doubt, studies specifically aimed at educating IT managers ? IT industry is still hot, surely there are some corresponding management courses to go with that ?

That way they wouldn't have to struggle with conceptually hard topics, and employers would get a better idea of a person's skills. Why study IT if you don't like wrestling with algorithms, installing software, configuration etc ? Why pretend to be a techie ?

Re: As Computer Coding Classes Swell, So Does Cheating

#292
post #263

Earlier quoted context omitted.

I don't see this as such a problem. For instance, calculus, linear algebra, differential equations, numerical analysis, and so forth, are only a small part of what makes a good actuary. But they have a formal exam that you need to pass in these areas in order to be an actuary. They don't quiz new candidates with 10+ years experience on integration by parts during a job interview. Because we lack even a basic exam in…

That's a very fair argument. I still think there'd be far too much contention over just what is to be included in the corpus of essential knowledge. Everyone seems to agree that data structures, algorithms and systems fundamentals seem appealing, but just which ones depends greatly on whether you're doing embedded PLCs for fuel injectors or whether you're doing React. I've been programming since I was 9, for most of…

> Yet I'd be very hard-pressed to tell you how exactly CPU instructions work, and have never touched anything "closer to the metal" than C. Should this disqualify me from the profession?

No - it shouldn't. I feel that you should want to know this level and more about the internals (and history) of computers. I'm biased in that has been a driver for me personally...

...but to give you a hint:

A CPU (in the most basic sense) is nothing more than a very fast and very complex player piano, regulated by a clock. At each "tick" of that clock a row of "holes" (bits) representing a variety of information (address, data, instruction) is presented to the CPU. These bits are actually voltage levels. The CPU uses these voltage levels to change the state of logic gates in the system (which are wired for a variety of different tasks - but you only need one particular kind of gate to make any others - a NAND or NOR), which determine what happens, what to do next, etc.

I won't go further - and let me be clear that what I wrote above is nowhere near complete, and only describes the most basic level of an "ideal" CPU (or ALU or whatever) - because in the real world, you have things like voltage transients, timing issues (signals not arriving at the same times - hence things like wait states and such), noise, plus things like triggering on rising or falling edges of clock signals, multiple clocks staggered in time (for multiple triggerings per "cycle"), and a whole host of other things.

Yeah - it's pretty complex. But at the heart of it, it is pretty simple - a player piano, more or less, with a music reel spinning at mind-boggling speeds. If you need or want more information, there are (like everything else) plenty of resources on the internet about how all this stuff works. Check out some of the sites on people who have built computers from relays or logic gates; they typically have a lot of good information about the lower level stuff. Also look into some of the old books on building computers, and how they work (I'm talking the practical computing books from the 1950s and 1960s - difficult to find at times, check on used books online, in stores, plus on google books and archive.org; also, old back issues of Byte Magazine from the 70s and 80s are a good resource).

Re: As Computer Coding Classes Swell, So Does Cheating

#293
An additional anecdote from high school three years ago (take it with a grain of salt)

There was a person in my CS class where we built a virtual computer using Python. Almost weekly I saw her cheating, yet during her spare time she devoted that saved time to a side project that won her an award and some publicity.

Starting from then I've learned to focus less on the grade and more on actual projects that are challenging enough that I have to learn.

Re: As Computer Coding Classes Swell, So Does Cheating

#294

Earlier quoted context omitted.

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 ba…

How can you understand object orientation and complex data structures until you've learned what a pointer or structure is (C code, yeah)? Speaking as someone who has spent considerable time in front of first-year college CS classes, attended SIGCSE conferences, and applied this in practice: trivially. Your "pointers-first" bias has long, long been debunked. Brown, Stanford, VT, and other CS departments have had fanta…

As someone that studied on Universities that prefer OOP first approach, I would disagree.

Design skills can be only learned through experience. Understanding what abstraction to apply is something you would learn after many "failed surgeries". You can only learn this on the job and by reading a lot of code.

Writing efficient software is impossible without understanding machine. Without knowing how things are represented in memory or how compilers/OS works you will never write good software. You will end people that do not understand how event loop in node.js work or write thread safe Java.

Just ask few practical question about Promises, Heap, GC, Threads and you will see blank faces from the same people that just white-boarded DFS.

Re: As Computer Coding Classes Swell, So Does Cheating

#295

Earlier quoted context omitted.

This is exactly it, in my opinion. It's much easier to catch cheating by running homework code through something like MOSS than relying on a human TA to catch that 2 handwritten math assignments are exactly alike. I TAed both CS and Math classes at a large state school and once caught ~20% of a 50 person math class on a homework assignment because they had all copied a mis-labeled problem from the solutions manual. I…

At my uni you had to have all electronic devices in your bag under your desk and have all supporting materials displayed on your desk before the exam. There were floor walkers who would go up and down the aisles constantly throughout the exam looking for signs of cheating. If you were caught you were expelled. A neighbouring uni even gave students lockers and didn't permit bringing anything into their exams. Exam che…

We have similar rules for keeping your desk clear, electronics in your bag. I think the difference is having people walking the floor, which isn't effective if you only have 1 professor watching 50 people, in my opinion. It's also very difficult to know exactly how effective those preventative measures are, either in discouraging students from cheating or catching them when they do. It's apparently still easy enough to keep your phone in your pocket and pull it out onto your lap when you want to look something up. Honestly, I've always assumed it'd be impossible to cheat during those exams but have been proven wrong. In the most recent case, I and the person next to me were sitting in assigned seats in the front row, ~3 feet from the professor. He still wasn't caught, as far as I know. (I mentioned it to the professor near the end of the exam but she didn't catch him in the act). Even if she had, she'd have to be willing to go to the work of reporting him, attending the hearings, and doing the paperwork which historically doesn't result in getting the student expelled if it's the first time they've been caught.

Lockers seems like a good way to prevent it, although phones are still easily hidden in a jacket pocket so you'd have to ban bulky clothing too.

Re: As Computer Coding Classes Swell, So Does Cheating

#296

Earlier quoted context omitted.

quite often the plan in the mind of these folks is that they will try to fake their way through and be moved up into project management Wait a minute, are you saying all I have to do to be promoted to Project Management is to code really badly? Hmm. I wonder if C# has GOTOs...

Even better! It has exceptions! You can write code that deliberately throws an exception where the handler calls a function. It's more like come-froms than GOTOs. Please don't do this.

Please don't do this.

Don't hate the player, hate the game.

Re: As Computer Coding Classes Swell, So Does Cheating

#297

Earlier quoted context omitted.

quite often the plan in the mind of these folks is that they will try to fake their way through and be moved up into project management Wait a minute, are you saying all I have to do to be promoted to Project Management is to code really badly? Hmm. I wonder if C# has GOTOs...

>Hmm. I wonder if C# has GOTOs... Why yes, yes it does. You can also alphabetically sort a list of 30 things by adding those things to a list line-by-line, sorting them in alphabetical order yourself.

You can also alphabetically sort a list of 30 things by adding those things to a list line-by-line, sorting them in alphabetical order yourself.

I see you've worked in enterprise too!

Re: As Computer Coding Classes Swell, So Does Cheating

#298

Earlier quoted context omitted.

Would you be alarmed if you found out your doctor had entirely cheated their way through medical school and knew very little medicine? Great, you figured out that grades aren't a perfect metric. But so what? Grades don't prove a student is great, but they can eliminate a lot of students that are bad. If the bad students just cheat their way through, everyone else down the line suffers for it.

Is it cheating for a professional software developer to use Stack Overflow? If they copy and paste, perhaps, but not if they use it to get a better understanding of something. It's very difficult to grade understanding. Doctors go through a lot to graduate. Universities are welcome to put all students through the same level of scrutiny, working closely with a professional who can decide if they are unfit for the cour…

It's not any more cheating to look at stack overflow, then it is for a doctor to look up more information in a medical reference book. But neither should rely on those resources to do their job for them, with no understanding of the underlying domain. A developer should easily be able to write FizzBuzz without using Stack Overflow.

Re: As Computer Coding Classes Swell, So Does Cheating

#299

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…

[deleted]

Re: As Computer Coding Classes Swell, So Does Cheating

#300
post #32
post #9

Earlier quoted context omitted.

Everyone does code review or whiteboards now in industry at least - it's not as if you're offered a residency or job after you get a degree unless it's a pretty good degree with some actual interviewing.

I have never written code at an interview, in nearly 30 years.

At senior levels you will be judged by what you've made and your reputation. If you're a new hire you won't have much of either
Post reply on HN