As CS instructors, many of us spend quite a bit of effort on making sure students do their own work rather than just finding stuff on the net. Is that effort well spent? Here's a quote from a professional database programmer that seems relevant:
At least now I realize what my CS degree is good for. It's not the programming I learned--it's all the times I sat up at 3 am trying to find solutions to programming assignments through judicious abuse of google. (Oh, look! This university in Illinois assigned this problem two semesters ago! FIND AN ALGORITHM!)
I realize that the formal study of code re-use is part of software engineering, but my impression is that it studies, well, formalized systems for cataloging and reusing code, rather than programmers cruising the net for stuff that sort of looks similar and then hacking it to fit. Are we teaching our students the tools they need inadvertently in classes about other things, and then punishing them when they succeed?


CS has more serious problems than this:

Addressing your question: focus more on creating automated alerts to encourage code reuse without giving away too many company secrets in the process.