4 ms·
In the real world you don't get punished for using Google or surrounding yourself with people who are smarter than you. Maybe classroom programming shouldn't p
by joshfraser 15y ago
In the real world you don't get punished for using Google or surrounding yourself with people who are smarter than you.
Maybe classroom programming shouldn't punish you either. What if you could turn in any code you wanted as long as you cited where you got it from and which license it was released under?
// got this from John. he explained this to me & now I finally understand how it works!
or
// thanks Google! found this great code on Github (Apache 2.0 license)
Of course, this approach would require assigning different types of projects than we're currently used to, but I imagine students would graduate a lot more prepared for real jobs.
- deleted 15y ago[deleted]
- shou4577 15y agoI think that you are right, in that this would probably prepare students for jobs very well. However, I think that a Bachelor's degree is supposed to be about something other than job training. Sure, there is some overlapping material between "prepare for a job" and "get a Bachelor's degree," but not very much. People who have a Bachelor's are expected to have knowledge that is both broad and deep. That is, they are expected to know far more than they need to know, and have skills outside of their area of expertise. Not that there is anything wrong with your approach, I just think that it disagrees with the overall goals of a standard university degree program, which is not terribly concerned about job preparation. If you can just copy and paste answers, with source, then you haven't actually learned anything (technically, you might have, but there is nothing in your work to support this conclusion - unknowledgeable until proven knowledgeable). The grade you receive should be a measure of the skills you have obtained, and the things that you have learned, rather than the results you produce. Sure, you can do this in the real world, but in the real world you are not trying to show what skills you have obtained, you are only asked to produce results - this is the major difference between the education environment and the work environment.
- joshfraser 15y agofine point
- oniTony 15y agoDepends on what you plan on doing in the real world. Googling for code snippets will not help you with novel algorithm design/analysis (though here I'm thinking of Computer Science, not "programming").
- JoachimSchipper 15y agoIn the real world, you still have to be able to implement stuff yourself - Google doesn't have everything (and the license matters in commercial development) and you can't make your colleagues do all your work. Yes, Googling snippets/tutorials is not a bad idea, but I don't see where that is forbidden.
- ramidarigaz 15y agoI think that's pretty much the stance my university takes. We are graded on two things for each assignment. 40% of the grade is how well the program works. 60% is how well we can explain the code. That solves the plagiarism problem very well. I think they almost don't care if I copy the code, because if I can explain it, I have achieved what they wanted me to achieve.
- loschorts 15y agoTrue, nevertheless, there's a big difference between being able to solve a problem ex ante and being able to explain a solution ex post.
- alf 15y agoI would have never written any code for class if given that option. In the real world, you do get punished if you need to program something, but don't know how to. College CS classes aren't meant to teach you how to get stuff done using software, they're meant to teach you how to program. Handing in someone else's code is not going to accomplish that.
- socksy 15y agoMy CS course allows to use of others code, given proper attribution, but you only get marked on the stuff that you yourself contributed - if you were to take other people's code all the time you'll get pretty bad marks. I think that works as enough of a deterrent to what you suggest whilst allowing students to get on with making interesting projects and not reinvent the wheel.
- Bockit 15y agoAdmittedly my degree wasn't a comp sci but a design degree, but when we did the programming half of it students were encouraged to use others' code on the condition that it was properly attributed. It was strongly suggested to add our own comments to demonstrate understanding of what was happening.
- chalst 15y agodds' approach fits the real world not too badly: an employed programmer is unlikely to have exactly the same assignment as their smarter colleague in the next cubicle, and so they have to understand the advice/code of their colleague before they can apply it.
- blacksmythe 15y ago>> In the real world you don't get punished for using Google or surrounding yourself with people who are smarter than you. In the real world, you are generally working on a problem that has not been solved before, so although you might find a few snippets to learn from, most has to be created from scratch. To emulate the real world, each student or team has to have its own problem. This is possible (as discussed in the post), but raises the level of effort for the instructor considerably.