You are a student. You’re supposed to be confused.

Grade school teaches you to be ashamed of failure and that’s garbage. GAAAAARBAAAAGE

Babies don’t learn to walk by being carried around. They learn to walk by doing it themselves. Remember: you’ve probably been programming for less time than a baby has been walking. Cut yourself some slack.

If you’re having difficulty… well yeah, that’s the point. Come to ME for help. ME! I’m here! I teach!!! THIS IS MY JOB LET ME DO MY JOBBBBBBB

Giving someone your code is not okay.

I say it on the first day of class: giving someone your code is cheating. Both parties will get a 0.

a graphical depiction of 'helping' someone by giving them your code

“I didn’t know giving/taking code was cheating!”

Really? Even if you somehow didn’t hear that on the first day of class or in any other of your CS courses… how on earth isn’t that cheating?

“I really need to pass this class to graduate/take another course/keep my scholarship/whatever!”

Another first-day-of-class thing: if your enrollment is contingent upon your GPA, don’t cheat.

If you’re struggling in the class, your grade might drop, but if you get help early, you can turn your grade around. I’ve seen it happen so many times!

On the other hand, if you cheat, you’re almost certainly going to fail. Even if you only cheat once, a 0 on an assignment will tank your final grade way worse than a 60.

“I was just trying to help!”

I know. But good intentions don’t justify morally questionable behavior.

When you give someone your code, you are not helping them understand. You are only delaying their failure until a later time. Okay, maybe they pass 447 or 449… how well do you think they’ll do in 1501? 1550? An internship or job?

Teaching tip: giving someone the answer is a bad way to get them to understand something. Find out what their level of understanding is first, then lead them to the answer. It’s hard. I know. I’m still pretty new at it myself.

“It took so long to grade my assignments, I didn’t know I’d fail!”

Do you really need to get a failing grade on an assignment to know that cheating is wrong?

By the way, I know how to use Google too.

When you turn in the first Google result for cs0449 myshell from GitHub with your name pasted at the top, I can tell. In some cases I’ve graded these projects before, because they are by my previous students.

Also, when you turn in assignments that follow different specifications than what were given, like… come on. Really? Do you really think that’s gonna fool us?

“I was using this code I found as reference.”

Copying and pasting a piece of code, changing the names, and reformatting it is not “using it as reference.” It’s copying. Again, shouldn’t this be common sense?