Computer Science or Info Tech?
An anonymous reader writes "I am currently completing my final year of secondary schooling, and in the next few weeks I need to submit my university (or college to all you Americans) preferences for processing. I've decided that I want a career in the IT industry, but am unsure of whether to apply for a Computer Science course or an Information Technology course. I understand the difference between the two courses (CS being the study of the principles and concepts involved in Computing at a more fundamental, and often more sophisticated level, and IT being a more practical, application based approach to computing), but would like to know from anybody who has studied either or both of the courses what kinds of careers each course would lead into and what would you recommend for someone such as myself, having a broad range of interests and wishing to dabble in everything before deciding where to specialise?"
CS, of course.
This at least gives you the dream that you will not just be reinventing wheels for company XYZ.
So which do you prefer being - A system admin (follow IT) or a programmer (follow CS). They are not mutually exclusive. As a system admin I do a lot of programming. My boss in my last job favorite question was - "How can we automate this?". I like being a system admin myself - I get out of the cubicle more that way.
:^P
p.s. first post and actually fairly on topic
If you're planning on doing a two year technical college kind of thing then I recommend you to do otherwise. The auxillary courses that a four year technical college gave me have to a great extent been useful (possibly more so than the technical courses I took).
Assuming you've got a four year college plan, I would recommend you make two separate plans from your college's website. Take the IT path and pick out all your generals & then all your electives (it doesn't have to be accurate, just a rough guess). Then do the same with computer science. I'll bet you'll see that a lot of general electives overlap so take mostly those your first semester. While you're there, I think you'll be exposed to more students in the same and other realms. How do you so easily discount electrical engineering when IT & computer science are your obvious choices?
In America, there would be absolutely nothing wrong with changing from one to the other in the middle of your college career. It might mean more work but that's better than a lifetime of regret. In fact, it's almost expected you change your mind five or six times in college where I went to school. Sure, it'd take people five or six years to graduate but it's their choice.
I would recommend you do the above for not only IT & CSci but also EE & Computer Engineering (kind of a cross between CSci & EE). In my undergrad, I took CSci, Math & Music Theory courses to a heavy extent. I finished one class away from a math minor and one class away from a music minor. I'm really happy that I was able to take those diverse courses that were often a refreshing break from Computer Science. But, in the end, I almost wish I had committed to the Computer Engineering course even though it would have edged out the extra math and music I took because it is such a demanding program.
In the end, there's jobs in both these fields. I can't argue for one over the other because I don't like IT/Business people. Why do I hate them? Because I don't think they really care about anything other than money and they're often performing trivial jobs
My work here is dung.
You'll probably be more locked into programming with the CS route and the IT option will let you get into programming while also being more open in the future for project management, design, and planning. I personally think the IT degree would be more geared towards the higher level exec and may be easier to make bigger bucks in the long term, and possibly short term, if that's one of your factors. Find out if the IT program prepares you for the PMP or any other major cert, which could be very useful to you in the future.
Creationists are a lot like zombies. Slow, but powerful and numerous. And they all want to eat our brains.
Do you like math? Are you good at it? What about algorithms? Do self-balancing binary search trees give you a boner? If you answered yes to lots of these questions, stick with Computer Science.
On the other hand, "IT" sounds like a "Microsoft Office with some introductory Java on the side" course. You might want to find some better middle ground if you actually want to do some serious work.
What you may want is a Software Engineering degree. I went into Computer Science since my university didn't offer SWE, and occasionally I took a CIS/IT course. What I noticed was that the students were typically very low quality students and had little interest beyond what was right in front of them for the assignment. The course material was also very superficial, even where we had overlaps. Our CS networking classes could actually train you to be an entry-level admin. Not at all true of the IT program. Programming? Our freshman entered CS with almost as many credits as their seniors graduated with.
You can focus on whatever you want in CS, so take it if you like IT work. It'll pay a lot more than an IT degree and carry more weight when you switch jobs.
For most people qualifications only serve to prove a minimum standard of competence. Yes, a degree is both necessary and a good choice - it helps develop your skills, and also makes you eligible for jobs where someone has made a degree a check box requirement - but other than getting past the first round it makes little difference to the prospect of being hired.
So instead of worrying exactly which degree to take, just get the one that you think you will enjoy most. It's going to be your life for years - if you don't enjoy it, it'll kill you. I did engineering, because it was fun, and I got offers from the IT industry when I graduated as well as elsewhere. There were plenty of people with maths and physics degrees heading into IT as well.
Much more important is to get employment in the right field. Even if it's an unpaid weekend job, or summers doing network admin stuff. Steady employment and a track record is much more impressive than anything most of your competitors will have at the start of the mad rush to hire graduates. The closer it is to your field the better, and if you can pick a company that will keep having you back and give you more impressive things to do that's great.
Even if they (or you) don't want to turn things permanent after college, then you will already have a headstart on networking in your field, proof you can work for a week in an office without putting laxative in the coffee and good things to talk about at interviews.
Think of the Children; Sleep with your Sister
If you want to work for the industry (Intel, Microsoft, Cisco), you'd want CS. If you would rather be a a programmer or admin in the CS department of a non-industry company, than IS would likely be more useful.
Get a degree in electrical engineering with minor in computer science. You will get as good an education in programming, but will have an advantage over straight computer science majors because of you knowledge of hardware.
I started out in CompSci for 2 years, and then switched to (and graduated) MIS. Trust me, the finance/accounting/management courses you have to take with MIS are much more valuable than physics and calculus. MIS will get you a variety of jobs, CompSci pretty much sticks you with programming.
//TODO: Insert catchy phrase
If you are as you described "having a broad range of interests and wishing to dabble in everything", then you can learn practical things yourself while you study the computer science.
-- tinyhack.com
I hold a BA in Computer Science, and would highly recommend its study. The principles you learn are not solely relegated to computer science -- at least, not most of them. I've been able to successfully apply them to the fields of physics and mathematics in college, and continued to do so to problems in my research in the fields of nuclear engineering and fusion energy science today. It certainly has aided my job as a scientist -- a position you may not have considered relevant to CS/IT. Keep it in mind, we always need more bright people! :)
That said, I'm a bit of a jack-of-all-trades when it comes to IT. It certainly is helpful to be able to solve a problem with the tools at hand. IT problems tend to be a bit more lucrative to solve (or solve more efficiently than those who came before you).
If you plan on being a creative problem-solver in your chosen line of work, seriously consider the perspective a CS background can offer. In my mind, that gives you the ability to pick up whatever the latest nifty tools/utilities that help you solve your day-to-day problems.
If you really want to understand the subject, take overlapping courses from both specialties. You'll need to know how both communities think to do well in either.
I had to do this in math: to understand calculus, you needed both the practical eamples, taught only in the engineering course, and know how the theroms worked, taught only in the "pure" maths courses. So I took one and audited the other, and and aced them both after getting an F in the previous term (;-))
This worked for computer science and software engineering too, and in my current job consulting in IT, I use a lot of science...
davecb@spamcop.net
Is it just me or does this question (or a variant thereof) seem to appear at least every couple months?
"It takes considerable knowledge just to realize the extent of your own ignorance." - Thomas Sowell
Sorry about the AC, can't remember the last time I posted on /.
:)
Anyway, I did both IT and EE and it worked out great. I got a 2 year degree in CIS (Computer Information Systems) and went right on and completed a 4 year in Electrical Engineering. What has this done for me? Made me have a lot of opportunites and not be locked into one field. One day I'm writing C code and working on embedded projects and the next I'm setting up a Linux server and creating a MySQL database. Never boring and monotonous
Get a 4 year for sure. Don't do EE unless you like Math and/or pain as it has lots of both. Personally everyone I know looks much more highly on a guy who went through EE than a CS guy. All the EE guys who take CS classes can't believe how easy they are
Plus if you go EE you can do IT, you can be a code monkey (CS) and you can do EE stuff. Can't do that with a IT or CS degree.
Hey, you can't spell geek without EE man.
I'm a CS, so my opinion is probably biased. When people tell me they're in IT, that has the connotation that they're less skilled than me. I hear that and I picture them installing network cards, rebooting machines, updating antivirus software, and pulling network wire. As a CS, I know how to analyze programs for efficiency, do complex math, learn new languages quickly, etc. Because I'm a computer enthusiast I can do all of those IT things, but it's not really my job. It's like an automotive engineer - because I can create new cars from scratch, of course I can fix the basics. I definitely consider myself to have taken the harder path.
I'm not trying to rag on IT guys, of course. I appreciate all of the stuff they do. I've been in situations where I've had to do the network and server admin, and it kept me from being able to program. IT guys are welcome to the day-to-day issues of keeping things running - I'd much rather be doing the creative work.
But IT is more of implementation of systems while CS is coding. So if you want to build networks, be a sys-admin/net-admin/DB-admin go IT. If you want to write code go CS. Now some one should probably mention software engineering as well but I'm a little hazy myself on what they do. I assume more of a planning and management of software projects.
Oh and we have universitys here in the states too, its just a different classification of schools. Colleges are smaller, uiversitys are larger.
I would go for accounting and a minor in computers....
First, all anyone cares about 3+ years down the road is you have a degree in something more technical than basket weaving. I have worked with computers my entire career and have a technical degree but it is not Comp-Sci. When the new manager finds out what the degree is, I get no problems as it is a harder degree to get that Comp-Sci.
Second, by having a degree in something other than computers gives you a business advantage. Say you had accounting, then configuring SAP or some other ERP system and understanding a credit and debit, journal entries etc. will all be simple to you.
One good thing about college/universities is they teach you how to learn... using that you can self learn any I/T skill you will need. In fact, a C/S degree does not adequately prepare people technically anyway, and many with a C/S come into the work force thinking they are prepared when they are not. They soon realize that technical skills development is a life long endeavor in this I/T business.
The other advantage is if you don't like it you have a second career path... I/T is not for everyone. And if you have the smarts to be really good technically in I/T, getting a degree leading to a CA should not be hard at all.
Your a nerd! Study CS. It's harder but more rewarding.
At my company, we're actually starting to actively avoid hiring IT students because they don't have the propper background for half of the web development that we do (when it comes time to do Java, Python, and anything reasonably difficult Javascript type work). Most IT grads can't seem to pick those up.
The possible exception is if you dream of being an admin, and you can find a good IT - Server/Network Administration type courses. Of course, you could probably still take the CS courses and then take IT electives in that case.
I'm in the IT industry, and I have been for the past God-knows-how-many years.
I work with a bunch of excellent IT professionals, and many of them don't have any kind of technical degree. That being said, I think a strong foundation in computer science is very useful.
An understanding of how "computers work" and what is possible versus impractical or even impossible is, in the least, advantageous. It -is- useful to know how the guts of an operating system works, and why. It is good to know about the details of memory management, compilers, and how to design a correct algorithm and understand its efficiency.
But, of course, you could be successful without formal education in those areas.
In short, whatever you decide, just make sure you get a great education and that you get as much out of it as you can. And remember, if you didn't learn everything you wanted to while at university, you can always go back to school and learn about more stuff.
Do what you love to do. This is your one shot at life. For me, the choice was CS. I can't even imagine what an 'IT' degree is. CS will lay the ground work to create and understand any IT technology.
I would say your best bet is to go the computer science route. At least in the US, the "IT professional" major is Management and Information Systems, or MIS. This type of course mixes business classes along with some basic programming curriculum. It is usually the case that students who couldn't get through the CS program switch to MIS since it involves less math and theoretical thinking. (Not ragging on any MIS majors, this is just my observation).
In the end, most computer science majors will end up in the IT industry somewhere either as developers, networking people, or whatever. I think it's really beneficial to go through the traditional CS coursework and understand the theory and principles of the technology. You can always get internships or co-ops to learn the "practical IT" type of work.
I got nothin'
Americans use the words "university" AND "college". We know them both! Amazing, I know.
I would pick CS or even EE to start off with, if you have any ability to change later on. Why? Having switched from an IT-esque major (Management Information Systems) up to CS, it's a lot easier the other way around. CS requires, at least in my experience, real math and science courses that more than cover the weak requirements for graduating with a "lower" major, so if you start off there, you're covered no matter what and don't have to take calculus or physics again--whereas with lower majors, you more than likely will take the bullshit versions of these classes and have to retake the real versions of them later on.
College, and the assortment of majors within, are something of an intelligence test. A hard science, comp sci, or engineering degree demonstrates you're intelligent--an IT or business IS degree suggests, at best, that you preferred to party and didn't really give a shit about your education. (There is some value to a business degree, but it's almost always preferable to get an undergraduate degree in a legitimate area of study and, if necessary, an MBA later on.)
This advice, along with my personal experience, are admittedly US-centric. But, as a general rule, it's more personally satisfying and impressive to achieve a more difficult goal, rather than an easier goal. Most of the stuff I learned in my business degree I could have picked up in my spare time with little effort (and, in reality, often did; my attendance was atrocious during those years)--my EE, math, and CS classes were nothing of the sort and were a constantly rewarding challenge.
In Repressive Burma, it's not just your connection that dies. slashdot.org/comments.pl?sid=314547&cid=20819199
This is something that you are going to have to decide, you can't ask slashdot and get an easy answer that way. Generally speaking you are going to have the CS people telling you to take CS, and IT people telling you to take IT, which really isn't helpful. At the end of the day, you have to determine which road is the one you want to go down. If possible, you may want to take the first year without declaring a major and just explore the two options (plus anything else you think you may want to do, its perfectly possible you will decide IT isn't the path you want to go down at all, and there is nothing wrong with that).
BTW, we call them universities over here in the States as well.
Mathematics is made of 50 percent formulas, 50 percent proofs, and 50 percent imagination.
Where are you most comfortable—talking about things or doing them? If the former, go for CS. Otherwise, you are welcome to join the rest of us in the gritty real world.
Kidding aside, if you really do have a broad range of interests and want room to tinker and explore, you would probably find the narrowness of a CS curriculum stultifying. Tech will give you all the interesting and useful parts of CS and a rich gamut of other topics as well.
I'm a Programmer. That's one level above Software Engineer and one level below Engineer.
Most courses are far too academic and let's face it, behind the times, to be relevant for IT job-seeking. Stuff you learn in the first year of your course will either be mainstream or have sunk-without-trace by the time you graduate. Therefore only stuff you study in the final year will be relevant to employers.
Most IT jobs are sheer drudge - documentation, testing, meetings, debugging. You will soon realise this, once the novelty of being paid actual money wears off.
Therefore I'd suggest studying a course that will give you a "plan B" for a career if you decide IT's not for you.
politicians are like babies' nappies: they should both be changed regularly and for the same reasons
CS / CompE is nice because it gives you true flavor of computer science. It makes you understand the entire chain - How you write software, how it is compiled & Assembeled, What is the role of the OS, How it gets converted to machine code, How the processor runs this machine code etc etc.
Its more fun ! than to train to write 100 line scripts. Think about it. How much fun will it be to have a processor run off the OS you wrote this term. (Here at MIT, the have a course where they make you write one - it is 6.828. Check it out).
Manas
If you want to leave university (having spent an easy three years doing sod all) to join some faceless corporation's graduate training scheme, then do an IT degree. If you are actually interested in computers and want to work in a technical field (coding, system administration etc.), then a Computer Science / Software Engineering / Computer Systems Engineering degree is the way forward. Or at least that's how the dividing line was when I left uni in 2003.
Over the long term, a CS degree will serve you better than an IT certificate. If you want to be the guy designing new protocols or designing new computers, follow CS (or Electrical Engineering). If you want to be the guy configuring routers and swapping hard drives, reaching your maximum potential a few years out of school with no further advancement, go for IT.
IT guys can jump from job to job much easier, because IT jobs are almost McJobs at this point. But if you value having a longer career, stick with the more solid CS or EE degrees.
Whenever I'm working with people on complex projects, I can tell who took the time to complete an advanced degree, and who took the easy route with IT certificates. The people with more education will react differently when faced with an unknown, they can draw on a much broader base of knowledge picked up in Uni. IT guys who learned in an accelerated Vo-Tech school will hit the manuals hoping the manufacturer solved the problem for them and there is some hidden command to make things work.
If you have the marks to get into a good 4 or 5 year CS or EE program, jump at the opportunity. While in a longer program, you can always pick up a few IT certs during your internships or work experience programs the last two years of school. You'll then be just as employable out of Uni as the IT guys, but in the long run your background will take you much further.
the AC
Hemos is like...sci-fi fans;he thinks technology is cool, but he hasn't bothered to understand the science it's based on
How about this simple question: what do you like to do? Do you like programming/software development or system admin/management stuff? I am in IT but with a class computer science background. Which I find useful. I think IT is easier to "pick up" while class computer science is better learned in school. Most IT guys, from a programming perspective, are more hackers because they lack the computer science background. A good percentage would know a tree from a linked list if it hit them over the head. And that's not a good thing.
Sammy at IT / Personafile
The advice about taking lots of electives early is sound, but the European systems usually have a prescribed series of course with little ( CS > IT > Bus.Adm. It's a broad generalization to be sure, but it's also lodged firmly in the minds of employers, at least in the UK. Having said all that, I've studied all above except IT (as degree programs) and if I had the chance to do it over, I wouldn't. Instead I'd probably pick up some cisco certificates out of high school and screw the tuition.
Is this really on the top of Slashdot?
Everything that is on top of Slashdot is on top of Slashdot at one point or another.
Sigs are for Terrorists.
if algorithms make your heart beat faster, then go for cs.
if the thought of calculus makes you wince, go for IT.
regardless of the actual presence of math in either field, a CS curriculum will be much heavier on math *stuff*.
another option that is emerging in some colleges in the US are "media" programs that focus on content for the web. these are creative programs that focus on the web with opportunities to focus on design, graphics, writing, or A/V production for delivery to the web.
sarcasm:
-noun
1. harsh or bitter derision or irony.
Go with Computer Science. Theory trumps practical knowledge nearly every time. If you understand the fundamentals of computing, you can use that knowledge and apply it elsewhere with great success.
CS = software development = creation of value = creation of money
IT = operational lubricant = stop money waste = preservation of money
From a financial perspective, value creation trumps loss management. If you like both, go CS. If you really like IT, it is worth it to do what makes you happy.
----- Refactoring is the reason why man does not mistake himself for a god.
A lot of the responses touched on the differences. This is truly comparing apples and oranges. Studying CS prepares you to be a "Scientist", a problem solver and a creator. The person that said studying physics and math is a waste in comparison to studying business topics is mis-informed. Without studying physics and math how could we advance computing? I guess the designers at Intel and AMD don't study these fields. CS goes deep into how everything works from hardware to software to algorithms. With a CS degree the whole world of computing opens to you. You could go into video games, chip/hardware development, software development, software engineering, business startup, research...the list goes on and on. Just remember a CS degree requires a lot of discipline. I graduated with a fairly high GPA and it required a lot of late nights. On the average (including classes) I spent about 10 hours a day, every day (weekends included) studying computer science. Now that does not mean IT topics (business side) are not valuable to learn. But you could learn these topics in an MBA program. More than likely if you want to be successful in your career an advanced degree is required. I plan to get an MBA and finish my Masters in CS. Good luck.
"Is it just me or does this question (or a variant thereof) seem to appear at least every couple months?"
Maybe because the education system really doesn't have an outlet (a "try before you buy") so to speak.
I would also give the same advice to anyone going anywhere. Know thyself. Kind of hard to head off into the unknown without that first step.
Everyone here has mentioned the two obvious professions that one can go into with these two degress, IT Admin and Programmer from a CIS and CS degree respectively. But at my job we probably higher just as many, if not more, product testers than we do product developers. As a product tester you get to do a lot of system administration work setting up mock customer installations with every possible host/device configuration you can try and think of. You have access to the latest and coolest software that you'll anticipate a customer having, and you'll also have more opportunity to write automation code. Nothings worse than releasing a new build to test and not getting any idea back about basic functionality for a few days as people hand test components. Anyways, for something like product test you're probably better off with a CS or EE degree. You'll absolutely need either a EE or CS to do development, but anyone can go do IT with any of the three degrees.
Computer Information Science Technology!
I knew this chick who had CIST and well... she wasn't hot but she was pretty popular with some guys and stuff...
Everything you learn in an "IT" programme you can learn by getting a CS degree. The real, practical difference is that, with a CS degree, you'll know
why you are choosing certain solutions.
I've worked with a great deal of people whose education is some kind of IT programme and they are limited in their ability to understand the underlying
reasons behind what is happening with their systems. With a CS degree, you can also move between an software development career and an IT career
if you decide. Very few of the "IT" folks that I have known are capable of writing large scale, efficient code. There is a tremendous difference between writing
a shell script to automate an rsync process and writing an application designed to analyze several million tuples of data.
IT is so basic that it can easily self-taught with a little practice (do what is used at your school etc.) setup NIS, set up LDAP do all that stuff. On your own, it is cheaper and frankly, configuration is the realm of monkeys and employers know this. IT gets no respect because they do nothing which deserves respect. It is very simple stuff, even on large multiuser networks with 1000s of seats or more. As long as you don't waste your time with cheap garbage you'll do fine. That's the real secret.
Don't do CS either. Do something useful. Do you want to program? Are you sure? Go into engineering do something useful. You can pick up software engineering on your own just by reading books and papers.
Your university will not teach you properly or teach you relevant info, it is up to you to learn. Too many students fly through by the seat of the pants not doing anything else but just pseudo-learning from classes. Be proactive, learn on your own.
I studied CS about 20 years ago (started in 1988) in Utrecht, The Netherlands. I didn't know it at the time but apparently the CS curriculum in Utrecht was leaning strongly towards the theoretic knowledge rather then teaching practical experience. I found theoretical computer science to be very difficult and sometimes so abstract it was hard to see how it related to day-to-day computer use. Turing machines, Set theory, computer language paradigms, Algorithm Complexity theory, etc. Now, 20 years later, I notice that nearly the only relevant knowledge I have from my education is all that theoretical stuff. It still holds and can be applied to the algorithms I need to understand/create to do my job as a staff engineer. The practical classes at the time dealt with what then where modern computers and most of that knowledge is now dated and near obsolete.
:-)
All that said, my first advise is to do what you enjoy though
Lots of Idiotic Serparated Parenthesis.
Fight Spammers!
I don't know if this really says anything relevant, but during my college career whenever I would tell an IS kid I was in CS they would say the same thing: "Yea, I was going to do CS but I didn't think I could handle the math." I received that response at least 20 times.
The way I figured out what I wanted to do was to actually take a year off after my freshman year of college (majoring in Chemistry) and I kind of fell into a job as a programmer. I had been doing it as a hobby since the age of 10 but had never really considered doing it for a living until I fell into that job. But that's when I decided that's what I wanted to do. I never finished my degree. I did go back, but ended up dropping out again several years later. And now, here I am 15 years later and I'm back in school studying Chemistry and Biochemistry and planning on med school. So, just remember, it's never too late to change careers!
This fellow has the right idea.
It's well worth it to pursue two degrees at the same time. It takes more time, obviously, but you shouldn't be in such a hurry to graduate anyway. Most universities in the USA allow this. However, I am not certain if it is possible overseas.
You could take both CS and IT, CS and EE, or EE and IT. You would either graduate with the two degrees and have many options for your career or sample both to discover which degree you prefer.
Translating this to CS/IT: a programmer can easily become a sys-admin, but I don't see that happen so quickly the other way around. BTW, I'm saying all this with 25 years experience behind the belt. I've even been a short while on the other side of the fence, teaching CS/IT at the university.
The other part --aim high-- is simple. Which of your two options would be the biggest challenge to complete. Pick that one!! You can always downgrade, it's much tougher to upgrade.
Browsers shouldn't have a back button!! It's all about going forward...
Really, it's your choice. The grass is always greener on the other side of the hill. When you regret something that you did, at least it's better that you made the decision yourself rather than acted upon others' ideas.
My 2 cents.
Another point is free time. Even though you'd be going for two degrees - even hard, technical degrees - don't worry that you'll do nothing but work. You'll have time to do other things and enjoy yourself - it is university, after all. I got an engineering degree and a language degree, and also two minor concentrations, during my five years as an undergraduate and I still had a swell time to boot. Graduate school, on the other hand, doesn't leave me much free time :-)
Of the three really good young people, all with robotics and control experience, who worked on our DARPA Grand Challenge robot vehicle, two are now in financial engineering. One is running a hedge fund out of Santa Fe that's driven by program trading. One is in the Bahamas with an offshore fund. The third is running an iPhone group at Apple.
But these are top people. If you can handle the math, get an undergrad CS degree, then an MBA. If you're further down the food chain, an IT career is an option.
I see some people saying they went down the MIS route after deciding the Science degree was not as valuable in the workforce. What they should be admitting is it was not worth how much more difficult it is for them to achieve the science degree. We do Software development, and while there are certainly exceptions (some outstanding) most of the competent software engineers are very smart guys who have a strong science and mathematics background from school. I don't think there is anything wrong with the idea of people pursuing IT type degrees, but its like comparing apples and oranges when it comes to the folks with a science degree. Its unfortunate that I always see ignorant people speaking as if the two are interchangeable, which may be possible in one direction (CS doing IT work), but not the other way around to the same level of sophistication. I often see folks coming from a CIS degree or whatever attempt programming. While some can "get the job done", I feel they are limiting themselves by not having enough of science/mathematics background when it comes to developing the most elegant engineering solutions. Its as if by coding they feel they just "jump ahead" of others and yet be just as competant. The argument is ridiculous. I feel they are cheating themselves in this regard. I see the exceptions once in a while, but those guys were pretty much eating and breathing advanced computer science or mathematics before they even hit high school, out of self interest in these subjects, thus making the college degree that they decided to get (or not get) less important. Computers are a popular field now and I have seen in the last 25 years or so a steady and increasing number of folks who know less and less about the most technical concepts of computers (especially in the United States, G*d save us) enter the field. These folks were fewer in number when the field did not pay as well or have so many opportunities for folks without strong science/mathematics backgrounds. This is OK, IMHO, the field is better off with more diverse backgrounds. I think the question the original poster asked is a little strange. You should ask yourself what are your abilities and what part of using computers do you enjoy most and how hard you want to work at being the best at that you can be. You may find you want to be the best sys admin in the world, just dont do it because you want to get into computers with the least amount of work to "get the job done".
I take grave offense to this. Sure, if you go to some no-named school that only has a bachelors in Business Administration, or get a General Business degree, sure. But if you go to a good school, such as the University of Minnesota, Wisconsin, Michigan, etc., they all have very competitive Business Schools. Myself, I go to Madison, where getting into the university isn't necessarily the easiest thing to do (didn't have any problems with that), and have been in the Business School for the past year, taken courses in it for the past year and a half. The professors I've studied under are simply brilliant, and expect quite a bit more than mediocrity. I'm on a fast-track approach for double-majoring in Finance and Economics, but have also taken more than introductory courses in Accounting, which require you to think very critically. If you decide to major in Operations and Technology Management, then you will undoubtedly have to have strong mathematical skills. Actuarial Science major? You'd better believe those people are smart and willing to work hard. We also have a very competitive Accounting program, and allow some (re: not very many) Accounting students to earn both a BA and a MACC, as well as a very beneficial internship, in the span of 5 years. In addition, we also have the one of, if not the, most prestigious Real Estate programs. And for Finance, Real Estate, and OTM/OIM, all benefit dramatically from having a good foundation (better than one introductory Micro and one introductory Macro) in Economics. Also, Finance, Real Estate, OTM/OIM, and Actuarial Science all require high degrees of mathematical competency. Oh, and planning on going on to get a Masters or PhD in any of those? You'd better be damn near a Mathematics major's level of math skills. So while we might actually have some social skills and social lives, we are also very dedicated to our educations.
There is a significant difference in the content and structure of the courses arising from this. A US degree intends to provide a general education focussing in a specific area. A UK degree aims to provide a specialised education. In the US, a student is offered a place at a university (typically sponsored by a specific department) and can graduate with any degree they meet the requirements for. In the UK, a candidate is offered a place on a specific course. It's often possible to transfer to other courses taught by the same department (between masters and bachelors degrees, for example, since these often have the first year or two in common), but it is generally very hard to transfer between unrelated degrees (it basically involves dropping out and starting again).
With this clarified, I'd offer the following advice:
An IT degree is likely to be a vocational course, while a CompSci degree will be an academic degree. This doesn't always hold, however. A CompSci degree from a former polytechnic is likely to be a more vocational course trying to pretend it's CompSci, and is also likely to be less valuable than a real vocational course from the same university. If you want a vocational qualification, then go for IT, but get it from a university with a good reputation for vocational degrees; irrespective of what you do, a good vocational degree is likely to be more valuable than a poor academic one. Generally academic degrees give you more flexibility, while vocational ones will give you an advantage getting your first job in the field. If you are completely sure you want to be a programmer, then you should probably look for a Software Engineering degree, rather than IT. If you want a more SysAdmin type job then go for IT. If you aren't completely sure what you want (and, remember, you have to be sure you won't change your mind in three years), then go for CompSci, and keep your options more open.
I am TheRaven on Soylent News
If I were in your position I'd ask more questions about your options. What kind of students do they get? What kind of jobs do those students get? I'm an IT manager in a university. Our university has a small "IT" program in the communications school. Based on some postings here you'd think it would be populated by wash-outs. But the students we've had from it have been really sharp. We hired one of them. He's not a hard-core developer (though he has the skills to be one if he wanted to), but rather someone who bridges the gap between technology and understanding user requirements. And he's really good at it.
Furthermore, CS and IT aren't the only options. You could also consider math or some discipline in which you're interested, where computers are used.
Maybe I'm unusual, but when I evaluate prospective employees, I look for evidence that they have relevant skills. Programming is something that you can (and often do) learn outside of class. I'm more interested to see what kinds of programs you've written and what you know about development than what your major was. However I would also give you credit for having studied something challenging, preferably something that would be useful for your career. Computer science is certainly a good possibility, but so are a number of other fields.
I'm going to offer a slightly different angle from my experience.
hard science, comp sci, or engineering degree demonstrates you're intelligent--an IT or business IS degree suggests, at best, that you preferred to party and didn't really give a shit about your education. (There is some value to a business degree, but it's almost always preferable to get an undergraduate degree in a legitimate area of study and, if necessary, an MBA later on.)
True, but there is a hitch. In my case, I took the most challenging program I could find that interested me. And it was challenging and worthwhile, the one little problem was that as a result of _really_ challenging myself: I ended up with slightly lower grades than are ideal to get into an MBA, LLB or whatever other program you want. My grades weren't low, they were just average. Not something that grad-schools want.
Therefore, if you are smart and work hard (have taken IB or Advanced Placement in high school and did well) and have the ability to take a challenging program and truly excel -- take the harder program.
If you are of more average smarts and work hard, you can still take the harder program, but be prepared for average grades that MBA programs will turn their collective noses at.
Ironically, completing a hard/challenging degree with average grades may _not_ be the best thing if you want 'future expansion' capability. Maybe take a slightly easier program and excel at it (I know of people who did exactly this and they are now in law school -- whereas people with true difficult bachelor degrees couldn't get it).
Not fair, but thats how it works.
That's a thoughtful post, but the idea in it all that I like best is this: Don't make up your mind so easily.
Unless you're stubbornly sticking to a single path, going through college will probably change your view of where you'd like to be in 10 years. And then after you get out of college, setting out in the real world may change that view again. Working for 10 years on a given career path might make you want to change paths, or even change careers altogether. Things change more often than young people imagine. The life expectancy is more than 80 years these days, and you have no idea what mutations your life will undergo in that amount of time. Certainly, whatever path you pick for the time being, it'd be best to work your ass off and try to excel. You should work at it as though it might be your permanent path, but it may not be.
I've taken a bit of a strange path myself. I've been fixing computers for money since I was 10 and holding down IT jobs since I was 16. I started out a Computer Science major, hated it, and switched over to being a Philosophy major (of all things) with a minor in Literature. After college, I had a brief stint as a professional writer of sorts, hated it, and went back to fixing computers. In the years since, I've worked my way up from being a helpdesk tech to being an executive.
Honestly, I don't think the most important thing you learn in college is the subject matter of your particular major. The *most* important thing is learning how to work and to think in some way that works for you. You have to learn to juggle a lot of work, how to deal with people, and how to communicate your ideas. You learn how to make friends and how to cope with unexpected situations.
Even with subject matters as technical as computer science and information technology, the direct applicability of what you've been taught in classes will be limited. In real life situations, real life experience will serve you well. In my years of working in IT, looking at formal education and certifications never seemed to be a good sign of whether that person would be able to fix problems or to keep things running well. Surprisingly, I've found my philosophy studies have helped me get jobs and helped me do well in the industry.
I'm weary of giving advice and I'm certainly not advising that people take up philosophy as a means to getting a computer job. I guess I'm just saying that your life probably won't take a straight line, and you'll just have to find your own path. There is no "right answer".
eldavojohn has pretty much nailed it. A long time ago I signed up for a three-year CS programme at Uni as an ancillary field of study (not a 'major'). Ten months later, the department (in their superior wisdom) issued a fiat that all the non-four-year CS track students would study IT instead. Since I needed to stay at that Uni for my primary field of study, leaving in a huff was not an option. Nonetheless, for me the change was excruciatingly frustrating and I have yet to forgive the fleshy-headed mutants who decided they knew what I wanted better than I. There were others in my undergrad CS^H^HIT track who really enjoyed the change. A substantive subset of the shitty coders suddenly shone because they didn't have to think like machines, or spend hours hunting down some logical flaw in a data structure or an algorithm. Their intuitive/natural ability to solve NP-complete problems with blinding flashes of insight came to the fore; they got good grades, and they enjoyed the programme, and they graduated with skills they were likely to use because They didn't care that most of them were shitty coders. It was enough that by the end of the programme they could usually tell the difference between good and bad coders. Meanwhile, those of us who had signed up so we could learn to code realised that if we chose to instruct machines for a living we would always work for these newly-discovered betters. By then, as you might be able to imagine, we despised them. Not one of us took a job programming computers. The most interesting thing about this rambling story is that many of the shitty coders were also bad at IT, and some of the really good coders wound up being good at IT too (although admittedly none of the good coders enjoyed IT studies or were happy with the change). Bottom line seems to be that experimentation in your first year is a good thing. Also, make sure you aren't locking yourself into something longer than a semester that can change after you register for it.
IT people who don't understand CS tend to make bad decisions. Also beware of thinking you don't need to learn IT after you know CS - that leads to the stereotype of the CS geek who lives in his little theory world which can't actually be implemented. But trying to do IT without knowing how any of the things you're working with actually works is a recipe for disaster. If you think of IT as 'solving business problems by applying CS' you'll do OK.
My God, it's Full of Source!
OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
Double major.
Your choice of curriculum in higher education is not relevant to your career path, at least not for people in IT. The field is full of self-taught and people with degree in unrelated disciplines (math and history being prevalant in my circle). Your degree may help with the first job or two, but that's it. After that, it's all about your network and your soft skills: leadership, people skill, reliability, etc.
But don't despair just yet. University is actually of great help with starting your network, and provide plenty of opportunities to improve the soft skills necessary to succeed in the job market. So, do go get a degree. Any degree will do, just choose a discipline that interest you and will keep you motivated.
If I where 18 again, I would do philosophy. And I would probably end up in the same place, only a bit wiser.
:wq
Choose CS or IT should not be an Ask Slashdot, it should be your own decision. What do you WANT to be doing ? Do you want to do cerebral research stuff, or would you be happier fixing computers and working with users ? What kind of demand is there in your area, and would you be willing to relocate for a true CS position ?
IT is cheap and plentiful, and you can find work in a heartbeat (as long as you're not too picky). CS is a whole different ballgame, it's somewhat ethereal and from a retarded middle manager's perspective, it doesn't directly translate into profits. On the other hand, there are quite a few retarded managers who demand CS qualifications for glorified IT work (particularly government and other big-money-small-brain entities).
You might as well have asked Vi vs Emacs.... you'd get the same kind of fuzzy, emotional, largely useless response.
-Billco, Fnarg.com
"Information technology" is a lot like stationary engineering as a career. Once upon a time, around 1900, stationary engineering was the hot field to get into. People were needed to run the high technology that made the wheels of the world go around - steam engines, generating plants, heavy industrial machinery. It was a new field - vast amounts of machinery were being built and installed, the technology was advancing rapidly, and the world was changing drastically as, for the first time in history, power was being made and distributed in quantity.
A century later, there are about 120,000 stationary engineers in the US. It's a union job, and a good one. Regular hours, OK working conditions, some shift work. It's a routine job, but one that needs to be done. That's where "information technology" is going.
Information technology was once a showpiece operation. Company computers were in glass-walled rooms and people would look in on the shiny machinery. Now they're racks in dark basements and warehouses. The same thing happened to stationary engineering. Steam engines and generating stations were once showpieces. Today, facilities like that are in bleak locations. Visited a boiler room lately?
Being a competitive business school just means it's better than its business-school peers, not that the program is actually conceptually difficult. Finance does not involve mathematics, I'm afraid- just a lot of arithmetic. Actuaries are probably the only program you mentioned that would use much in the way of anything beyond algebra, since they're primarily statisticians.
Uh, "if it looks roughly mouse-shaped according to my infra-red sensitive pit, eat it"? --Chris Burke 09-08-10
There are a lot of different roles in the "IT industry". Since you don't specify what exactly you think you'd like to do, you're going to get a lot of responses that are all over the place.
For getting your first IT job, the nature of your degree doesn't matter a whole lot. Your knowledge, skills and interests do. For getting your second job, your degree matters even less, and your resume and demonstrable skills matter even more.
Choose a degree that is going to give you the knowledge you want for the field you want to enter. Most of the smartest people that I work with, programmers, engineers, system administrators, do not even have a computer- or engineering-related degree. They have degrees in physics, music and meteorology. But these are the guys that have a passion for the type of work they do, so they came into this with a rich skill set and a desire to learn more.
If you don't have this skill set and don't think it's likely you'll pick it up by the time you're ready for a job, I would recommend sticking to an IT-related degree, only because it's going to force you to take the right classes to build that knowledge up. If you're more interested in doing things like management, or the business side, take lots of business classes. If you're more interested in programming and practical implementation (appropriate for most corporate software development), I would encourage engineering classes/degrees over science ones.
I'm afraid I can't give you a specific degree recommendation because your requirements aren't specific enough. But I can say that the degree itself matters less than you might think in IT. (Now, if you were going into business/management, the degree matters a lot more. It's a cultural thing.)
Does your university give you access to a counselor? Make an appointment to see him or her and ask the same question. You might even approach the problem by coming up with a list of classes that you'd like to take, and see what degree naturally lines up with those classes.
Also, if you intend to work IT in a corporate setting, I would definitely pick up some business/finance and maybe even some management classes along the way. Sometimes the best technical solution is not the best solution for the business, and it's irritating to deal with really smart technical people that are really dumb from a finance perspective and don't understand that ("Sunk cost? What's that?").
There is no question in my mind. I had to make a similar choice and if I had to do it all over again I'd choose Computer Science. I'm currently a Sys Admin (heavy in the IT arena, not so much a coder) and probably will remain so for my career. But from my experience it's a LOT easier to be trained as a Computer Scientist and apply all that powerful knowledge to very practical problems. I would imagine it's MUCH harder to be trained in practical IT stuff then attempt to be a Computer Scientist after the fact. In fact I've observed a few folks who fall into this category, and they just don't have the "depth" of knowledge that Computer Science folks have. Unless you know you just want to be an "IT Guy", declare Computer Science.
Are you British? If so, go with CS. If you go to a good university it will allow to work in any number of areas were numeracy and analytical thinking is valued, e.g. banking, consultancy, etc etc as well as programming. (In the UK what you study at university is not hugely important for your career as long as it is something that teaches you to think)
Don't be so quick to assume you NEED to go to uni to get a decent job. I LOVE the look on peoples faces when (after learning im on $150K @ 23 y/old) they ask "where did you goto uni?" and i say "i didnt even finish H/School".
What is...?
do math or physics with a minor in either CS or IT.
you can pick up whatever computer skills (and theory) you need in the marketplace,
but the harder sciences really benefit from being learned at school.
I went in for Computer Science when I should have gone in for Info Tech. One of the biggest mistakes of my life. I did graduate but the whole experience was one of misery and unhappiness. Naturally, my grades were too weak to continue on for a Masters/Ph.D (which is required for CS jobs) and so I ended up in a career in Info Tech anyway. I could have saved myself much grief by skipping university entirely and just taking a 6 month course from a "COBOL-type" "school".
You have to take a good look at yourself and ask if you have what it takes to be a Computer Scientist. If you honestly don't, then go for Info Tech although be aware that this has its challenges too. On the whole, not as difficult as CS, IMHO.
Cheap shot time: I've run into several computer scientists who couldn't program their way out of a paper bag! Their real expertise is in sucking up to CS profs long enough to get a CS degree themselves!!!
Depends on what you like doing for the next 5 years or so AFTER school.
for IT, do you like:
1. Pulling Cable?
2. Reinstalling Windows?
3. Rebotting Systems at 3AM?
4. Lugging desktops / laptops from one end of the building to the other?
5. Earning next to minimum wage?
For CS, do you like:
1. Programming in useless languages?
2. Developing useless web applications, (Crapplets) in Java?
3. Jumping from one bandwagon to the next?
4. Earning slightly more than the IT option
Pretty much, you have to find out what drives you, and do what you like. DON'T try and go into IT 'for the money', the IT bubble has long since Burst, ever since people have realized the the paper used to print out MCSE's is the same paper used for McDonalds 'trainee' hats.
Same with Computer Science. If you possibly want to be a 'real engineer' take a real Software Engineering (B.Eng) course, and not some crap
that just teaches java development.
"Do what you love to do. "
And if he wants to write software for Microsoft? How does slashdot feel about that? Would it meet with their approval? How about the next DRM scheme?
I've never been to Uni, so I'm not exactly in a position to say what the relative merits of one course over the other is. What I will say, from the point of view of someone who reads job descriptions a fair amount, is that most recruiters seem to list a good CS degree as requirement for most programming roles. Whether that's because it's what they actually want, or because that's what they think they want, I couldn't say for certain.
From talking to a friend who works in management, and with various other friends with CS and Software Engineering backgrounds, we've come to the conclusion that whilst companies habitually ask for Computer Science degrees, it's not usually what they want or need.
So basically figure out what it is you actually want to do, then find out what qualifications companies are asking for from people who want to fill those kinds of role.
Yeah, I had a sig once; I got bored of it.
I never knew a college was a university... Boston U, Northeastern U, Harvard U, Berkeley U -- I just thought those schools were for smart people. In all honesty, I would go the route of CS. I'm a UNIX admin / Sys admin, and the information that I've used in my day-to-day work generally is helped along by the education that I received from my CS degree. I'm constantly writing scripts and even small C/Java programs to automate daily tasks. Right now I'm working on my masters degree, and I am currently taking an IT course on Systems Programming -- and I have to say; the students in this class who are IT students are NOT the brightest bulbs. So, if you'd like a challenge, go CS.
I started out as a Computer Engineer. I lost interest due to the lack of people based jobs. I'm a people person and I want a job out of a cubicle. I changed my major to Information Sciences and Technology at Penn State. Its basically similar to IT with a mix of business thrown in. I haven't graduated yet and I'm currently working at an internship as Project Controls assistant, but I have been assisting the IT department as well. I picked up a business minor and am contemplating Grad school as well (for business). I'm planning on working for a consulting firm. It's funny how things change so much in just a few years... I'm sure whatever you choose may change once or twice before you settle down.
I will bend like a reed in the wind.
Information Science (IS) is not the same as Information Technology (IT). IS is an actual scientific, theoretical discipline, somewhat related to CS, whereas IT is the business of setting up and administering computers, networks, etc. Do not make the mistake of equating the two.
More specifically, look at the N-S axis of your Myers Briggs evaluation. If you're more N than S, choose computer science or engineering. If you're more S, choose IT or MIS.
The reason this falls along the "iNtuiting" vs "Sensing" axis is very simple and obvious when you think about it from the perspective of CS being about concepts and IT being about practical application.
Keep in mind that N's make up about 25% of the general population, but here at Slashdot N's are the vast majority. That's why nearly everyone is telling you to choose CS. However, there is no "right answer" when it comes to N vs S. It's something you have to decide for yourself.
Folks who prefer N (myself included) will tell you that EE > CS > IT > MIS. However, folks who prefer S (75% of the general population) will prefer the opposite order.
p.s. The fact that you even have to ask, and the way you asked both tell me that you will probably struggle if you choose CS; therefore, I would recommend IT for you.
The above is a little inflammatory, but essentially correct. There is no job you could get as a IT major that you could not get as a CS major. There are many, many jobs you could get as a CS major that you would _not_ get as an IT major. Additionally, you may find yourself _interested_ in the science-y aspects of CS, and perhaps even go on to graduate school -- an avenue which would not only be blocked off as an IT major, but of whose existence you would not even be aware.
Choose scientist over technician.
Ratio of replies to old sig content : replies to actual post content > 0.5. Sig changed.
I have BS and MS degrees in CS, but I've worked some jobs that could be described as IT-ish. One nice thing about CS degrees is that you can do CS or IT with it, and if the latter, you'll tend to come in with a presumption of extra knowledge (kind of like being a pilot in the Air Force makes you an officer automatically). If you get a degree called IT, on the other hand, it might be slightly more difficult to get into high-level programming/software engineering jobs. A degree with the words "Information Technology" may be associated with the local "HiTech Institute" in the minds of many. None of this really matters if you have skill, but it'll make some difference in getting you in the door on your first job.
It's more important to choose something you like doing most days and to kick some ass on your first real job than which degree you choose.
"Not an actor, but he plays one on TV."
I've got... uhm... 19 years working in the industry by now, and I've been both a lead programmer and an IT director, so I say all of this with some assurance:
A degree in IT requires the study of how to use and apply computers. A degree in CS requires the study of how to program computers.
If you get a degree in IT, you'll be able to get jobs in IT. If you get a degree in CS, you'll be able to get jobs in CS or IT. So, that CS degree gives you a lot more job options. Further, a lot of people in IT burn out on it, so if you got a degree in IT, you could end up stuck doing a job you hate, while if you get a degree in CS, you can transition back and forth between IT and programming jobs as you like.
To clarify further, while a programming manager won't hire an IT person as a programmer at any level (they didn't study it, after all, so theyd have to learn years of programming experience on the job), an IT director will generally hire a CS person as an entry level IT person, and then once you have that job experience it's easy to move up the IT ladder as you change jobs. (I went directly from lowly IT grunt in a larger company to IT director in a smaller one.) You really can learn how IT is done on the job, and since there are few barriers to moving up in the field (with so many burnouts there isn't as much experienced competition as you'd expect) it's much better to have that CS degree and then if you want to do IT, work your way up in it.
Computing is a vast subject. CS and IT overlap a lot. You need to be good at programming for either branch. From experience with studying computing at university, I'd strongly advise you to be self-taught in programming before you start at Uni. Make sure you have a fluent command of C++ and Java at the very least plus, Python, PHP and VB if possible. Universities are notoriously EXTREMELY in-adept at teaching programming as a subject. You will face major difficulties if your programming is weak and will not be able to complete the necessary assignments as a computing undergrad (sophomore). So get those programming books out now and get programming! It's a practical subject rather than a theoretical one - more practice the better. Don't depend on Uni lectures to get you over the hurdle of learning to program. Most non self-taught programmers fail the second semester of the first year!
I've 20+ years in IT and a CS degree.
Take whatever degree gives you the most options. Can you do a Phd in IT, I doubt it.
My advice take the CS as it opens doors to other fields. IT is a pretty hard way to make a steady living, it's all boom and bust. Can be good fun if you have some savings but hell if you acquire any debt. You need to be able to quit when you want to survive.
I am a CIO at a $1B company. I have a MS in Computer Science. My technical skills hurt me at times. Go get a business degree if you want to get the top IT job. At the top levels of IT it is more critical that you can communicate with the other lines of business than you understand technology. The technology will change every 2-5 years during your career. The fundamental rules of business will last your entire career. If you have the time, get a technical undergrad to get the foundations in math and science and then an MBA.
Instead I will make a few really obvious points about which university to choose.
Obviously you will try to get into the best university your test scores allow. If you are e.g. in a position to go to MIT or Stanford or one of the other top universities ... that will be more important in your career than which exact curriculum you take. But you knew that already.
However ... in addition to just plopping for the best school you can get into, try to think of how good you are likely to be at your studies. I know it's really hard to say anything sensible about how good you're likely to be at something you've never tried, but do try to bracket yourself {you might use your SAT test scores as an indication}: way way above average, above average to average, average to below average. Be honest with yourself. Then pick a university that will challenge you {if you're not challenged by the course, you're wasting your time}, but won't swamp you {fail the course or pass with poor results and you won't have used your time effectively either}. Remember: not everyone can keep up with the pace at MIT.
In addition, as you indicate, you aim at a position in Industry, not Academia, and probably not Research either, so your ultimate success will be determined by many more personal characteristics than your academic abilities. So don't over-emphasise academic achievements (including curriculum} either.
So here are my suggestions:
{1} try not to aim at a university at the very top of your abilities, but aim just a trifle lower and then try to get lots of A grades and be sure to use the "energy difference" to do something during your study where you can develop those other aspects of yourself. Develop a working rhythm that will allow you to be productive over longer periods yet not be stressed-out or grumpy. Compare the best of abilities with those around you, see where you stand, and plan accordingly. Get to know yourself.
{2}In addition, do something that can show a prospective personnel manager or a project lead that you have initiative and did a good job at something that resembles something they are likely to need.
Summer internships for example. Volunteer work. Work at your prof's company if he/she has one. A clear and visible contribution to an Open Source project perhaps {Google's summer if you are very good at software design and implementation}. Perhaps a summer internship aimed at helping introducing a new software package in a smallish firm near where you live. A term placement in a management consulting firm, a manufacturer or a software house. That will also allow *you* to see how you'd like working there. Perhaps you'll love it, perhaps you'll be disgusted, but you'll know. And above all, make sure you pick something that will get you excited and hence something you are likely to do well in.
{3} Bear in mind that you can do your Bsc and Msc at different universities, and at first try to pick one that's not in the absolute top, but will let you transfer with your credits intact to one of the top schools in case you turn out to be a real star. You never know ...
{4} Last but not least: try to postpone committing yourself at this stage. See how much CS and IT have in common during the first year. Good universities will typically be willing to tell you precisely how much first year CS and IT have in common, and what you will need to do to be allowed to switch after the first year. If you can swing it, and if the university allows it, take those courses that will allow you to do an Msc in either direction.
if you picked optimization of a parser you should go into CS, otherwise go with IT. in the end though, I think (i'm a CS major) that CS leaves you with infinitely more options when you graduate. in IT you learn how to use the tools, in CS you learn how to make them, and use them if you need.
I went to Madison too, and the IS classes and degree is a joke compared with EE, CS, or CMPE. You're correct that the Actuarial Science majors need exceptional skills but they're the exception, not the rule in the business school.
Having a standard CS or IT degree means that your degree simply serves as a checkmark when someone is reviewing your resume (and can even raise warning signs depending on where it comes from). I would recommend taking an alternative Computer Science degree - a combined degree in area of interest, or a CS specialization (AI, Software Engineering, etc.).
Probably the strongest CS specialization available, however, is a Human Computer Interaction/Human Factors/Interface Design degree. A number of Canadian Universities full degree programs in this area, and they tend to have a very small number of people taking them.
There's a lot of advantages to these programs - firstly, being small, there's alot of opportunity for interacting with the professors that run the graduate departments in these areas, which helps when you go to do an independant study course or graduate work in the future. Secondly, an interface design background is invaluable when working in almost any modern computing job - at the very least, your work will show better than most everyone elses; you may be asked to do higher level interaction design, or even become a multi-group consultant on all interface questions. There's also a good opportunity to become a consultant in this are at sometime in the future, as it is still, suprisingly, a rare specialization.
Disclaimer: I am prejudiced. I don't have a CS or IT degree, I am a scientist by training. And if I look at the fate of most people with IT degrees in our organization, I can only have pity on them.
If you want to have a real career, then by all means retain your broad range of interests. "Dabbling" is okay, but perhaps you want to specialize a bit -- to consider for a moment to what field you would want to apply these computing skills. If you would enjoy writing financial software, you'll better know something about finance. If you want to do computer graphics, some arts and design classes might be in order. If you think scientific software is your niche, then don't forget to study some science. Studying some science, mostly mathematics and physics, is a good idea in any case.
You see, "pure IT" people are minions. Pawns. Gun-fodder. If you don't understand what a piece of hardware or software is for, nobody of sound mind is going to entrust you with its design. They'll give you a clear specification and a set of policies to implement, and tell you to get on with it. Unless you are capable of grasping the scope and nature of the business you need to support, and do it really quickly (for as often as not these are consultancy jobs), you won't get much further than that -- and it is not a particularly rewarding or pleasant job. 99.9% of it is pure routine. If you have a broad range of interests and skills, then by all means avoid that fate.
My advice, for what it is worth: If you have the required energy and intelligence, then either choose CS (and don't forget to develop some actual programming skills while you are doing that), or opt for some science or engineering degree that includes a strong informatics course. Avoid pure IT.
CS probably still offers a good career. Somebody who is looking for a good programmer might equally well (or perhaps even better) hire an engineer, a physicist or a mathematician instead of someone with an IT degree, but so far few people without formal CS training can match their particular set and level of skills.
I studied both. When I first started I wanted to be a programmer. As time went on I realized pure programming isn't for me. I lose my motivation on large projects and stop wanting to build them.
I like solving interesting problems and prefer to leave the grunt programming to someone else. This is why I work more in IT now than in programming. I have a lot more variety day to day. I still get to help solve/program interesting problems but it's not my life.
Some of the things I get to do:
- Oracle DB Administration
- Planning Linux migrations/installations
- Windows Server Admin/Migrations
- High availability clusters
- Java/VB/PHP programming
- Scripting
- Routing/Networking
I'm no longer stuck going from one big project to another day after day. I can switch my concentration from area to area as I get bored or as projects dictate.
You're young. You need time to see what fits for you. Try both.
Computing in general is a fairly broad field. Off the top of my head, I can think of:
If you know what interests you, go for a university which has a good course which is relevant to that interest. But seeing as you asked
In which case, probably the best thing you can do is go somewhere which has a reasonably strong computer science department and a wide range of courses/modules. That way, you'll get a good grounding in the basics and once you've got a better idea of what you want to do, you can tailor the course to better suit your tastes. Also, if you're in the UK, think seriously about doing a sandwich course. The year in industry is generally paid, so it shouldn't substantially increase your overdraft and you'll get some very useful real world experience and skills which will help you stand out from all the other graduates who will be competing with you for work when you get out of uni. Students who do well in their sandwich year are sometimes invited to return to a permanent job after they graduate - which saves a lot of job-hunting hassle.
lololololololololololololololololololololololololo lololololol
you're a business major.
Do what works best for you. Due to personal reasons my performance was limited in highschool, severely damaging my grades. I got into a local college's IT program (before even taking the SAT mind you) and after proving myself over the first year, I intend to make the jump to their software engineering (CS) program. The great thing about the two programs here is that the first year of each is pretty much the same.
It may be harder to land that killer job at your dream company right out of school, but if you're like most people, you'll grow and change over the years, and you'll look back and think to yourself that you're so glad you didn't get that job, or even better, how funny it is that you're now running the company that didn't take you as an entry level employee.
Liberal arts are severely underappreciated in this world. The more bright, interesting people who refuse to over-focus too early in their careers, the better the world will be; please do your part.
So study your technology. But this is an undergraduate degree; treat it like a beginning, not an end. The race is a long one, and you really don't need to be going full speed out of the gate.
The CB App. What's your 20?
I have a degree in MIS and am currently a Java developer/consultant. A few months ago I had to TRAIN new hires with MASTERS in CS. Basically it doesn't matter what you choose, if you are built to be successful in the industry you will be successful. Do a quick look at job requirements out there , most of them ask for CS or "other related majors" aka MIS. In my experience neither major fully prepares recent grads for REAL WORLD work anyway. Most universitys are a few yrs behind the current trends in the market anyway. When I was in school they taught me C, C++ , Java,SQL and a little .Net. No J2EE, no AJAX, very little JDBC,etc. The CS courses were similar. You will be continuely teaching yourself post graduation either way, so I'd go with the major that makes you the most marketable which imo is MIS. With outsourcing and onshoring the way it is now days don't be surprised if you have a CS degree and still get overlooked for Indians with a cert or even worse a degree from one of the indian schools. With my MIS degree a routinely get offered management type jobs to manage Indian resources. I still code, I still learn new technology, all that nice stuff. IMO if you wanna learn theory go get a library card and join a scientific list serve and you should be ok. MIS will teach you how to communicate with is becoming increasing desirable. Developers are a dime a dozen now days, the developers who get the big bucks are the guys who can lead a project, lead a meeting, and be a liaison between the IT department and upper management.
...then you don't belong in this industry.
You're using her as bait, Master!
Make sure that you have a strong business background. Otherwise you wont be seen as valuable and will be the first to have your butt shipped off to India.
It is true that alot of jobs from HR require a cs degree but alot have most of their developers in India who have no sense of business.
Also many Information tech programs with a business twist teach you object oriented design and principles. This is very important and not taught in cs programs where the focus is unpractical calculus programs.
http://saveie6.com/
"Give a man a fish and he will eat for a day. Teach him how to fish and he will eat for a lifetime." Chinese Proverb IT Degree = ~Like being given a fishing rod that only works in a few ponds CS Degree = ~Like learning to fish, make fishing tools, find new lakes with fish, make lakes with fish, etc....
Out of curiousity, what makes you decide that the submitter is British, and not Candian, Indian, or some other nationality of European?
I Browse at +4 Flamebait
Open Source Sysadmin
As an American I am often confused when I hear people refer to their after primary education being, "the university" e.g. "I'm studying CS at the university" . Are most secondary schools state sponsored deals where there is just one to choose from in other counties? As opposed to when you here people talking about their secondary school in the USA they will often refer to it by name, such as "I am studying CS at Stanford university".
Pluralitas non est ponenda sine neccesitate
You're posting on slashdot, so you can already work out how to hack all you like. CS is far too overrated - just get Knuths' books, a boolean algebra book or two and learn assembler & C. Presto, you're a CS major. It'll take you two months tops. Instead, get a degree in languages, all the best jobs in IT in the forseeable future involve international collaboration.
IF you want to work in a cube and build front end application, IT.
You like computers, but aren't sure where you are going, CS.
I recommend CS because it is very doubtfull YOu know where life is going to take you.
I recommend taking a minor in business. It will elp you immeasurably.
I am now going to tell you how to keep themost control over your life and always have power over your employeers:
Live as far below your means as you can. Never get a loan for anything except a home. A home is the exception because it makes you money over time.
As long as you do that, you can never be in aposition where you have to do something you don't want to,and will always have power of your life.
trust me, as someone who didn't relize this until he was 40 I know the pain of waiting until you have become dependent on every check to try and do this.
The Kruger Dunning explains most post on
But if you go to a good school, such as the University of Minnesota, Wisconsin, Michigan, etc., they all have very competitive Business Schools.
I've had the "pleasure" of tutoring business school students at one of the schools you name (Minnesota). The b-school may be good by b-school standards, but that's like saying your shit is unusually sweet-smelling by shit standards. Business school is school for people who want a degree but are afraid of thinking.
The correlation between ignorance of statistics and using "correlation is not causation" as an argument is close to 1.
As an instructor who has taught both CS and IT classes and worked in both fields, the answer is "it depends". Most CS programs leave you underprepared for certain kinds of jobs but give you the background to learn new material more rapidly. For example, the networking class in the CS department I'm at will give a "programmer's perspective" and you will leave the class understanding the theory of routers, switches, etc. If you take the IS class on Cisco networking, you will leave that class knowing how to set up routers, switches, firewalls, etc.
Now, when you interview these differences may be important because many employers will ask you different sorts of technical questions. If your prospective employer asks you how to set up VLANs on Cisco switches (or is keen on certifications) then the IT degree will be more likely to help you. If the employer asks an IT person questions about a topic they haven't covered they are much more likely to answer foolishly because they are missing the relevant background.
I personally would recommend the CS degree and you can always tell people during interviews "I don't know this now, but I have a firm background in the general field so if you give me a book and a week I'll learn it".
Having taken the CS route, I recommend it. It really depends on whether you're more interested in computers or business. The IT route is more geared toward making good business decisions, not good computing decisions, which are sometimes mutually exclusive.
It's mostly a matter of personal preference.
Nitewing '98
Everything works...in theory.
CS can do everthing IT/IS can do. IT/IS can not not a lot of things a CS major can do. Be a man, and take the CS major
To get you on the right way, I will ask you a few questions instead...
Why have you decided upon a career in the IT industry? Why do you want a career in the first place, and not just a job? What do you view as important in a future job? Regular hours? Lots of overtime? High responsibility? Log off, and go on go home to your family/friends/hobby/etc? High pay? Having a work that you find ethically responsible? Male-dominated? Both sexes? Corporate machinery? Do-it-yourself business? Sitting still solving problems? Actually using your body as well as your brain? Not using your brain, but only your muscles? The list goes on...
Choose wisely. Being fascinated with IT is not enough reason to have it as a profession, because whatever you choose, you will have to live with for the rest of your life. I'm not saying you shouldn't choose IT, lots of people are happily working in the IT sector. But you should choose wisely...
Computer Science: You want to create things such as software, hardware, algorithms, architectures, platforms, etc. Any of the more fundamental building blocks of computing, go into computer science to learn how computing technologies work and how to extend them or create new ones. This can range from being a low level developer, hardware engineer, researcher, software architect, or CTO.
Information Technology: Go here if you want to manage the technology. This is more about having knowledge about the parts of technology, how they interplay, how to cost, how to resolve business goals. This can be as low level as a wire puller running cables, to personal computer tech, to site manager, to CIO.
My analogy. If you want to build buildings, go Information Technology. If you want to create the building materials, go computer science. Know this however, if you can create building materials you can create the building, not necessarily the other way around though.
How to choose? If you have a true love and passion for technology and how it works then go computer science, it will give you an appreciation for how things actually work, how things are designed, and how to create new things. If you like using technology but are in it for the money or doen't like the science of it all go information technology. Information technology will allow you to work in technology but not have to deal with all the theory and math.
As a personal plug I wrote a blug article a week or so ago on computer science in higher education. Be sure to check out the program and be sure of what you want to get out of it.
Higher Education and Computer Science
Blogging on software, technology, and startups at http://blog.lowesoftware.com
This is the result I actually ended up with.
... Windows 3.11!)
Some of you out there are *really sharp*. "9 math courses, pfft, piece of cake". However, of the million+ registered users I am positive a large segment are looking at that remark thinking, "Kudos to you too sir, but what can *I* do?" It's not a zero sum "Everest or Bust" proposition. I'd say 2007 is a good marquee year to declare that every growing company in the world has *some* kind of computer system; no one relegates that to the "nerd" department anymore.
However, there are scores of smaller companies who don't need a full time high end DB manager, etc. There's a much under-rated next step down which involves deploying routine software on the company laptop fleet, managing data accuracy, and doing help-desk stuff. The trick is to view this as a value-add to some *other* line function. I graduated 10 years too early for today's OS stability to be the driver. (I refused to waste my time studying cutting edge details of
I looked around, and discovered that Accounting has one of the most stable knowledge-sets in the world. Yea, this or that new rule shows up, but generally I have never regretted my core skills going obsolete. We've all seen the rumblings about "Managers don't want to pay for IT". But they will pay for line functions, and then take it as a colossal bonus that you can spend 10 hours a week keeping the IT out of their hair, so they DON'T have to hire the full time Sys-Admin.
My first Journal Entry ever, in 8 years! http://slashdot.org/journal/365947/aphelion-scifi-fantasy-horror-poetry-webzine
The fact that he described his current level of schooling as 'secondary' implies he is British, or in a country that mirrors the British school system.
I am TheRaven on Soylent News
"I need to submit my university (or college to all you Americans)"
I'd like to point out that these two things are not the same. A university is a collection of colleges. There is for example a college of engineering, college of music, etc. in a university. Do not confuse them as the same thing =P
I can't argue for one over the other because I don't like IT/Business people. Why do I hate them? Because I don't think they really care about anything other than money and they're often performing trivial jobs
Are you talking business application programming? If so, you should be modded a "troll". If they were "trivial" they would be trivial to automate, and all the biz programmers would be out of business. It is often a complex mental excercise to take a lot of business rules and try to simplify them and/or organize them in a way that simplifies coding and maintenence. With biz apps it may be relatively easy to figure out what is needed (no auxiliary degree needed for domain), but that does not mean implimenting it in a clean way, testing it, and making a usable GUI around it is easy. The more you can do the more you will be asked to do.
Further, biz apps are where the money and jobs are. If you specialize in say chemical plant control apps, then your choices will be limited and you will have to move often. (Plus, chem plants are offshoring themselves.)
If you don't like a domain just say you don't like it. Don't bash it and belittle it. Pox on your house.
Table-ized A.I.
CS is better in the sense that you get vast understanding on the things behind technology. IT is brief. More have been discussed above about the matter. However, I suggest you think about what you want to do in the future. For e.g a bachelor in IT along with a diploma in business may make you end in a business manager post. There are cases when students with a bachelor in IT opt to do a Masters degree in CS. That's better. You start with IT, (it's easier), gain knowledge, earn your Bachelor degree, do a diploma in things that you lack (say Maths) and later on, start your Masters in CS. University is not just about computer science, IT. There are other fields which you may be interested in. Just pick the right combination and later earn a job which will earn you experience in those fields. Good luck :) (and choose something you like)
Do I require the c-sig package to have a signature?
I minored in IT with a CS major. It would have been easy to have changed after the intro courses, but from what I saw, the IT side was a joke at my school. Taking the time to look at them both helped make the decision easy. At the time, these graduates were going off finding programming jobs during the end of the dot-com boom, but most of them were the first to go in the bust. The true CS students that were in it for the science and not the money are still doing fine.
If you want to have a business degree, I'd go for something more initially usable, maybe in the accounting/finance side of things. And the $200/hr consultant that just got out of school is the running joke in businesses today. Also consider the bio, engineering, or physics sciences, where computers are a natural addition. If you find you still love CS and the other major, then do both or a minor, since having a combination like that lets you work with both sides of the right company, which is a skill far too many techies lack.
"To put this in context, that's pretty much the equivalent for someone asking a question about kernel programming being told:
Well, I've never used C, only the Perl one. So I'll give you the advice I would give anyone I know writing a Perl script"
Which would be an acceptable response if you were asking it on a forum centered around Perl programmers. I know you Brits and Europeans hate this fact, but /. is a US-based forum and most of the people here are from this side of the pond.
"I.e. it may be good advice, but it is completely irrelevant to the question. The UK and US education systems are very difficult, especially at the university level. The US system regards university as a progression from school, and is based around teaching students. The UK system regards university students as adults who are meant to be responsible for their own learning and is based around the idea of creating an environment in which students can learn. In a UK university, it is not uncommon for students to have around 20 hours of supervised time a week (often less), and be expected to learn on their own at other times."
What is it with you Brits (I'm assuming the original submitter was British since everyone seems to be doing it, I apologize if he is not) making grossly incorrect assumptions about the US university system? First you don't think we are familiar with the term 'university', now you think our courses are entirely supervised? I have news for you, the average American student spends about 15 hours a week in a supervised classroom or lab setting (usually 5 courses at three hours a week), and thats assuming they are not doing something like an undergraduate research project or an independent study. Then we generally spend 2-3 times that time studying on our own.
Are you guys thinking of our high school system when talking about how you think our universities work?
"A US degree intends to provide a general education focussing in a specific area."
No, that actually varies greatly from program to program. Many are general, others are more specific.
"In the US, a student is offered a place at a university (typically sponsored by a specific department) and can graduate with any degree they meet the requirements for."
Again, not true. If you want to change majors or pick up an additional major, you have to re-apply to the new department. I know this as I added a second major halfway through my educational career. Depending on your new department, sometimes this is easy and just involves filling out some paperwork, other times its much more difficult and you need all sorts of approval.
Please, take some time to acquaint yourself with our university program before you try to compare it with your own. To put this in context (continuing with your C, Perl analogy), this would be like a C programmer telling a Perl programmer something like "C has many features not found in Perl, such as the ability to assign variables, write functions, and execute programs".
Mathematics is made of 50 percent formulas, 50 percent proofs, and 50 percent imagination.
I've read some of the other posts and think that they offer pretty good advice.
The key difference in my experience with CS and Information Technology courses - in my school they were called Information Systems (IS) - is that Computer Science was more theoretical and had low level components. On the other hand IS courses were more management and business focused. CS students had more projects involving programming, learned more about things like compilers, OS principles, etc. IS students learned things like project management, finance, etc. In my school it was more distinct but I would really recommend that you look at the programs of the school your looking to attend before deciding.
Most schools should publish a description of the degree and post what courses are required. However, understand that just because you enroll in a specific program doesn't mean you cannot take elective courses that build on what you would like to know from another program.
Understand that changing your major is always an option and the extra years / extra courses can be avoided if you play the game right. What I would recommend is choose the top two computer majors that are appealing to you. Compare the programs and the requirements. Then pick the one you feel is more in line with what your current goals are.
When you do this, pay attention to requirements for courses. Sometimes you can find requirements that overlap programs. For example, a course like beginning Java, could be something you could use for Java compiler design or Java management - not real courses but hopefully you get the idea. At least in the first year, this will give you a little more flexibility, time to decide while getting a better understanding on things.
Personally, I didn't decide until my last years. However, what I did do was try to take courses in the beginning that might qualify for the other degree I was interested in. When it came time to actually pick a major, I had a variety of different courses that I was interested in and I was able to work out with the administration substitute classes. There are usually fundamental courses that you can take that all programs require - for example an IS and CS program might require a beginning programming course, or an introduction to operating systems. The courses I took from the other program that I couldn't use, I used as electives. Sometimes, courses can be used as substitutes for other courses. For example, a course on C++ could be substituted for a course on Java in some programs.
Also, speak with a counselor. Most schools keep in contact with alumni and often get a general feel of what they are pursuing and where they are headed after graduation.
Finally, remember your education helps you towards a direction but not an actual destination. A four year degree does not put you in a certain place. You have to earn and work towards it. You can use your four year degree and pursue other interests if you desire. I actually knew a couple of people who studied to become programmers and ended up working on budgets for finance firms. It really depends on what you want to pursue.
Anyway, good luck and I hope something I said might have helped you find a little direction. Either way don't stress it too much whatever you choose I'm sure you'll be fine homey just stick with it.
Peace.
Nah, the whole site has been removed already. They want to make sure that everyone has to wait until the release date and they're going to rather insane lengths to stop spoilers from leaking. Stupid, really. Why not just sell the books as fast as they can instead of making people wait for some arbitrary day?
Do they really think that people won't buy them as quickly if they know that Harry dies (or whatever, I haven't seen anything but probably-fake spoilers).
doing neither. Try Physics (or any other *real* science, its just that physics can, if work the system right, contains substantial amounts of computing courses. Plus its better. And yes, I am a physics grad). I'm not really trolling here. Its just that I'd much rather see people taught how to think in under-graduate level courses rather than taught how to *do*.
Of course, if its too late (i.e. your A-levels aren't focused in the right direction), CS over a more practically focused course, any day of the week. The amount of 'IT' grads I've met who have precisely no clue as to how to approach a *new* problem is not insignificant. I'm not saying these people were stupid, I'm saying that their education did not teach them to THINK. And that, really, is what ANY job is all about.
Oh, and a wee note for our colonial chums, we don't do the Major/Minor, points (course credits) win prizes thing over here. That's why its reasonable for us to call them Universities, since you tend to study ONE (uni) thing, and its fair that you call them colleges, cause you do tend to study multiple things. So, 'Both', is probably not a viable option.
And cue flame war on the relative merits of the two systems...
'Speak softly and carry a beagle'
Between the my freshman and sophomore year of undergrad, I considered switching to Computer Information Systems (IT to universities), but decided that it would be easier for me to switch to IT having had CS rather than the opposite. If I knew the CS stuff, I would understand how the IT stuff worked on the backend and have just a little training to get up to speed in IT terms and procedures. If I did IT and then decided to work in CS, I'd have a lot of learning to do before I'd be an effective coder.
Another thing to consider is this: perhaps be a CS major, but work for your school's help desk or IT department as work study or the like. In this way, you'll not only receive the education in CS, but also the experience and on-the-job training of IT.
Colin Dean Go a year without DRM
I graduated from school 6 years ago, and don't remember any of the details from my studies... however, the process (math heavy) of CS remains valuable. The MBA I picked up later rounded out my skill set, but if I had taken an accounting course or two plus a general management course or two, I could have saved the time and cash and gotten it later.
Right out of school, IT may be the more useful degree. Why CS grads can get any IT jobs easily, if the outsourced HR recruiting firm is looking for IT, you'll struggle, because if you can't check the boxes, you don't get the interviews. However, your first job should be on-campus recruiting, so if you're careful, it won't make a difference.
Ten or fifteen years out, we'd all like to think that nobody cares about degrees, but it isn't true. Once you move up the food chain a bit, management LIKES degreed people. They are happy to hire programmers with high school degrees or even drop outs that can sling code, but once they need a technical lead, they don't want the gut without the degree. Sure, plenty of people will post here about how they are just fine without the degree, but it is a limitation, and the original poster has already decided to get the degree.
In 15 years, the IT degree will seem like a slightly upgrade Vo-Tech degree, and the CS degree will seem like a real engineering degree. This shouldn't matter, but it will. When you start dealing with managers with Ivy League (equivalent in your case) degrees and pedigrees, they'll see the CS-guy as one of them but more technical, they'll see the IT guy as below them.
Think nobody will care in 15 years what you did in your early 20s? Most people are unimpressive, they don't really do much during their life... for those people, their MOST measurable accomplishments are schooling, so they trade on it, and respect others that do as well. Hell, my high school, that I went to for three years, remains on my resume, because it's the top school in my area, and most of the people I interview with are trying to send their kids there (or are sending their kids there), and after fighting with the increasingly draconian admissions process, figure anyone that went there must be top notch.
You never know what will help in the future, so run with it.
Forget more schooling; Don't waste your time and money. I spent a semseter in a CS program at a large University in the US. After doing class assignments on myspace, correcting the TA's on *nix commands, and talking to third year CS students who couldn't tell me what a kernel was I decided to just drop out and go work as a Systems Administrator. You want to learn something? Go to the library.
My background: I am a student at the University of Oklahoma. I have recently graduated with a bachelors in Computer Engineering, am about to graduate with a master's in Electrical and Computer Engineering, and am set to attend the MBA program in the fall.
At the University of Oklahoma (and at most universities in the USA), universities break up into Colleges by discipline grouping, and each College generally has an associated "quality" level. At the University of Oklahoma, and at most US institutions, this perceived quality level breaks down as follows:
Tier I:
Engineering
Medical
Law
Tier II:
Business
Science
Tier III:
Liberal Arts
Tier IV:
Education
Depending on the University in question, individual programs within the various tiers may move up or down a level. The University of Texas, for example, has an outstanding Computer Science curriculum that is organized under the "Science" banner, but it is without a doubt a Tier I program, UC Berkley's Chemistry program is Tier I, etc. And I'm sure there are universities with absolutely terrible engineering programs that might be better off as falling under Tier II. But that said, in general, the discipline groupings break down as above.
At the University of Oklahoma, the Computer Science department falls under the umbrella of the College of Engineering. They have to take all the calculus the engineers do, one of the two engineering physics undergrad classes, and an additional hard science chemistry class. (ie, they swap out Eng Phys II for Chem II). The Computer Science curriculum is considered by most folks in the College of Engineering to be a tier II engineering curriculum, which is to say that it's considered to be an average program in the College of Engineering (... but because engineering falls into Tier I, it's still a Tier I program...)
Now to the point:
At the University of Oklahoma, our "IT" degree is known as Management Information Systems (MIS). It falls under the business college. It's like this at most universities in the USA. At most universities in the USA, it also happens to fall on the lowest rung of the business college; it's the very lowest tier. At the top are accounting, finance and economics, then everyone else, then at the very bottom is MIS. It's bad when even the marketing majors have more to be proud of.
MIS is where all the kids who tried and failed at CS end up. MIS is where a lot of the kids who tried and failed at accounting, finance and economics end up. MIS is where the dregs go. It is at the bottom of the barrel. Most of the time, the MIS programs are so bad that they fall out of Tier II (as above) directly into Tier III or IV.
Now, this is not to say that everyone who is in MIS is a low quality churl. But because it's where the low quality churls end up, you will often find that it's what's expected of MIS majors. Many people, myself included, have zero respect for MIS degrees.
I guess IT could be different in Britain, but I doubt it.
I would recommend going for either an engineering degree or a computer science degree, and if you really want business exposure, take some business classes as electives or pursue an MBA style graduate degree.
And as another piece of advice: If you haven't already, become skilled at public speaking; take some classes if you need to. There are many, many sins that can be made up for when you have the ability to give a good presentation.
Computer Science. If you stick with it and don't let failure get in your way it really is a great degree. IT I don't know so much about but MBAs and accountancy? WTF! This guy says he wants to work with computers and by suggesting business you're really misleading him!
I studied Computer Science, graduated in May. If you're not interested in computer science, software engineering, programming, or software architecture (the real thing, not applying software other people wrote on a server) don't do CS. If you want to be a sysadmin you want IT, not CS.
However, if you want to code, design, or be involved in computing theory then find a good computer science school (preferably one strong in theory: In CS, "strong in practice" mean "we can't get any good professors" -- there just isn't much in the way of established good practice).
At this point though, if you don't know you might as well pick one and switch later. Here in the US few people stick with one major from freshman year through graduation. Very few.
In other words, he is from pretty much any English speaking country other than the US or Canada. Actually, we can't even tell that, since someone from France would likely translate "enseignement secondaire" to "secondary school" before asking the question in English.
"Secondary education" is actually a very common term used in many countries. Even here in the states (where "high school" is the more common term") most people would have an idea as to what you mean. Combined with your previous post, you clearly have an exaggerated opinion as to how unique the British educational system is.
Mathematics is made of 50 percent formulas, 50 percent proofs, and 50 percent imagination.
I got my BS in EE, then ended up doing consulting work in IT for 5 years. Mostly systems, networks, and telecomm; no coding. After some time I decided to go back for a Master in IS when Penn State started an IS program with an emphasis on security. I've found the classes interesting (especially the computer forensics class) and since I already have the more nuts and bolts tech down, this is suited well for me.
My take on CS vs. IS (without knowing how the specific program you're going to go into is structured) is go for CS if you want to get into the nitty gritty, and IS if you want to stay a step back. Usually, programs have electives so you can take some classes in the other program in areas of interest.
The other thing to remember is that unless you have a specific job goal when you graduate, the difference between which degree you get is small. Like I said, I have a BS EE and I have never did any professional EE work yet, and at this point probably couldn't. Like you said, you like to dabble in many things, so whichever program you pursue, you can always work on projects in the other field (personal, part of a group).
Probably the best thing to do is look at the schools' you are interested in, and check out their programs. Go for the one that looks the most interesting. This is why I haven't gone back to school until now- I couldn't find a masters program that really interested me. Once the security program came out, I enrolled.
Good luck!
Vote monkeys into Congress. They are cheaper and more trustworthy.
I've been coding since 7th grade. I have long been interested in all aspects of computing, from system administration, to nitty-gritty algorithm analysis. I also love chemistry, physics, astronomy, and mathematics.
However, one thing I have learned is that you don't need a CS/IT degree to work in the field.
I'm going to be a Junior this coming fall at a reputable university, and I have chosen to study Physics. That's not to say that I won't take some computer science classes (I'd recommend some exposure to data structures, and Operating Systems/System programming), but I will get my degree in Physics.
I work a at a web design place (yeah I know its not kernel hacking, but I'm 19). I do backend development on their proprietary framework every day. There are other quite technical employees at my work that don't have degrees in computer science either. One of them has an english degree!
Conversely, I have also met computer science graduates who are quite conceptually void in the art of computers.
So, what I'm saying is that it's much harder to be a self-taught physicist, or chemist, for example, whereas anyone with a computer made in the last 10 years could learn computer science on their own (and with a little help from university). So, do something interesting and challenging, and you'll leave many doors open.
Sig free's the way to be.
In regards to the statement, "which enables you to learn almost any language in a day"
Seems the CS course didn't teach you enough about anything to know that NO modern language can be learned in one day by ANYBODY.
The REAL computer specialists know just how much they DON'T know and hit the books to learn.
If some CS guy came to me for a job and had no experience and said he could learn VB or SQL in one day, I only hope he wouldn't hit his ass on the door too hard on the way out.
The truth is, having a college degree of any kind is a plus to your career. But once you've worked, job experience is more important. After my first job, no one asked me about my college courses, they only wanted to know what I had done in my previous jobs.
So, the best choice is the one that works best for you. Based on people I've known and their degrees, I'd say follow this general rule:
- EE: If you have been tearing apart gadgets forever, and lately had a lot of success putting them back together, go for it. The math is really hard, but if you can get thru it, the pay and job security is pretty good.
- CS: If you have been writing programs that do more than simple displays, and you enjoy reading technical articles, this is a good choice. The current growth fields are embedded systems and business-to-business web apps (AJAX and SOAP).
- IT: If you like installing the latest version of everything, and you don't hesitate to open your PC to install boards, you can make a career our of IT. The pay isn't as good, but the job security may be better than CS, because they can't offshore hands-on jobs.
Regardless of your choice, learn as much as you can fit into your schedule about the rest of the business. If you are a CS or IT major, take a couple EE courses. If you are an EE, take at least 1 high level programming class, and maybe an intro to operating systems.
For everyone, learn how to interview!!! I have interviewed many job applicants, and it is pure agony to have to drag information out of people who apparently really want the job. I would rather have to shut you up than beg you to tell me what you know. But do not claim to be someone you're not. You will be found out, and that can be a disaster.
Later . . . Jim
In the modern climate, especially in the US, get your IT or CS degree, and then high-tail your rear to law school. Yes, its two more years of school, but barring felonies or other stuff that cause disbarments, you are pretty much GUARANTEED employment for the rest of your life.
Law school:
You get a nice car, money to support your family, and can afford a decent house. You work banker's hours, and have weekends to yourself and your family. Your job is secure, as its impossible to outsource attorneys, because someone has to physically go to the court buildings. Of course you have to keep updated with new court cases, but pretty much once a member of the bar, always a bar member. Of course, its easy to find a mate.
CS/IT work:
You better like that ten year old Geo Metro, because that is what you will be driving for another ten years. Your job will always be in danger of flying its way to another country. You have to reinvent yourself every 5 years, or be dumped into the trashbin of history like the COBOL programmers. You at best earn a living that you can survive on.
Of course, in CS/IT, you work 60-80 hours a week, and that's expected of you. You are owned (or to be more exact pwnt) by your employer 24/7/365.
Life is too short to barely scrape a living kowtowing to stupid users, clueless bosses, impossible demands, and tiny budgets. Going into law means that your career won't be killed because you didn't plug one security hole.
Of course, few people want to date long term a CS/IT person. Being a law professional means security. To most people, CS/IT means a job this minute, unemployment line the next. No response to pager on a Saturday night within 15 min? Expect your boss to be calling you on the carpet in front of a corporate exec and HR and discussing why he even keeps you on the payroll the next Monday.
Finally, nobody respects a CS/IT person. Everyone respects an attorney, because an attorney can cause serious civil, if not criminal pain on people with ease. An IT person might be able to lock an account as their worst threat... before getting fired for not allowing that employee to do their job.
To sum up: If you want to drive a cool car and actually have a chance at a comfortable life, take the time and do law school. If you want to be the strange guy forced to park the 10 year old subcompact and be the laughing stock of whatever company you are at when you are not cleaning spyware off some exec's laptop, go IT/CS.
Take an extra year and get a double major in CS and Accounting. Assuming that you have a decent GPA, you will have companies falling at your feet to pay you ridiculous money. Recruiters use the term "techno-functional business analyst," but what they mean is a developer who has the ability to understand both the technical aspect and the business logic that defines it.
I have a buddy who just did such a thing and his first job out of college is working for Deloitte at a salary north of 80K.
I am going into my second year of a computer science degree, personally i feel it gives a large variety to the student, everything from the ieee, basic languages, languages such as java,c# html etc, all about internet going through encryption,security online,networking,you learn about hardware, how it operates and codes it produces. there is a large amount of maths in the course also....i could name out what we've done in year one alone and it would be a massive list. the other major thing that made me choose this over any IT course, was this is a science degree...to put it simply computer science is the study of computation and computer technology, hardware, and software.it is a science that deals with the theory and methods of processing information in digital computers, the design of computer hardware and software, and the applications of computers. while IT is more practical
best of luck choosing
Skalragg
Someone who is going to be building compilers is going to have to devote themselves to the discipline. Someone who is doing web front-ends should be getting a well-rounded education that includes art, psychology (HCI), sociology (market segments), English, etc.
Someone developing compilers should only devote themself to the discipline if they only want to be a greasemonkey. A well rounded education will prepare a person for more problem solving than focusing on one discipline will as well as give them new ways of thinking. As my favorite prof in physics and calculus, he taught both, used to say don't remember equations, instead learn to solve for a problem and sometimes a person needs to think creatively to solve it.
As important as computers are, I think there should be a lot more breadth in education.
Oh, I whole heartedly agree. Too many people are focusing on narrow specializations instead of getting a well rounded education. If a problem outside that domain comes up they have no way of solving it.
FalconShould there be a Law?
Learn some obscure systems really well, jcl schedulers and cobol programmers still make some real cash. note: This might not be for you.
Learn some non computer skills, Bioinformatics and Molecular modelling are really hot fields right now, and probably wont slow down soon.. When you have open ended assignments, make them relevant to the field you want to enter. A friend of mine wasted most of his college days building MUD's he really worked to build some challenging adventures and quests.. And though his GPA tanked he was hired by Ultima because the interviewer had played in his MUD. Cultivate friends at college, they will pull you kicking and screaming into jobs that are right up your field. Show enough enthusiasm and Profs will find awesome opportunities for you. Get something you enjoy
If you want to create, the CS will benefit you more. If you want to be up on the latest trends, collaboration, and have other interests (like writing or sewing), then IT would suit you better. Either way, it's the frame of mind that these 2 subjects place you in and how you feel comfortable to doing something positive vs. being a vegetable.
Choose whatever works best for your head. Otherwise, don;t be a wuss--any hard science will be more fulfilling ;) ...
It is quite easy, so with some motivation and some half-decent books you could teach yourslef the classic IT stuff. CS is more enlightening and harder, and a good teacher is invaluable. With this strategy, if you get interested in the sciency aspects, grad school is a real option. If the IT stuff excites you more, you become a technician with an unbeatable background.
I actually took the opposite route. I majored in IT, but got interested in CS towards the end. I ended up teaching myself a lot of core CS, towards the end, and I am in grad school now. mY advice to you is in hindsight, of course.
MBAs are air thieves as a rule.
John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
They usually mean you should take lots of easy subjects that require no rigorous thinking at all and NO non-remedial math or science at all (e.g. all liberal arts majors).
If you want an excuse to party for four years go for it.
John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
You can learn just about any modern 'language' in a day (assuming you've got a half dozen or so under you belt already).
It's the libraries that you are calling into that you will never, ever master (unless you only use one or two and can keep up with the changes).
Learn how to learn. I recommend Electrical Engineering as it is the hands down hardest course directly related.
John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
Many universities in the UK offer the chance to do a year's work placement between your second and third years of study on a CS course (don't know about any IT courses) so you can have some experience when you graduate with your academic degree.
I wish to remain anomalous
You might also want to consider Computer Engineering, if you can hack it (so to speak). Don't limit yourself to software! Play with circuits and robots, etc. If I was able to go back in time and change my educational direction, that's what I'd do (assuming I didn't fall to the lure of some of my other interests like architecture or photography).
If you like the idea of varied kinds of work, a CE degree has it all over CS and IT.
My experience of this is nearly 20 years old and things may have changed.
However, I started doing a CS course at Manchester and after 1 year switched to IT. The main reason I changed was the analog electronics part of the CS course (designing power supplies and the like), I had no interest in this and found the maths difficult. I enjoyed the digital electronics part of CS but my primary interest was in software, so rather than risk failing the analog stuff, I gave up all the hardware and moved into IT.
Canada also prominently uses secondary school as a term.
The role of the writer is not to say what we can all say, but what we are unable to say. -Anais Nin
My major was Computer Engineering and I would recommend it or Computer Science to anyone interested in succeeding in IT. None of the IT programs I have seen or had employees enrolled in prepare you as thoroughly as the more technical majors. Most of my level 1 technicians have come from IT programs and it boggles me how often they are completely lost with basic ideas of computer operation. Let me clarify a little. I don't work in programming (at least not regularly) the vast majority of our work is systems administration. The IT guys are missing so many of the fundamentals of computing that the higher level stuff is largely a mysterious black box. Understanding new technologies is largely memorization for them. Try managing our supercomputing clusters without ever really grappling with kernel theory, shared memory usage or schedulers. What's the difference between traditional PBS scheduling vs Mosix type clustering? The CS and ECEn guys have often compiled kernel modules or written virtual memory simulators or any number of things that makes carrying those concepts over to supercomputing trivial. Even simpler functions like wireless networking or Active Directory are aided by an in depth understanding of basic intercommunications when you've coded up your own TCP stack before or written your own security authentication handshakes. IT degrees will need more maturity to develop into something besides being the "I want to earn a lot of money working with computers but I'm too lazy/dumb to earn a hard degree" in my eyes.
They lie through their teeth.
next question.
-- I ignore anonymous replies to my comments and postings.
n other words, he is from pretty much any English speaking country other than the US or Canada. Bzzz! In Canada, elementary school refers to grades 1 through 6, secondary school refers to grades 7 through 12, and post-secondary school refers to college, university, trade school or vocational school. I am Canadian and graduated from post-secondary school and am attending a post-secondary institution in the US.
The IT courses at my university teach you Access as a platform for learning SQL, which is downright negligent (at my uni, the IT people learn on windows while the CS people learn on NetBSD, which is kinda cool that they do that at least).
Apart from that, IT has a more business/management focus, and doesn't take you very far into coding. If you understand what recursion is, it's probably the case that IT won't challenge your coding brain.
[note: all this from my experience at my uni, ymmv]
Real men don't write sigs
You could take both CS and IT, CS and EE, or EE and IT. You would either graduate with the two degrees and have many options for your career or sample both to discover which degree you prefer.
You could even increase your options if instead of taking a technical or science major as your second one, you took one totally different, like finance or healthcare. You could then get a position setting up or programming financial or health systems for instance. Though I don't know any myself I've heard both banks or other finacial institutes and those in heathcare industries are looking for those who have scientific or technical qualifications but also have knowledge of these other industries. I've heard the opposite also. Companies like Inuit, developers of Quicken and Quickbooks, want programmers with financial backgrounds.
FalconShould there be a Law?
It does not matter at all. Software engineering (coding) is a job where you need to learn by doing. And learning software engineering will provide a (needed) base for all other IT. One of the best programmers on my team - really skilled productive coder and architect - has a rocks-for-jocks geography degree!
Horns are really just a broken halo.
Ok, so then all we know is that this guy is not in the US (of course we already knew that since he though the term 'university' was not used over here) ort from a part of Canada that predominately uses the term 'high school'. And actually, there are areas in the States where the term "secondary school" is used as well. So that little clue tells us nothing.
Mathematics is made of 50 percent formulas, 50 percent proofs, and 50 percent imagination.
I work in a large support department where we support custom software. We actually support it, not just read from a script. We used to hire CS majors, but stopped because they asked for too much information. Now we hire IT majors.
As the last CS person to get hired, it's quite amazing to me how much more I know than the rest of the guys. They all had 'some' programming classes required by their major, but they don't remember a single bit of it. They can't read the Perl scripts, let along manually trace through the C code.
Now, they aren't required to do that. We have programmers in the company, but it makes me SO much better at my job that I don't know how I'd function without the ability to 'find out' exactly what's going on.
Short version. A CS major makes IT jobs easy.
--Welcome to the Realm of the Hawke--
It is usually more management/business/technology oriented while computer science is learning the details and methodology of programming and making a machine do what you want it to do. If you're more people oriented and don't enjoy sitting in front of a computer 24/7 you should try IT. Or if you're more fascinated with the working parts, the micro and minute detail of computers i'd go with computer science. They overlap each other in many areas, just remember IT is more business and people oriented, while computer science isn't as much per se
Is that a good enough reason to not go into IT? I think so.
Oh and we have universitys here in the states too, its just a different classification of schools. Colleges are smaller, uiversitys are larger.
In the US universities are usually collections of colleges. A university can have a College of Engineering and Science, College of Business, College of Liberal Arts, and so on. Take the university where I live, University Of Minneasota. It has a College of Biological Sciences, Institute of Technology, and College of Liberal Arts amoung others.
FalconShould there be a Law?
I studied both - albeit the former [CS] a long time ago - and at a time when Software Engineering [SE] wasn't even on the radar.
... and I would say that,
Ok, so SE isn't quite what you mentioned - but *it is* - in that it's 'practical', vs. 'theoretical'.
Currently I teach at one of the UK's top-three universities - I 'lecture' to a mix of people with varied backgrounds who want to learn to program
Although we need CS students; SE students will probably enjoy their subject [and life thereafter {from what I've seen}] rather more than the CS students. SE is about how to build real systems, whereas CS is all about the study of those systems, at a low-level. IMHO: if you're into O(n) and/or maths, rather than delivering something [to time/budget/...], then CS is the way to go [esp. if you'd like to teach the same later in life]. But, if you're into building things, without necessarily understanding the deep principles of how they work [think electrician vs. quantum physicist], then SE is what you should study.
As a 'last word' it all depends upon what you'd like to end up doing [although that might change of course]!
@peetm
Which would you rather prefere: Working upstairs with the sunlight and the computer terminals (CS), or down in the "dungeon" basement under florecent lights in a dark basement with a computer that emit way too much heat (IT)?
The Rapture is NOT an exit strategy.
I work for a large national U.S. IT outsourcing company and have had quite a few coders as my customers. They hired us because their systems were a *mess* - unpatched development boxes all over the place, everyone running as Administrator, nobody minding the backups, crap machines with no RAID holding critical data, half-installed software and crashing services of all sorts. If I have my way, I'll never take a company of programmers on as a client again.
I completed a CS degree about 10 years ago and have been working as a software engineer ever since. What I remember about looking at courses is that a lot depends on the university you choose. Warwick had a CS degree which was essentially applied maths, very heavy on algorithms and the theory and less emphasis on programming etc. Nottingham had a more practical feel to thier course with more programming and less of a maths emphasis. This was repeated throughout the unis. The newer uni's (ex-polys) tended to be more industry focused and hence had a more practical leaning. A lot of my peers who went into support/IT type roles did not rate our degree as it had a lot of emphasis on programming languages, Methodologies and other things which are of great use in a software engineering role and a lot less when deploying the latest MS technology.
Its not just the course its where you do it. Also look at whether you have the opportunity for a 12 month industrial placement as employers value this highly and helped me get a number of interviews annd job offers and is something I rate in candidates.
What's really great about this topic is that it comes up every year about this time. CS or IT? I'd like to give a 3rd option: Applied Math. In my opinion all the really cool things in engineering and all the really good engineers in the computer disciplines have solid Applied Math skills; either from formal studies or self-study. As a course of study I would encourage you to start out as a Math major and take Math and Programming courses. If you hit a "math limit" continue taking programming courses and begin taking IT courses. If you then hit a "programming limit" finish your studies in IT. Throughout your studies make sure you secure jobs doing IT or Programming, this should sharpen your skills further and help you zero in on a final degree path.
If you want a job, go for the IT degree. If you want a career, go for the CS degree, then either stand in line at unemployment, or go for your Ph.D. If you go for the Ph.D., prepare for 5 years of post-doc work at about half what you could have made with the IT degree. Pray for a tenure track position as you are strung along until booted out the door...
At the University I attended, there was no CS degree/course. This actually wasn't a problem. Instead, I did two degrees; IT and Science (Mathematics). I found this particularly useful. On one hand, I did learn how the computers work (beit a little basic) and the general principles of programming (In two major languages; C++ and Java ... learning the advantages and disadvantages of both). The Mathematics degree was where I learnt the very cool stuff. I concentrated on numerical analysis. This gave me an excellent foothold on transcribing formula to algorithms (Anyone who tells you this is easy is either a god or does not know how to do it).
Each degree on their own I now realise would have been basically useless in terms of high wage employment, but the combination has been VERY good to me.
.
I have an associates CS degree and an IT bachelors degree. When I originally started school I went for CS and did well. I enjoyed it to a degree. I ended up switching to IT because I did not want to code all day everyday for years, and with IT I have the flexibility to do system administration work as well as mix in some programming.
Like others on here have already said, go for what interests you the most. The most important thing is being happy with your choice if you plan on doing it long-term (career).
Info Tech (at least at a good University) is a cross between Computer Science and Computer Engineering, with extra networking stuff. The best thing to do is inspect the module list from each course and compare (especially if the same college as Electrical or Computer Engineering). You should see some cross over with a good Info Tech course. You want an Info Tech course that teaches you C and Assembler, as well as Digital Electronics (Logic Gates etc). If you're really lucky you'll get one that has an Analog Electronics module as well. Make sure the course has networking (IP, ISDN / ATM, SS7 etc). You will also probably see cross-over with Computer Science (expect to see something like Java, Operating Systems, Databases etc). Basically, in general, Info Tech is cherry picking from both sides, plus networking. If you get a chance to do a module on Digital TV, its well worth it!
:) The degree doesn't matter, as an employer I'm going to think, the kid with Resume 1 has experience, is used to dealing with corporate customers and has the right mindset. I'm not going to care less if Resume 2 knows advanced SQL queries, looking at Resume 1, I can see the kid has the ability to learn things and some business felt he had enough responsibility to work on projects etc. Employer then starts to think, why didn't the kid with Resume 2 do that, maybe there is some flaw I don't know about, and tada. Resume 1 gets the job -- better experience!
Info Tech typically is a lot easier than CS and CE, because it introduces you to things, goes part way, but not quite as far as Computer Science or Computer Engineering. The way I see it, Info Tech gives you a broader foundation, while CS and CE are more "tunnel vision". Thats not a bad thing, depends on what you want to do when you graduate! Just because Info Tech is a bit easier, doesn't mean you should do nothing extra, use the time wisely to learn things that'll get you employed like Linux. Maybe hit up www.linuxfromscratch.org and build your own!
The best piece of advice I can give you is :
a) Do Info Tech (assuming its a good course -- see above)
b) Learn Extra Stuff
c) Skip the summer / weekend work at MacDonalds, get some local company to hire you (even if this means working for free or very cheaply)
d) (c) doesn't mean reply to job offers, it means go call companies in your local area who might hire you for minimum wage etc.
e) if you get a response from (d), visit, wear a suit and be presentable (shave, hair cut etc)
Your best shot is an ISP, smaller ISPs that are privately owned (not telco) are more likely to hire you and let you near customers. Do this as soon as you possibly can! Don't expect to be paid much, employers are going to see letting you anywhere near customers as being a risk, you need to show them you are reliable and professional, and lets be honest many college kids are far from that.
Look at two resumes:
Resume 1: Info Tech Degree
Summer 1: Worked at Acme ISP as Customer Support Rep
Summer 2: Worked at Acme ISP as System Administrator
Summer 3: Worked at Acme ISP as System Administrator / Web Developer
Summer 4: Worked at Corporate Business as Developer
Resume 2: CS Degree
Summer 1: Worked at MacDonalds
Summer 2: Worked at Walmart - Inventory
Summer 3: Worked at Joe's Bar and Grill
Summer 4: Worked at Ruby Tuesdays
Now Resume 2 is your typical college student, but Resume 1 is your college student who took some initiative. Now Resume 2 is great if you going to go into the food industry, but alas, you want a career in IT, wonder which one is better?
Pity not too many kids think of this anymore!
CS being the study of the principles and concepts involved in Computing at a more fundamental, and often more sophisticated level, and IT being a more practical, application based approach to computing
You've got it backwards. CS is generally a "programming" curriculum, whereas IT is computing at the fundamental level. It's been rare that I've met a programmer who had understood the fundamentals of computing (at least in the last 15 years or so). Most programmers I've met have been glorified users who just know how to use a very specialized program very well.
Which is more painful? Going to work or gouging your eye out with a spoon? Find out!
http://www.workorspoon.com
Unless you are interested in an IT for IT company career, try picking an industry specialty. E.g. Finance, with accounting / economics selection, or Health Care, with health management, Mining, with resource management, the list goes on...
Best option of all: don't even worry about doing the tech stuff, go straight into management. When you don't have to work your way up INTO a management position, it will give you a ten year head start on your career.
Also, as a manager, you don't have to keep learning things which will be irrelevant five years later. If you know how to manage people and your budget, that knowledge will never become outdated.
You can always get tech training as a manager, but it's unlikely a CS or IT grad is going to go back to college to pick up a management degree.
That's nice. Find a university that has a "very competitive" EE or CS program, and you're likely to find that it's an order of magnitude more difficult. Hell, even a university with an ordinary EE or CS program would be more difficult.
I have great respect for economics, actually, but I consider it somewhat far afield from a business degree, and fortunately, many universities do as well--at least if you're on a B.S. track for it. But, while advanced courses in accounting "require you to think very critically"--I'm pretty sure physics, calculus, and computer science require a far higher degree of critical thinking than accounting.
Yeah, actually getting a Math bachelor's and an MBA is very much in line with my advice. Although I suspect many actuaries are simply math majors to start off with, again for reasons similar to the ones I've pointed out--if you're a math major, they assume you're intelligent enough to retrain as an actuary anyway, but you're also probably intelligent enough to retrain for lots of other things so you're not stuck in one career path.
I'm sure you take "grave offense" to my remarks. I did too, when I was a business major. But that doesn't mean they aren't true. Any doubts that I had were swept away when I found myself spending my Thursday nights in the EE lab while business majors were out drinking. This isn't to say I didn't know any intelligent business majors--just that the ones I did know were, in my view, hideously underapplying themselves. Just as I was.
And as for the "social lives" remark, engineers know each other just as well as business majors do. We also get more experience actually working together, instead of just drinking together--I think those are more the kind of social skills that you need on the job.
In Repressive Burma, it's not just your connection that dies. slashdot.org/comments.pl?sid=314547&cid=20819199
You bring up good points, but there are workarounds for the problems you suggest. One is always double majoring--I'm also pursuing a Philosophy major, which could probably get me into law school if being a nerd doesn't work out. (And, if it *does* work out, you can always be a patent attorney--well, if your country has software patents, or if you're an EE instead of a CS.) Philosophy also tends to add more high-GPA credits, improving average to above-average.
In Repressive Burma, it's not just your connection that dies. slashdot.org/comments.pl?sid=314547&cid=20819199
There are 3 major fields that I will talk about: 1. Computer Science: In CS you start of by learning the basics of programming languages, new languages, databases, algorithms etc. Most likely these are the people who would go out and write code for applications etc. 2. Software Engineering: This basically covers the art of writing, designing, managing, testing software. In simple terms the whole software development life cycle. Don't get me wrong when I managing etc. these guys are highly technical and also write a lot of code. Most of them also start of as developers and then convert into software process managers, project leads, business analyst, software architect, program managers, technology managers etc. 3. IT: Now this is little different. No research, not much coding as well (could vary from school to school) but they generally concentrate on fixing the problems like network access, database management, tech support etc. More like a technician. Having said that don't think that he you do IT you can't do certain kinds of jobs etc. That totally depends on you. These programs generally train to do one thing better than the other. But, you always have electives etc. to choose from and decide what you want to do. I would closely look into some curriculums and then decide.
I always found that people started with Computer engineering, some found that was too hard.
Those then tried Computer Science.
Some found that road too hard as well. They became IT majors.
I went through the UK system, what being british and everything. At degree level I intialy started doing a straight CS course but later decided I want to be more specialised as programmer so moved over to do a BEng in Software Engineering. The most valuable part I would say was the sandwich year. At the time I didnt enjoy it too much and the money was awful(12grand a year down by London is nearly impossible to live on) but I ended with industry experience already under my belt by the time I left university last July. This has helped a great deal with the job hunting process and was even responsible(I know because they told me) for even getting the interview for my current job.
It is better to study Electrical Engineering with major in Electronics. Recruting managers always prefer somebody able to know from inside out all equipment/technology used in CS and IT. It is exactly as to get a driver that is also good mechanic!
I think what is lacking in the CS world are the thinkers. I know an ample amount of people who can write a program (good or bad looking or efficiency). My problem is when I sit in on a development meeting to brainstorm or an architecture meeting where we attempt to find the best way to blaze our "new path", I am let down at the few with the light bulb over their head. I was a CS major and I went through the motions and did well in the end, but it wasn't because of my studiousness, it was because I had a job already where I used my skills. CS to me felt like I was learning arithmetic and just skimming the surface because it was such a vast and overly generic major. If anyone who has been through the IT track can confirm that you at least rack your brains and put yourself in more situations that would help in the real world, I would take that path. Otherwise, the major wouldn't matter as much as what you do with it during college. Just going to college isn't enough. If you want to make a difference in this bloated CS world, fall in love with something and help us make the world better because of it :-). .... as long as it's not another f*#@ing YouTube.
scuba steve
I'm a little surprised that the original poster didn't inquire about engineering school. I hold a BS/MS EE, and the ability to switch back and forth between sysadmin work, application development, and hardware design is incredibly refreshing. And, I think I'm all the better for it -- a microprocessor architect who understands how operating systems work and what type of user applications would run on that OS would be able to design a better chip than a pure "chippie". And by corollary, if you want to write fast, tight code, having a computer architect's understanding of hardware would be a great help.
CS and IT are too narrowly-focused, IMHO. CE/EE is where you want to go.
Hi, Being a Computer Science graduate myself, I would suggest you take in Computer Science and not I.T.. Becasuse there are a lot iof papers you need to study inorder to understand this realm fully. Like Compiler design, Automata, Algorithm designs, Discreete mathematics. You sure can become a good software professional with your I.T degree. but if you ever have a dream like being a master of what you do( I mean like many people in here and other stalwarts you know) you may need to understand the theory. Trends do change fast, So The papers you may study in your I.T course may not be novel anymore after 5 years, but a sound theoratical knowledge helps you make the leap between various technologies. my vote is for Comp.Science thanks Chris.
You can in Australia. I'm planning on starting EE/CS next year; it only takes five years (vs. four for EE by itself), so it will probably be somewhat difficult, but it's definitely possible.
I studied computer science at an English university (UEA in Norwich). My advise to you would be to choose a university that offers a modular course.
In my day (Graduated 2001) the courses offered were by my university were Computer Science and Applied Computing (what you refere to as an IT degree). Both courses were modular and you could opt to take modules form either course to count towards either degree.
This allowed great flexibility and I knew several people who started on one degree course and ended up taking a majority of thier modules from the other course, as they found these courses more interesting once they started studying them.
In reality you degree be it CS or IT will only count towards your first job. After that employeres are really interested in your employment experience. Start worjking as a sys-admin and after a few years you will find it hard to transfer to a development role wihtout having to start from the bottom rung and vice-versa.
Paul Gogarty
That was my thought exactly. I actually double-majored in a non-computer related engineering (Aerospace) and Business, with an IT minor.
Way back when I wanted to do a double major as well, Computer Engineering and Ethnobotany. After an accident while in college I realized that if I still wanted to go into CE I'd basically have to start all over, my memory was damaged. However I didn't want to anymore. I'm still interested in it but no longer want to do it as a career. I don't even know what I can do that I'm interested in doing.
FalconShould there be a Law?
The same thing (taking the "hard" route, getting not-so-great grades) is happening to me too. One thing I hope will be helpful is doing undergrad research and cultivating good relationships with professors. The admissions departement should be willing to overlook my GPA if I have a prof or two clamoring for me to [continue to] do research with them.
"[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz
Comp Sci, but only if it's from one of the very best CS curriculums in the world. Top 10 in the US, 30 in the world. Otherwise you're better off just picking up your career now and rolling with the experience, because most CS courses at most colleges, private included, are so far behind and out of touch with what's actually useful today, let alone by the time you graduate, that you won't be learning anything of relevance you couldn't have learned by cruising the web for interesting CS-related topics. In fact, cruising the web would probably teach you MORE. Googling Red Black Trees and Erlang will likely get you more prepared for a good job than attending something below the top 10 - piece of paper aside.
Personally if I could go back and do college again I'd get a Business degree. When it came time to do freelance, knowing business already so I could just code and invent and be happy would have made a world of difference.
I took the Information Technology route and graduated ten years ago. My career has been business focussed, in that I've been immersed in solving business problems using IT.
I've been working directly with clients for most of that time, starting in support (for an accounting system company), programming (maintenance & bespoke work on said accounting system) and project management / application delivery work.
I'm now an IT consultant who delivers systems for clients.
A friend of mine at university (A+ student) took the Computer Science route and has worked on medical device programmming, a sports betting company's java architecture and associated bespoke engineering for large clients of said sports betting company; visual image interpretation using C++ and a whole host of other more "sciency" roles.
I've programmed in C, a custom language called C-L, perl, VBA, a little java; sys admined, lead meetings and written project plans and co-authored board papers.
My friend has done much the same, minus the project plans and board papers.
FWIW, I earn about twice what he does; but we both very much like what we do. Neither of us would be doing what we didn't like for 10 years straight, so make sure your choice is based on your passion.
I've always liked business applications and systems; my friend has always liked solving sciency problems....
HTH,
Baked.
From the original poster:
I'm actually Australian, guys, and please forgive my ignorance on the American college/university system (They normally get called colleges in the movies!)
From what I gather, Computer Science and Information Technology both go under the name "Informatik" in the German-speaking countries.
Anyone from any of the above places able to set me straight on this?
Grüß Gott aus Bayern!
Is Computer Science & Engineering still a popular degree option? I got my Bachelor's in CSE in 1994, and now that I'm back in school getting a Master's in Applied Physics, I'm grateful for all of the math and science courses that the "Engineering" part of the degree tacked on. Just reading this thread, it's interesting all of the computer-related degree paths that have become available. When I started my undergrad, there was pretty much just Computer Science - if you wanted the "Engineering" at the end of your degree, your best bet was Electrical Engineering with a bunch of computer electives during your later years. Then CSE started popping up, which at the time was largely the Computer Science curriculum with a bunch of math and science (Calc I/II/III, linear/matrix algebra, differential equations, Physics I/II, Statics/Dynamics, Classical Optics/Modern Physics, Thermodynamics and Engineering Statistics). I switched from EE to CSE as soon as it became available, and even though I haven't worked in the field (been flying for the Navy almost since I graduated), I really appreciate the education I got.
IT is an over-hyped career about 5 years away from being a commodity. I haven't worked at a company that has in-house IT in a long time. No wonder the IT guys are the first ones laid-off. The question is where to learn EE or just CS. I studied EE/CS and highly recommend integrating hardware studies into your degree.
1) All the engineers that I know that studied CS without EE are lousy engineers. Just as understanding assembly makes you a better C programmer, so does understanding logic design make you a better assembly programmer.
2) Both CS and EE you can learn from a book, but only CS can you download and practice at home. EE requires expensive equipment and a lab that the university can provide.
3) Because CS is easier to learn on your own, everyone and his mother can get started. Competition will get fierce. Good electrical engineers are always more difficult to find. Low supply means better wages.
Heres my opinion. Pick the one with the better co-op (internship) program. Work experience is worth is weight in gold, my friend.
Also, if you want to be a hot commodity in the market, pick the program that offers topics on SDLC (software development life cycle or just software engineering), OO programming, networking, operating systems, algorithms (very important), database (also extremely important), web dev and MIS (managing information systems).
Personally, I would strongly recommend you taking these topics no matter what you decide to do. Whether you decide to become a game programmer, a systems analyst, a project manager, or any other role in the IT industry for that matter, the topics listed above will greatly aid your career. You'll just have to trust me on this one, I guess, but once you get your first co-op job, it will become a lot clearer.
Finally and most importantly, what ever path you decide to choose make sure you enjoy it!
I am in academics and so I think that you may benefit from the perspective that the universities are trying to follow. ACM, IEEE, AIS, etc. have engaged in an exercise to resolve some of these issues from a curriculum clarity perspective. This would be relevant to you since you are going to enter a 4 year program and engage in a formal curriculum. ACM has a master document which is called the CC2005 document which provides a perspective of what the scope of area like CS, IT, EE, CE, and MIS is. There are also reference curriculum that for each of the areas like the IT2005 for IT degree. Given the focus on some kind of standardization and accreditation in most universities, these documents will give you a good reference as to what you will learn in these programs. That may be your starting point since as you go along you can start at one place and end at another easily given your interest, committment, and initiative. From my personal perspective I would highly recommend a CS or a CE degree which gives you a sound base and understanding of the concepts at the undergraduate level. Building on other knowledge areas like business areas can happen subsequently or if you are interested in a parallel mode with dual majors. Though I teach in MIS my undergraduate degree in Computer Science and Engineering always gives me some advantage everytime I run into situations. The main thing you may want to consider is that how happy are you with a black box approach to things as opposed to knowing how is all really works. There are benefit of each but I have not found many people who will pick up a book later in their careers and learn graph theory, algorithm complexity, NP completeness and so on. I would say that if you have the will learn the stuff that will stay with you for times to come and that means conceptual knowledge, go for either a CE or a CS degree
I infer that you're from the UK. If you are in the UK and you think there's an off-chance that you might go into the city (merchant banking), then there is a tremendous amount of snobbery.
About 5 years ago, the UK IT market was pretty slack, and just about every IT job in the city demanded that your degree was from one of the top five C.S. Uni's in the UK - I can't recall them all, certainly Oxford and Glasgow were two. Your CV (resume) would NOT get beyond the recruitment agent unless you'd been to the right Uni.
I'm the first person to agree that posession of a degree makes little difference to whether you can do a job, but that's how it was. I expect the same condition will return if the market slackens again.
Note that I only observed this in financial jobs.
Note to ACs: I won't mod you up, even if you are being funny or insightful. So take a chance! It's not real life!
I have just recently finished my computer science degree at a uk university, and am currently doing my masters.
The focus difference between CS and IT courses in my view is that IT focuses primarily on the user, and hence things such as multimedia, design etc. While CS at my uni may not be as formal and theory based as it could be, it still puts more focus on the systems and how they work. My course was very modular and allowed overlapped of both fields if you wanted it, though I think that could dilute the benefit of the education if you push it too far.
IT were taught VB in their first year here, CS was taught C (badly however, I left the lectures never to return about 2 months in after the 3rd 2 hour lecture on the for loop). Though I beleive thats now changed to C++ for the CS route.
Web programming was available to both sides as were courses focussing on databases. CS just got all the nice juicy topics of interest instead of flash/director lessons.
I'm guessing that the "IT" degree is more closely related to an "MIS" degree here in the states. Most of the department heads and managers I know (not counting those in Academia) have MIS degrees along with their MBA. The CS guys (like the engineers) generally spend 20-30 years doing the same thing... what the MIS/MBA grads tell them to.
I am currently a double major in CS and IT. Here's how I look at it: I have Information Technology to learn the stuff I want to learn in college. I have Computer Science to take the courses that I have to take to get a good job (or increase my chances, at least). I guess it is the best of both worlds.
Better that you find a "vertical" industry...some business or application field that you want to do (like finance, sales, manufacturing, artist, poly sci, etc.) and take CS/IT in support of that. The hard reality that people don't get is that IT and CS are now generally being treated as commodities, like hard drives and computer parts.
No doubt you have read the threads in Slashdot about H1B visas in the US, Micro$oft and other companies opening R&D centers in Canada, India, and China. The bottom line is that companies are outsourcing all of IT overseas to lower costs. This is also including Technical Project Management and Architect positions. (The only ones not going over yet are Business Analysts and Overall Project Management.) Do you really want to work in a first-world country and be paid third-world wages?
The good news is that if you gain experience in an industry/vertical and then integrate IT/CS into your work, you enhance your skills, career, salary, etc. But note the emphasis: real knowledge about the industry first, not IT/CS first.
Just to cover the 1.2 in a million chance: If you are that hot-shot CS geek who will wants to be a professor and already have your scholarship offers from MIT, Stanford, and those top-tier IT schools, then go for it. Otherwise, you are future laoyff fodder for the corporation.
For those wanting to flame me, I have 30 years experience in IT, having built supercomputers long before they were called that (designed systems that blew past CRAYs in the late 70's and would be in the top 100 or so today, if unclassified--Yep, the 70s!). And I've also got the Math chops to back it up, having designed algorithms so advanced they are still beyond state of the art in the industry even today (and I have a few new ones I'm developing and patenting as we speak).
And I'm moving into Finance out of IT/CS. I got a wife and kids to support and can't tolerate the "income volatility" (read this as: layoffs, sporadic contract work, decreasing rates, bad financial stuff) that CS/IT now offers anybody with experience over 5-10 years. Simply put, creditors don't like hearing "sorry, no income this month for you; I didn't get paid."
Do a Google on Guy Kawasaki and "Ship Crap" to understand how companies feel about software: ship anything first and then maybe you can fix it later. This from that Apple guy, considered a thought leader in the VC world and software.
The belief that learning how to do software correctly is no longer cost-effective in large companies. It is now focused on lowering the cost of errors and fixing them, not preventing them from happening. To paraphrase a great line from the movie Mrs. Robinson: "Two words: Microsoft Vista."
Just for the record: Find an industry/passion you want to do and learn that first. Then add CS/IT to support you in doing that work. Save yourself lots of future pain and make that shift now while you can leverage your education the most.
Supreme Granter of Doctor of Obviology Letters ("A FIRM Command of the Obvious")
I'm an IT major because I like beer, females, and seeing sunlight.
Seriously though, if you like Math and programming, then CS is an obvious one. If not, do IT for now. What some people are neglecting to mention is that you can always go back. For me to take an IT undergrad and master in CS requires 1 extra course at the undergraduate level. Typically the Maths needed interchange with each other. Also, my IT degree allows for substitution of IT classes for CS. Now, why would I still opt to take an IT degree over CS? Simply put, I wanted a more well-rounded degree. Taking some business courses on top of some programming courses, mixed in with Information Security courses provides a wider-range of study.
Remember: An undergraduate degree gets you in the door, your performance, personality, etc keeps you in. The degree is the first stone to walk on.
I started "Computing" at A-Level (I dropped out and got a job as a progreammer) and it covered things like, relational databases, venn diagrams, simplistic programming, but not algorithms and no real handy datastructures. For coursework we were supposed to write some faux real world system, model the problem formally and then deliver it in access. I said, why couldn't I write it in Delphi (I was into programming long before I started this course) and the teacher said, I'm not in an position to review it. So no.
For what it's worth, any exposure to the science of computing, especially in terms of algorithms and the maths has been hugely helpful to me as a programmer. I remember when I first started out doing lots of things the hard way, time consuming, over complicated, harder to understand for the next guy and just generally just repeating the tasks implemented far more competently by libraries. As time went on (and I was exposed to better programmers) I picked things up. I learned about areas and drilled into them in great depth.
I now work as a Senior Programmer type building massive multithreaded distributed systems on low latency interconnects because I worked *very* hard at filling in my knowledge. A CS course (I'm not saying a degree but I'm neither for or against degrees, specifically, depends on the subject) would have been tremendously helpful.
I would try and pick up a masters in CS if I could find one which wasn't, XML, Databases and a bit of OO.
The way I see it, and I say this as a holder of a BS in CS myself, Computer Science is the "nerd" avenue, and IT is the new "salesman" avenue.
The CompSci guys are the software nerds. Unfortunately, there are good software nerds in other countries with far cheaper labor rates. The outlook for being a software nerd seems bleak.
The IT guys have become salesmen with "good interpersonal skills" (i.e. smooth talking salesmen) with a bit of tech savvy. They are they guys with a enough tech savvy to forge the big business deals that leverage the el-cheapo commodity CompSci labor from India and turn it into a product that can be sold. The outlook for these guys seems pretty bright to me.
In short, the CompSci guys are the high-tech ditch diggers, and the IT guys use them to forge business deals and make money.
I'm not saying you can't make money as a CompSci guy, but it seems to me there is a lot less room for "average" CompSci guys anymore in the US. You've got to be absolutely top-notch caliber because all the average and below work is going overseas. I think it would be safer to be an IT "big picture" guy.
A work that expires before its copyright never enters the public domain and thus enjoys eternal copyright protection.
It is obvious from your post that you work the a windows environment.
The "CS" people you are talking about somehow barely know Java or Visual Basic. Are you sure they got a real CS degree?
This is slashdot. Many people here are Linux users, even at home. That means many are basically system admins on there own time.
But again, I think you are talking about a windows sys admin. Wrong audience. most here "don't do windows".
>For example, while the Fortune 250 firm I work for is shedding programmers and analysts like mad for outsourced options,
>it is also hiring project managers, auditors, information security analysts...
Precisely so. It is a mistake to go into Comp Sci anymore. That is the outsource mecca. Don't be a doer - be a manager. Go IT.
A work that expires before its copyright never enters the public domain and thus enjoys eternal copyright protection.
In my opinion, go Computer Engineering. Unless your goal is to write application software, a computer engineering degree is far more lucrative and flexible than either a CS or an IT degree. As a CE writing software, you will understand the hardware far better, and will be the l33t ninja low level coder that writes device drivers for custom HW, and can get linux to run on a battery-powered thimble. And you can interview for both software and hardware positions. Granted, you won't learn how to do web or database programming, but to me that stuff is not very interesting. Definitely think about it, but you better like math. You get all the math of a CS, plus some of the math of an EE. Also, you can easily switch to EE or get a graduate degree in EE if you decide you like hardware more.
A lot of other comments sum it up pretty nicely: CS enables IT work, but not the other way around. But this is "only" the engineering point of view. Working with IT demands a much higher level of social aptness. I.e. you can safely assume that "getting things done" in IT will involve a lot of
:-)
* Being nice when you'd rather not (for whatever reason).
* Brokering other peoples ideas and suppressing your own for the greater good.
* Encouraging instead of critisizing (CS is academic/critic -- IT is mainly cooperative).
* Accept responsibility for projects that are dependent on resources that you do not control.
* Making sure you don't fall into kissing arses even though the other points sort of invite that.
Clearly, this can be highly stressful. But it is also a great way to develop personal integrity and people really tend to admire the person that enables *their* work. Much more than author of the latest gizmo.
Then, when you return to CS work with these new skills you can really make a difference. You basically get double competency. And maybe double salary too
CS is definitely the harder degree, but for many people, enrolling into a reputable IT program will get them the better job. I was enrolled in a top 20 CS program when I decided to leave it as a minor and switch to an IT track, since I noticed that my friends graduating with IT degrees were making 10K higher with better companies than my CS friends. The reason is simple: IT is easier, which means you will in all likelihood graduate with a much, much higher GPA. Unfortunate as it is, I know morons who graduated with near 4.0 GPAs in IT tracks and entered the market making ridiculous amounts of money. On the other hand, I know some smart CS guys who couldn't meet the 3.0, 3.3 or 3.5 GPA cutoffs to even get an interview with the bigger firms. In my current position, I see the hardcore developer roles (requiring skills taught in CS) outsourced daily, whereas better paying, analyst or project management roles (which generally require softer skills taught in IT) remain intact. It's unfair, but true.
It really depends on what you want to do, if you want to spend most of your day programming go for Computer Science. If you'd rather do the other IT stuff (user support, working on servers, administrating databases, replacing broken keyboards and mice), go for IT. I personally have a Computer Science major with an Information Technology minor. I've largely been doing info tech stuff since i graduated four years ago, mostly because the area I live in is small and there simply aren't jobs for people that only want to do programming. I keep working at it though, doing projects on the side, and hope soon to get a position where all I do is program. I've never had trouble getting the IT type jobs with a CS major though... most people that do the hiring don't seem to realize there is a difference between the two.
I'm interested in both hardware and software so I chose Computer Engineering. My only regret, so far, has been that so few understand that a Computer Engineer (CPE) is an Electrical Engineer (EE) with emphasis in Computers and Software Processing (i.e., a EE with a CS minor).
It's tough work to pass with any semblance of a GPA, but it's extremely rewarding to have the ability to invent a processor from blank screen to final prototype and write the compiler by yourself. Granted, such a job is not likely to exist anymore, but with a CPE you are qualified to work at any major hardware vendor on their primary product. Nvidia, AMD, Intel, Dell, Gateway, etc. are all open to you. Granted these are all US companies, but you get the idea.
Resistance is futile. Your technological distinctiveness will be added to our own. You will become one with the morgue
I take it you are talking about a bachelor's (4 yr.) program. Take the CS track for your own edification even if you are not interested in a hardware(design)/physical line of work. That is, even if you are mainly interested in software engineering, system admin, etc. The sense of accomplishment for endeavoring to get somewhat "to the bottom" of a structurally complex and rich subject will bolster you later in life. I think more folks should look at college for challenging and enriching their minds, rather than it leading to strictly monetary rewards. However, keep in mind why you are doing it, and note that for your investment, you will be compensated less materially.
Another hard discipline could also be taken, and IT studied on the side or (what I did) later, though the CS degree CAN help you in some IT fields (often not the better of them, IMO), and there is still plenty of rigor and science to marvel at there. Whatever you do, you will still have to run the business gauntlet at the end of it, at which point nothing could serve you better than the resultant internal source of pride and accomplishment.
Bukowski said it. I believe it. That settles it.
take this in consideration:
The type of school or degree you go into is only the "candy wrapper." It can sell you with some good marketing, but it can't make you taste any better than the quality of the ingredients it contains. The most important education you get is self-education, the school is there to help you.
Bill Gates dropped out of college and is a billionaire. Your education isn't going to make you successful, YOU are! I know many rich or successful and happy people that are in all walks of life and have jobs that they enjoy. Their education is only a small consideration. You can get a job as a CS major that pays peanuts and a job as an IT major making six figures.
This CS and IT thing is like arguing over becoming a brain surgeon or a general practitioner. Even though one may be able to do the other's job to some degree, or not, they both practice different fields. This is why there are two different degrees to choose from.
I am an IT graduate. I have a very good IT job. The pay is very good and the job is great. I work with programmers with CS degrees. They would make terrible IT managers... and the company knows it; that's why they hired me. That's why you don't see automotive engineers as mechanics.
A lot of what has been said about IT vs CS is true, but the spectrum of computing
is larger than just what those two cover.
Like others have said, the main question is "what do you want to do?", not "what tools
do you want to use?". Then choose a degree on point.
IT for sysadmin, etc
CS for computing systems (compilers, RDBMS, schedulers, etc)
Traditional engineering degrees for engineering research or problem solving (like where
I work which prefers EEs, AEs, MEs over CSs or ITs).
A math major is probably the best jack-of-all-trades degree for the person who just
does not know yet what they want to do.
To abstract a bit, I'd break down the most used basics into the triumvirate of
problem-solving, math, and tools. Engineering formally covers problem-solving and
pre-reqs the math, and tools are easy (relatively) to pick up. This is why we prefer
to hire engineers. In this view, CS is applied math, like engineering, but without
the formal problem-solving. However, the CS applied math subset is often more on-point
for lots of things computing. Math covers the largest subset of math, and can be very
powerful in the long run due to that.
problem-solving math tools
engineering primary applied secondary
CS secondary applied applied
IT secondary secondary primary
math secondary primary secondary
My bias is clearly not towards IT since I have engineering, CS, and math degrees, but no
IT degree. If I had to choose only one of those degrees to build a career upon
it would be the engineering degree...but that suits my taste.
I had this conversation recently, and I really think it's all about goals. Here's a link to my blog post about it.a ls.html
http://tylerkrpata.blogspot.com/2007/06/career-go
Certainly, high quality IT staff are hard to find, as are high quality software engineers, etc.
My own view is that the ability to do what you find interesting and not the degree is the biggest factor creating quality.
Let's face it-- IT education, especially those whithout serious computer science and applied math training stinks. Yes, you can learn some management principles but are unlikely to learn how things actually work and without that, you have very little understanding of what you are expecting to manage. And for some reason, people even think that certain failed models (like OSI) make good teaching frameworks.
At the same time, I have *not* been impressed by the quality of software engineering skills that I have seen by the average CS graduate either. On the other hand, my degree is in history and I had only one class even approaching anything like computer science in college. Most of my math is self-taught (though I did give up teaching myself spherical trig).
While there are certain areas where I am not able to hold my own against CS majors (such as asm), I would say that in general, I have a better understanding of the higher-level problems than 90% of the people I have met who had a formal education in the area. In short, I did what I loved studying history, and I do what I love in software engineering. This and nothing more make me better at what I do than the vast majority of those who went into it to build their careers.
So my advice would come back to my paraphrase of one of Paul Graham's essays: Look for interesting and difficult problems which you can apply yourself towards.
LedgerSMB: Open source Accounting/ERP
If you do choose to go with CS, be careful where you go. Someone posted down below that he got a degree in Computer Science and Engineering (CSE), and was now grateful for the math that the E taught. I'm currently a CS student, and if you graduate from the school I am at with a CS degree, you are two or three classes away from being a Math major...What I'm saying is, some schools with be heavy on the math with cs, and others will not. Check with your school. If the CS degree is a B.A., and not a B.S., chances are that there will be less math involved. Some schools I looked at didn't offer CS as a B.S. because it's not considered a natural science. I feel like the B.S. will get you farther than the B.A.
I got my degree in Computer Engineering from UC Davis. Looking at the course curriculum, my CE degree covered all of the CS classes and then some. With my degree I have had the following experience:
:) I worked my way up, and I am now the project manager, and I deal with a lot of systems and wear a lot of hats --> network engineer, intranet / internet developer, VOIP, RIS, PACS, etc. In IT, you can apply your knowledge of computer science without having to code all day every day. I am really happy with the medical IT industry and intend to stick with it.
My first job was as a software engineer. At first it was great, and I loved the intellectual side of the job. However, I am a bit on the ADHD side of things, and cannot sit still for hours on end EVERY DAY. After about 6 months of being a "hardcore coder," I got over it. The whole, sitting in one spot for 8-10 hours a day, thing was too much for me to bear.
My second and current job is in the medical IT industry. I started as an IT grunt, fixing printers and recovering people from their "keyboard-chair" interface issues.
What I can say with my current perspective is that I am really glad that I got my Computer Engineering degree even though I am an "IT guy." Having the knowledge that ranges from how a transistor works, to high level programming is a huge asset. Even though I don't necessarily apply that knowledge on a daily basis, it gives me the perspective and insight to how all this crap works. Having a CE degree commands a lot of respect in the workplace. I am also loving the fact that I deal with a huge breadth of systems. My day in IT is never the same, where as my day as a code monkey was consistently monotonous (IMO).
Addressing the topic of college degree, the difficulty from hardest to easiest would be:
Computer Engineering -> Computer Science -> IT
When you get a degree, you can easily get a job in the field that is "easier." Like how I got my CE degree and got an IT job. However, you can't really go the opposite way as easy: IT degree -> CS job. My recommendation would be to get the most difficult degree you can, and decide on your career later when you have a better perspective on what suites you the best.
I'd say if you like or are good at maths (especially pure maths as opposed to stats or mechanics) then do CS, otherwise do IT or Software Engineering depending on whether you have a preference for development or business analysis type work.
:-)
If you want to go down the investment-banking-in-London type route then a CS degree is probably where the big bucks are at (I know a guy who has just started on ~£60k straight out of uni), otherwise most employers won't care whether you did CS or IT as long as the degree is from a good university. If the entry requirements are such that you could go to a better university with your expected grades if you did IT rather than CS, I would give that some serious thought.
I'm saying this as someone who graduated with a CS degree from the University of Warwick in 2003 and now works in the IT Consultancy business out of London. I know quite a lot of people who have gone both the CS and IT routes and have had very similar career paths. Most of all I'd say go with the course you're more likely to stick at!
You've got to look closely at the courses involved. I studied IT at Leicester and it was nothing like what some on this discussion are suggesting. It was not a course for sysadmins.
In my case the CS students learned application development (including Cobol believe it or not). In IT we studied operating systems, data commmunications and electronics. The net result was a much more rounded course. My first job was as a software engineer for British Telecom research. Now I'm the CTO for a company in America.
In short, look closely at the details of the course, remember your degree gets you your first interview and that's about all, and good luck.
Comment removed based on user account deletion
I've worked jobs that fall into Computer Science, Information Technology, and Electrical Engineering. For me there is a lot of overlap in these fields. I have a bachelor's degree in CS. I'll admit to being overwelmed working in EE (especially by the math involved) and that there was a long learning curve for me in IT. I still think CS is a good background. In IT I find that often the hardest IT problems boil down to CS problems and at these times my background is a strong plus. e.g. sometimes having actually written a virtual memory manager in college gives me an edge when tuning a server. If I did get my Master's degree I'd likely get an IT degree. CS in grad school gets rather theoretical and less useful in the real world.
I thought the ongoing battle to pit these two disciplines against each other was dead. Here is my take. CS is generally for engineer types creating products and services. Typically, CIS is for business professionals that focus on the organization\system interface. For all of those that say that they will crush us with their superior education, I say give your career a few years and let us know how you are doing. Our management team (at a very large manufacturing firm) is primarily composed of IT and business degree holders. I graduated in CIS over 5 years ago. The degree was offered by the university's college of business. I worked in software design while I was going to school for five years. In the beginning, my career path was parallel with CS students. After finishing school, I would say that I fell a little behind (salary-wise) for a while, compared to my friends with CS degrees. They were also given cooler titles (like developer, programmer or engineer). I started to doubt my decision to study CIS. However, I'm now 9 years into my software/IT career and I have caught back up on salary with most CS guys my age. I presently wouldn't want to trade career paths with any of the CS guys that I used to work with. Sadly, programmers in my company are viewed as mechanics for our system. My pay grade is not far below the most senior programmers in the company, which have a pretty modest curve after their initially high starting wage. People at a high level get to chose the direction and often programmers have to work with what they are given. Not many programmers break out of their molds where I work. Most of my hard skills are self taught. I can toss around assembly and debug code as well as most in my field. The most important thing to know is this: You can teach yourself anything, and yes -this is even true for a CIS major. If there is an area where I need more knowledge I download an ebook and get busy learning. Yes, CS + MBA is probably the best option if you care to be respected in both worlds (development and management). If you want to be a CIO or VP someday, most non-tech companies probably have CIS or MBAs in these positions. The CIS degree is usually just a business degree (BBA) with computer courses filling us the spare space. This is not such a bad thing -you have more in common with the suits. The degree is not as important as your ability to find and make opportunity. If you sit in the same cubicle year after year and congratulate yourself on your college accomplishments and success in passing advanced math courses, you probably deserve your Dilbert lifestyle. The rest of us have asses to kick and names to take. As far as the future goes, none of the prophet wannabes here know either. More coding and support functions will likely continue to go overseas. I would suggest finding a field that does not expose as much vulnerability to this. Business Generalists/Finance/Accounting types will continue to run companies. This will not likely be outsourced. For IT or programmer people to be in the club, it requires some respect for business. CS is good for teaching problem solving.