I have a CS degree, and worse than that, it's a double major in CS and applied math. I had to study things that seem really pointless for an "applied software engineer", like differential equations or numerical methods (ok, maybe the latter is not so pointless). We also studied a considerable chunk of other, more "CS-esque" stuff, like introduction to mathematical logic, computability theory, lambda calculus. Does th…
More Universities Should Shut Down Their Computer Science Programs
21–30 of 43 posts
Re: More Universities Should Shut Down Their Computer Science Programs
#22Earlier quoted context omitted.
> I don't think that catering to what undergrads want is a good thing, at all that's not what i proposed at all. what i propose is to bring curriculum into the 21st century, and to call out the fact that cargo cult thinking and poor organization on the part of universities are standing in the way of that.
> bring curriculum into the 21st century, I don't quite understand what you mean by that. Dijkstra's algorithm is the same both in 20 and 21st centuries, ditto for red-black trees. Are you proposing universities should be teaching iOS programming and web development with ruby instead of data structures and complexity theory?
Re: More Universities Should Shut Down Their Computer Science Programs
#23I have a CS degree, and worse than that, it's a double major in CS and applied math. I had to study things that seem really pointless for an "applied software engineer", like differential equations or numerical methods (ok, maybe the latter is not so pointless). We also studied a considerable chunk of other, more "CS-esque" stuff, like introduction to mathematical logic, computability theory, lambda calculus. Does th…
No argument there. Like I say in the post, I'm all in favor of the goodness of the basics. I just think that giving undergrads all theory and very little practice is not optimal, and they should have the opportunity to go minimal on theory if it makes sense for them. Very few universities offer such a choice today.
Re: More Universities Should Shut Down Their Computer Science Programs
#24Earlier quoted context omitted.
> bring curriculum into the 21st century, I don't quite understand what you mean by that. Dijkstra's algorithm is the same both in 20 and 21st centuries, ditto for red-black trees. Are you proposing universities should be teaching iOS programming and web development with ruby instead of data structures and complexity theory?
Not instead of. In addition to.
Re: More Universities Should Shut Down Their Computer Science Programs
#25Earlier quoted context omitted.
No argument there. Like I say in the post, I'm all in favor of the goodness of the basics. I just think that giving undergrads all theory and very little practice is not optimal, and they should have the opportunity to go minimal on theory if it makes sense for them. Very few universities offer such a choice today.
I know. We lacked practice at the university too. I don't think you can blame the university for that, though. Practical things are better taught by people who actually use them on the job, not by PhDs who write scientific papers. That's why I went to long-term internship at an actual company during my second year, which later turned into a full-time job.
Re: More Universities Should Shut Down Their Computer Science Programs
#26Earlier quoted context omitted.
Not instead of. In addition to.
I don't think they should be teaching that at all. It's a bigger waste of time than teaching differential equations. At least diff. equations are there forever and might one day come in handy if you end up writing some software for modeling physical processes. Ruby, on the other hand, will be replaced by some other trendy language in a few years. Plus, if you already know a couple of programming languages with differ…
Re: More Universities Should Shut Down Their Computer Science Programs
#27Earlier quoted context omitted.
I know. We lacked practice at the university too. I don't think you can blame the university for that, though. Practical things are better taught by people who actually use them on the job, not by PhDs who write scientific papers. That's why I went to long-term internship at an actual company during my second year, which later turned into a full-time job.
if the university purports to teach this stuff, they should hire people who actually know how to teach it. if their tenured PhDs aren't cutting it, they should look elsewhere. (this is how i got my university teaching job.)
It doesn't. The major purpose of a university is to produce scientists who do research, not software engineers who write crud apps. We, the software engineers, are just a byproduct.
> they should hire people who actually know how to teach it
They can't and they shouldn't. Why would one want to teach at a university when (s)he has enough skills to work at a company for a big fat compensation, and, possibly, equity? The only way to attract those people to the universities would be for the universities to offer much higher salaries, which would consequently drive up the cost of education (in my own country it wouldn't even work, because education is "free", i.e. mostly paid for by the government). And for what - to teach the students something they could have easily picked up on their own by poking around the internets or participating in internships? That is not optimal. If you study formal grammars in class and don't try writing your own little lexer/parser at home, it's your own fault, don't blame the university. It has taught you everything you need to know to write a parser, and it's your job to put it to use.
Re: More Universities Should Shut Down Their Computer Science Programs
#28Earlier quoted context omitted.
I don't think they should be teaching that at all. It's a bigger waste of time than teaching differential equations. At least diff. equations are there forever and might one day come in handy if you end up writing some software for modeling physical processes. Ruby, on the other hand, will be replaced by some other trendy language in a few years. Plus, if you already know a couple of programming languages with differ…
This isn't about whatever language is the flavor of the month, although seeing universities teach a language that is less than 20 years old would be nice. It's more about CS programs that produce graduates who have no practical ability to code at all , in any language.
Programming languages are tools. Knowledge of a language is not the final goal of a CS education, because it's the same as teaching a mechanical engineer how a drill works.
Also, the tools are based entirely on the theory of computing. And once you understand the theory, understanding what the tools are doing, and how they work, becomes much easier.
Re: More Universities Should Shut Down Their Computer Science Programs
#29I have a CS degree, and worse than that, it's a double major in CS and applied math. I had to study things that seem really pointless for an "applied software engineer", like differential equations or numerical methods (ok, maybe the latter is not so pointless). We also studied a considerable chunk of other, more "CS-esque" stuff, like introduction to mathematical logic, computability theory, lambda calculus. Does th…
No argument there. Like I say in the post, I'm all in favor of the goodness of the basics. I just think that giving undergrads all theory and very little practice is not optimal, and they should have the opportunity to go minimal on theory if it makes sense for them. Very few universities offer such a choice today.
These tracks were generally all theoretical (the exceptions being some classes in platforms and devices), even my friends who had a love for software engineering ended up learning the thoughts behind each process rather than blindly learning the process itself in order to master said process that is currently practical.
The way I treated academic learning is very similar to the process described above by 10098. The learning you experience in college should be some form of aggregate information about past ideas/trials and tribulations. This is the process by which I (as a customer) have found most universities treat their undergraduates. Rather than tailoring them to become masters of a specific problem they try (albeit not successfully, and there are a vast number of people in universities today that don't enjoy, want to have, or have this mindset) to build the next generation of people to find flaws in our current society, in hopes that they have motivation to fix it.
That being said you are making the argument that software engineering is a vocational skill. While I'm not denying that the majority of the process that I've found in my limited time in the industry tends to be filled with skills that are akin to any other vocational profession, I don't believe increasing vocational skills help the students. It might in a short term give them a strong basis for obtaining a software related position. It might also give them the ability to perform really well in their jobs at that time being. It does however not enable them to question the process they've learned. It also does not help them find problems within a process.
It should also be noted that most companies aren't looking for a master software engineer. They test for intelligence and social skills rather than how strict the student is on testing practices or which design cycle they prefer. These biases also lead towards limiting employment because they'll end up fighting rather than adapting to the new work environment that is already established by the companies views on the subject.
A lot of top schools are taking interest in teaching up to date languages, maybe not clojure or even javascript but python is the language that I've seen most Georgia Tech students prefer to program in after taking several courses in it.
http://www.cc.gatech.edu/future/undergraduates/threads http://www.cc.gatech.edu/future/undergraduates/bscs/roles/ma...
Re: More Universities Should Shut Down Their Computer Science Programs
#30Theory for me is more like machine learning(Bayesian theory, probability latent semantic analysis and way more advanced stuff). However with the age of big data upon us, we are going to need this for your average programmer more and more. Stuff like that happens to be what interests me, I also find it the difficult much to detriment of consistently high grades..
I think your what your proposing would lower the barrier entry so much, your average software dev won't be very good, and they will be cheap. Is that what you want for the proffesion?