<p>I’m a senior computer science major who’s only taken 2 courses with major programming components, and would not have trouble solving that FizzBuzz program. If anything, it seems like doing well in theory classes are very beneficial for doing well in interviews like those at Google, etc.</p>
<p>How many total CS courses have you taken? If anything, I would expect at least 2-3 lower division CS courses to have significant programming assignments, and most upper division non-theory non-hardware courses (e.g. operating systems, compilers, graphics, databases, networks, artificial intelligence, etc.) to have significant programming assignments for students to put theory into practice.</p>
<p>Or am I expecting too much from CS courses and curricula?</p>
<p>In the dark ages at Cajun State University the major for CS was 18 Comp Sci courses. Only the undergrad theory of computation class was ‘no programming’. Some of the classes required stunning amounts of programming effort esp. 400 level Operating Systems, Pro Languages, and Architecture (microcode, duh). Some of the 400 level electives also had significant programming effort.</p>
<p>Maybe it was Cajun State because we checked with fellow Elbonians at places like UT Austin, CWRU and Waterloo and they were much more into team assignments (a novel concept in the mid 80’s). Their assignments were not much more difficult or easy than ours, but they had a 3 or so person team and for us it was individual projects. Eventually we switched to teams too (much to the snickers of older students). </p>
<p>There was a hickup for a couple of years where assignments stopped counting as much as they did in my days (30-40 or even 50%) for fear of ‘cheating’. Assignments were reduced to “Mary Had a Little Subroutine” complexity and counted for peanuts. A student revolt later the old ways were re-instated. </p>
<p>Good Old Days :). Hard to believe we had full screen editing (Gosling emacs) and source debuggers back then…</p>
<p>And my younger son had no trouble with it before taking his first formal CS course. Some people are just naturally highly-structured thinkers and these folks do well in CS. These folks also get picked off by the likes of Google. </p>
<p>What do you suppose happens to those who graduate in the bottom half to three-quarters of a non-elite-school CS major? From my experience, they end up in small design shops pretending they know how to code. Maybe they can use a framework to select from canned routines; just don’t ask for anything unusual. Maybe they can get something to run halfway good enough to fool the buyer who just assumes it works correctly – in one case, for example, an exact search string led to 17 pages of false positives before the actual item sought appeared. When you get access to look at the actual code, you find that it’s even worse than you ever imagined.</p>
<p>I don’t have an academic CS background and I can probably write out a solution to the FizzBuzz problem in a few minutes. Really, just a few if/else-if statements looping through an array. </p>
<p>The ability the solve problems is what a lot of employers are looking for–I’m pretty sure the basic candidate Bain or BCG needs is not all that different from FB or Google, sans the technical training…</p>
<p>My experience (30 years coding for a living, working with mostly Big 10 engineering / comp sci grads) suggests that non-elite schools do not have the monopoly of graduating ho-hum coders. I’ve interviewed Ivy grads, worked with them, and had them as interns and they rarely have the answer where nobody else does…</p>
<p>There are many more variables into the equation than one may think. In today’s business environment a specific technology rarely lasts long enough for anyone to become super-good at it. The common mainstay technologies are rarely used on their own… This makes it easy for some random kid that has mastered (memorized the manual, that is) a particular technology to land the job but with few general or transferable skills. </p>
<p>In the Real World ™ we need understandable, robust solutions that have to work for a decade, not Hail Mary answers to cute answers to ‘why are manhole covers rectangular’ and so on The way you write software that has to work for a decade (as in an embedded system like consumer electronics) is to do it conservatively, dumbly even. while predicting and mitigating every conceivable abnormal condition…</p>
<p>My Accounting and Finance major requires (not recommends) taking 5 Management courses. I don’t feel as though I should have to take those classes. The argument cannot be made that they are part of the broader educational foundation; that is what the liberal arts core curriculum was for. I’m close to graduation aside from those classes, and in planning my schedule ahead, I don’t want to be less able to take courses that teach me actual technical skills. I am going to bring it up with my adviser, but I was wondering if there was anything else I could do…</p>
<p>People have already been over this with you quite thoroughly on the CL forum (and your question has nothing to do with this thread). That is the curriculum your college decided would best prepare you. If your advisor/college doesn’t allow substitutions then you are SOL unless you want to change your major.</p>
<p>As far as “useless majors” go, how about a pre-professional major aimed at a tiny job market which usually hires people with other majors? For example, video game design.</p>
<p>A friend of mine was a CS major, dropped out of school to take a programming job, and now works for a huge video game company as a Programmer. Makes two to three times what I do in a year and I actually have my degree.</p>
<p>So to think that someone who graduated in the bottom of a no name school will go nowhere isn’t always the case. There are those who didn’t graduate at all who do quite well! I’m sure this is an anomaly but when it comes it programming I really don’t think your degree matters.</p>
<p>Notsurewhatuser, how many times are you going to ask the same question? Now you are parachuting into other threads to do it. Your question has been answered. The rules apply to you.</p>
<p>If this is such a burning issue for you why haven’t you spoken to your advisor about it. It’s been a week. Or did you not get the answer you want?</p>
Except for two short stints when I was first starting out I’ve never been unemployed. I started my own firm in 1998 and have had something on my drafting board ever since. When the housing market goes down remodeling goes up, when the economy goes up, remodeling goes up. Win-win. :)</p>