I hate to be super-negative, but I'm not even sure a bachelors in CS is a good idea. Oh sure, you learn a few good things along the way, but then the professors start dragging you down their favorite theoretical paths. I'm all for philosophizing and navel gazing, but there's not much practical in things like lambda calculus, NP-completeness and some of the other topics. To make matters worse, these pursuits can confu…
I don't know if anyone (anymore) thinks that computer science is the same as software development. Knowing the latest library APIs, versus doing research to find a faster hash sort, are two different areas, IMO. I also wonder about the different industries and how they compare (SaaS vs CGI vs HFT). I think if you want to forge new roads in programming, a little theoretical studying doesn't hurt, so why not explore a…
I'm not debating whether anyone should study this. I'm just saying that people who want to get jobs shouldn't need to study it. If you want to do the theoretical stuff, have at it. I'm just saying that it's failed my team as often as it has helped. If the theoretical model doesn't match the problem exactly, you can get the WRONG answer as that NP-complete obsessed dude did when he didn't look for a heuristic.