Why so few Computer Science degrees granted?

<p>^I agree. The actual facilities are not expensive. Students are almost expected to have their own computers anyway, so that’s a lot of the equipment right there.</p>

<p>But a PhD in CS, unlike other types of PhD’s, is paid very, very well in the CS industry, at least that is what I have heard.</p>

<p>A relative of mine received an MIS bachelor’s degree just two years ago and is now making $95,000 working for a major company in the industry. So I guess a CS degree is not necessarily the end all in the industry.</p>

<p>Actually, many schools have “eased up” on the number of required math courses for a typical CS program by removing Calculus III and Differential Equations (I know the CS majors who went to school with me are mad now <strong>chuckle</strong>).</p>

<p>The main reason (in my humble opinion) on why there are so many software engineers without a pure CS degree is that most computer-related jobs focus on 3 broad areas:</p>

<p>1) The processing of data (programming)
2) The distribution of data (computer networks)
3) The storage and retreival of data (databases)</p>

<p>Add in that all 3 of the above areas runs over a operating system, so you pretty much end up with 4 areas of computer science hogging up most of the jobs. Most employers end up just looking for just those skills so students are like WHY take a whole CS degree program with digital circuits, computer architecture, assembly language, automata theory, computational complexity, artificial intelligence, compiler design, etc when all that most employers ask is:</p>

<p>Do you know Linux (operating system)?
Do you know Oracle (database)?
Can you configure or secure a network?
Do you know Java or C++ (programming)?</p>

<p>There are a lot of jobs which require the CS degree though they are in the minority or there are jobs with someone with a CS degree can provide insights to solutions that someone with a CIS degree can’t.</p>

<p>The vast majority of IT and CIS type positions still seem to prefer a CS degree though - even when it doesn’t make sense.</p>

<p>Also, for some areas, employers try to “save a buck” with manpower. For example, let’s say an employer has a project doing computational electromagnetics. It may be more cost-efficient to have that physics major with some software courses than have to pay for a physics major AND a CS major. Why pay 2 folks where the physics major tells the CS major what needs to be in the software when you can pay one person who knows JUST ENOUGH for the specific job?</p>

<p>"Sorry to say this… but many IT jobs are outsourced offshore. Sad but true. "</p>

<p>-Not very true. Possibly was some temporary trial that did not work. There are possibly some left, I do not think it is many. Even big international companies primarily do not outsource. Primary responsibilities might be spread between N and S America, Europe (mostily Germany, UK).<br>
The low numbers is somewhat expained by kids not being prepared to think analytically. It went down over recent years a lot. I took one class while working (in IT) and we ended up with 3 in class. Prof asked me to take one kid and he took another to bring them up to a passing grade. Kid had no clue at the end of semester. Prof. said it has been going down a lot, there is no quality of education in k -12. If they do not spend time teaching math and science properly, there is no other way to develop analytical thinking. I am surrounded by “almost” retirees in my IT department. Who will do the job when we retire, I do not know. Many Chinese and Indians are also going back home.
The job is very exciting, it does not require much memory or much of any knowledge. But one has to be able to apply analytical skills that many do not posses after HS. College is way too late for that, they just fall out of the program when they discover that they cannot write a simple computer program.</p>

<p>For the last few years, the number of CS majors has been increasing around 10% per year:</p>

<p>[Undergrad</a> Computer Science Enrollments Rise for Fourth Straight Year — CRA Taulbee Report](<a href=“http://cra.org/govaffairs/blog/2012/04/undergrad-computer-science-enrollments-rise-for-fourth-straight-year-cra-taulbee-report/]Undergrad”>http://cra.org/govaffairs/blog/2012/04/undergrad-computer-science-enrollments-rise-for-fourth-straight-year-cra-taulbee-report/)</p>

<p>While computer programming is not equal to computer science, programming is a necessary part of CS. Many/most (the vast majority of?) students who take the intro programming courses find out very quickly that they have little or no aptitude for programming. You need to be able to plan from a complex goal (say, play a video game) down to the smallest detail (adding one, subtracting one). I suppose if any of you ever planned a wedding, you might have been nearly overwhelmed by the details and the schedule. Well, every non-trivial program is like planning an event as complex as a wedding if you don’t have the aptitude.</p>

<p>Many of those intro classes seem like weeders too. Prior programming experience makes a huge difference - there is so much being thrown at you that not always being behind the curve can make it easier to breathe. The overall CS major can feel pretty confusing too: the major topic areas have already been mentioned but they seem quite different and foreign. I think that most students go in thinking that CS is programming and then ask about the other stuff in confusion. I’ve seen many students not put in the effort in some areas because they think that the material is worthless. It might actually be worthless at where they work but knowing it can be interesting and might be useful for some jobs. You never know what the in-demand skills are when you graduate and that assembler or architecture or algorithms course might be useful when you graduate.</p>

<p>

</p>

<p>In my experience, the people that are best prepared for a CS major are those with a strong background, either through math competitions or those who have taken proof-based classes apart from high school Geometry. Like davidthefat said, there is much more to CS than just programming, and I bet a lot of people who decide that CS is not for them just find out that CS isn’t really what they think it is. A lot of people that appear to have had a lot of CS background have of trouble when they take algorithms classes, for example.</p>

<p>Another issue I think is the unique culture surrounding CS. Of the people who enter CS with large backgrounds related to computers, there’s to be a vocal subset that uses this as permission to be arrogant about their abilities. They might ask questions in class designed to show off their knowledge, or laugh when others struggle. Obviously this can be intimidating to a lot of people, so they don’t even bother going on with the major, and it also gives the impression that you can’t major in CS without a ton of knowledge already. In fact, it feels like one of the most frequently asked questions at my school is whether or not you can major in CS without a programming background in high school (it is in fact possible, and many people do it. One of my friends went from not knowing how to program to taking grad classes in CS in just one year.) This is something that seems to be unique to CS.</p>

<p>

</p>

<p>Since IT/MIS degrees are primarily business degrees, the lack of technical knowledge and skills often does show in the performance of the IT/MIS departments. Seems like it would make sense for an IT/MIS major to take the CS versions of the operating systems, networks, database, and security courses, rather than the less technical IT/MIS versions.</p>

<p>It is my impression that engineering programs require the intro class. Anyway, frazzled kids and a few of their friends who have taken this class at a wide variety of schools report that it can be a major time sink for students with no background, especially if it is not taught well and (if badly taught) especially for students who are not getting lots of unauthorized help (IOW cheating) in compiling error-free code. They have also noted that some professors are better able to produce students who can go from no background to independent coding, than others.</p>

<br>

<br>

<p>Computers are so fast today that many business applications can perform acceptably even though they are grossly inefficient. Applications that deal with massive amounts of data or computation would be a problem though some businesses just throw more hardware at the problem.</p>

<br>

<br>

<p>There often isn’t the time for this as there can be a lot of business core courses required for the major.</p>

<p>The introductory programming course at Harvard using scratch was quite interesting. I watched a bunch of the videos and it seems like a much friendlier approach. I don’t know if CS majors would take this course but it does seem like a good intro to programming for non-majors.</p>

<p>My son thinks he’s interested in CS. I’m not that sure he really knows what CS involves. He’s attending a CS camp whose purpose is to get students interested in CS. The programming language they are using is Scratch.</p>

<p>[This</a> article](<a href=“http://www.bizjournals.com/denver/print-edition/2012/01/27/number-of-computer-grads-on-rise-after.html?page=all]This”>http://www.bizjournals.com/denver/print-edition/2012/01/27/number-of-computer-grads-on-rise-after.html?page=all) might be interesting to some of you. Computing enrollment is rebounding strongly, though still off from highs at the start of the 2000s.</p>

<p>It would be interesting to see what the completion numbers are for those that go into CS.</p>

<p>The drop out rate is apparently 40-70%
[The</a> Perils of JavaSchools - Joel on Software](<a href=“http://www.joelonsoftware.com/articles/ThePerilsofJavaSchools.html]The”>The Perils of JavaSchools – Joel on Software)</p>

<p>After over 30 years experience with 9 employers in completely unrelated industries on different platforms, writing programs in different languages for completely unrelated applications as well as modifying existing well know on a market software packages I still cannot tell the diff. between CS and writing the programs. I welcome enlightement from anybody.</p>

<br>

<br>

<p>That sounds reasonable. At son’s school, I think that about 1/3rd wind up getting the degree.</p>

<br>

<br>

<p>Write a compiler from scratch.</p>