Hacker News new | ask | show | jobs
by uberman 3011 days ago
Almost every aspect of our discipline encourages open source code sharing and code reuse. This is a discipline wide mind set.

In fact, "build it yourself from scratch" is an anti-pattern in my opinion.

I'm not condoning cheating, but why would one not expect this to be be the default behavior?

As others have suggested, there are much easier "solutions" related to logging keystrokes and commits should you really want to catch and punish this behavior.

2 comments

> "In fact, "build it yourself from scratch" is an anti-pattern in my opinion."

In the context of getting things done, that is sometimes true.

However, as an employer, I want to know that you:

1) have enough knowledge to build it from scratch if you have to, starting with analyzing the problem and ending with a coded, tested, debugged, and working solution, preferably at least somewhat optimized.

2) have enough knowledge to be able to read the code that you might want to use in [not building it from scratch] and assess it's value, considering A) whether it will meet the actual need, B) whether it will do so at a lower cost than writing it in-house from scratch, C) whether it will meet or exceed performance parameters, D) not introduce more problems than an in-house solution.

3) make a well-informed and reasoned decision between #1 and #2, and not merely be a copy-paste monkey.

Doing copy-paste as a regular practice in school eliminates all three of these capabilities.

In short, school is different from work, and you need to adhere to different practices.

edit: format

Depends what you’re writing. I’d expect a student to write code for data structures and sort algorithms themselves.

Not sure how well plagiarism detection would work though...

Isn't that the point of these courses anyway? Unless you have very, very good reasons, why would you ever write your own bubble sort professionally outside of niche cases? But having to implement different sorts by hand makes it much clearer how they differ, as well teaching basic algorithm knowledge.
Exactly. We make every third grader look up and write down important dates and people from the past, even though they're already written down write there in the book they're looking at - it's not about the dates and people, it's about how to look things up.