Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

If cost is an issue, go to your local state uni (not private). The education will at least be credible and diverse, and you'll earn back your tuition in just a couple years out. Depending on where you live, some state schools are among the best in the country. It's terribly hard to justify going out-of-state or to a private school on a purely monetary basis unless it's someplace really very special or you get a free ride. It can take something like 12-20 years to earn the tuition back compared to a state school grad and the salaries usually end up meeting parity within 3-5 years anyway.

As others here have said, what you describe is Software Engineering not CS. But if you learn CS, Software Engineering comes pretty easily (which the inverse is not necessarily true). Most credible CS programs will give you some exposure to SE as part of the curriculum. If you find a program with very little math, it's the wrong school. If you find a school with classes like "Regular Expressions" avoid it. However, if you find a program with a lot of math, and courses with names like "Formal Evaluation of Algorithm Design" and "Regular Languages, Context Free Grammars and Compilers" it's probably fine. Expect to take lots of course you don't find immediate application for, like English Lit, Social Sciences or Communications. Take those classes and ace them. They'll be cakewalk compared to the weedout classes you'll have to take (most likely something like "Data Structures and Analysis or Algorithms" or "Concurrent Processes and Distributed Applications" or whatever your school has chosen). Expect to spend 40-60 hours a week on those classes and be one of the 10% remaining in the class at the end of the semester.

Most good programs will take you through the entire computation stack, from designing digital circuits to ASM and machine code, to C and/or C++ in terms of modeling computation, operation systems and concurrency, networking communication theory, algorithms, graph theory, Chomsky's hierarchy of languages, probably some alternative computing principles and languages. If you haven't spent time in at least a half-dozen different languages, from Prolog to Lisp to C++ to ASM, it's probably not a good program. Expect to write at least one toy Operating System, and design at least one function 8-bit clocked calculator (if you are lucky it'll be a stored memory computer or a co-processor of some type). You'll need to take about as much math as a math minor. If you can, take the extra 2 or 3 classes and just get the minor. It'll put you out a whole semester since you'll be doing heavier loads than most majors.

At least at my school, there was an informal hierarchy of undergrad majors that indicated relative hardness (and therefore respect): Math > Physics > EE/Engineering > Computer Engineering > Computer Science > Software Engineering > Information Systems > Biology > all soft sciences like poly sci and intl relations > Art > Criminal Justice.

This hierarchy generally represents what a person from one major can do in another. For example, a Math major can learn to be a Computer Scientist without too much fuss, but not necessarily the other way around. A French lit major wouldn't likely survive an EE curriculum intact. Everybody knows this hierarchy and it can sometimes be the bases for clique formation and preconceived judgement between members of different majors. It's weird, but it happens.

Computer Engineering is a good applied program if you want to stay out of computational theory for the most part and just build stuff. It'll probably have lots of circuit design work and you'll spend lots of time with embedded systems.

Research will more than likely happen as part of your MS program (or if you go into it, your PhD), not your undergrad. But you better be ready to hyper-specialize pretty quick if that's what you want to do.

Don't pick a school based on name brand recognition, pick a school with a solid program -- some well known schools also have solid C.S. programs, most do not. Do a B.S. program. If your school offers such a thing as a B.A. in C.S. run far away and don't look back.

It will be challenging, and even if you don't end up doing pure C.S. work, you'll be in good shape to do most of anything else, even non-technical work. The best courses I ever took in my C.S. program were the required history courses. My two semesters of Chinese history have probably made me a $80k in salary doing research work for technical assessment papers early in my career.

If you get a chance to do a study abroad program for a summer, do it. Even if you have no hope of ever making that money back. Those programs will also really stick with you. Consider teaching English after graduation for a year also in a foreign country. That stuff will make you ready for any crap the job market will throw at you.



At least at my school, there was an informal hierarchy of undergrad majors that indicated relative hardness (and therefore respect): Math > Physics > EE/Engineering > Computer Engineering > Computer Science > Software Engineering > Information Systems > Biology > all soft sciences like poly sci and intl relations > Art > Criminal Justice.

Former physics minor: your hierarchy is useless. Advanced classical mechanics (a weed-out course) is no harder than EECS 310 (discrete math).


I'm surprised classical mechanics would be the weed out course. I found discrete mathematics quite a bit harder than that.

But then again I found field physics and quantum physics quite a bit harder than discrete mathematics (and relativistic physics relatively straightforward no pun intended). I could probably still derive most of the equations for classical mechanics if I really sat down and worked at it (it's been many years since I looked at any of that material) but would definitely have a hard time with Maxwell's equations.

I didn't create the hierarchy, but I think it was the perceived hardness of the applied calc in field physics and applied dif-EQ in quantum that led the Comp Sci folks to hold the Physics majors in higher esteem (since we had to take like 9 credits of Physics and at least 2 lab courses at my school).


I'm sure it depends on the student; I sure remember my physics major girlfriend struggling with Lagrangian mechanics in her advanced classical mechanics course. 3 decades after doing basic classic mechanics I can see the utility of Hamiltonian mechanics but I'm not at all sure I'd want to tackle it (chemistry major here ... I wonder where we fit in the hierarchy).


I can't remember where chem majors fit in. I think it was higher than bio majors.


That's what I remember as well; if you limit it to science, I've always heard Math > Physics > Chemistry > Biology.

I've never heard of a ranking that mixes science and engineering before the one you mentioned; at my school, at least, there was generally mutual admiration, with math and physics ranking above any engineering field.


Having art in that same hierarchy as physics seems kind of beside the point. There are plenty of good physicists who wouldn't be able to pass an art course (and vice versa).


I suppose. I didn't make the hierarchy, it just seemed to be informally observed. There were definitely a fair number of people in the technical fields that took art courses for an easy A, almost no artists ever attended a course on discrete circuit design, or took a course in algorithm evaluation.


Well, I guess it depends on how tough the art courses are. My point was just that becoming a good artist is as hard as becoming a good electronic engineer. But if the art courses aren't rigorous then I guess that fact isn't relevant.


I'm not an artist, and I'm likely influenced by the perceptions (fair or not) of my alma mater. I have taken a few art courses for hobby and thought they were fun. I wasn't great, but probably nothing that practice and perseverance wouldn't overcome. But could you elaborate a bit on what might make an art major hard? Honest question, I really have no idea. To me it seems like mostly learning technique and practice practice practice. But I'm sure that a B.A. in Fine Arts involves something more than an extended 4 year crafts session.


>But could you elaborate a bit on what might make an art major hard?

I'm kind of baffled by this question. It's very difficult to create good art. If it is necessary to create good art in order to get an art major, then getting an art major will be correspondingly difficult.

>To me it seems like mostly learning technique and practice practice practice.

You could say the same thing about learning a musical instrument. I guess it's true that with enough practice, pretty much anyone can learn to play a musical instrument with some degree of competence. But that doesn't mean that it's easy to become a good musician, or to reach a standard that's high enough for a music major.

Come to think of it, you could say the same thing about math (at least at the undergraduate level). Solving differential equations is largely about learning a certain set of techniques and practicing them.


I don't think I said anything about being "good" at art. There are sadly a great many artists that aren't particularly good.

I don't know what the admission standards are to get into an undegrad art program, but at least at my alma mater, there are a great many pieces of junk littering the grounds that are apparently supposed to be showpiece works of the art students, apparently actually being "good" is not a prerequisite.

I'm just not sure what exactly is "hard" about getting an art degree, and I'm perfectly willing to say that's because of my own ignorance. Some of the art history classes might be toughish, perhaps learning specific techniques, or comparative art across cultures or something. But nothing more difficult than say, a technical writing class.


I think that it's hard to get an art degree because you need to be able to produce good art in order to get one.

Granted, you don't have to be very good, but then you don't have to be a very good physicist in order to get a physics degree.

>there are a great many pieces of junk littering the grounds that are apparently supposed to be showpiece works of the art students, apparently actually being "good" is not a prerequisite.

What if undergraduate work in math and physics were put on display? Would it necessarily be any more impressive? You don't expect undergraduates to be world-class physicists, and you can't really expect them to be world-class artists either.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: