3 ms·
1. Plagiarism is bad I'm assuming this meant in the sense of "why can't I just copy a binary tree implementation from the internet and turn it in", since every
by diek 14y ago
1. Plagiarism is bad
I'm assuming this meant in the sense of "why can't I just copy a binary tree implementation from the internet and turn it in", since every advanced course I took in college encouraged the use of libraries where appropriate (to the point of linking to open source libraries on the course website). The answer to the former question should be painfully obvious... you're learning to be a creator of things, not a user of things. That would be like taking an operating systems course and saying, "See, I downloaded Windows! Where is my A?"
2. Performance Matters
Tell this to Digg (one small example in a sea of them). Kevin Rose has said several times that he regretted hiring so many "get things done" PHP programmers that had no in-depth algorithm knowledge because as soon as the site had to scale none of them had knowledge outside of their PHP sandbox.
As far as the difference between copyright, trademark, and patents, ABET requires a Capstone/'Ethics' course that includes these very topics. I actually did a research report on software patents during my undergrad which included a presentation on how software patents have affected the software industry. As far as planning a product and tracking its development, ABET also requires an 'Intro to Software Engineering' course which is, you guessed it, planning and building a product from first principles.
- stefan_kendall 14y agoMy school was ABET accredited, so I guess ABET is crap. I don't care at all about ethics - you can't teach that in a semester of college. I care about the law, and what I can and can't sell without being able to win the lawsuit when I'm sued. I've never had to build an operating system, and I never will. Performance problems likely mean you have product success, at which point you can figure out solutions to your problem. You don't get facebook scale by planning it up front.
- diek 14y agoThe name of the class will vary, I just mentioned Ethics because that seems to be what a lot of schools call it. Mine was "Social Implications of Computing"... but again, it goes into (very specifically) the law regarding copyright and patents. Your college can be ABET accredited, but that doesn't mean your degree program was. I've never had to build a priority queue. The language I've used has always had a library to provide that functionality for the purposes I needed. However, knowing what a priority queue is, how it works, and when it is appropriate to use (and those pesky big O performance implications) were all taught in an algorithms course (and are a quick CLRS reference away). On performance problems, that is an incredibly hand wavy response. You seem to be assuming product success is a $50 million Series A round and enough buzz to make people want to work for you. And what are you going to do with that money? Probably hire someone who has an understanding of algorithms and operating systems.