On the Differences Between MIS/CIS/CS Degrees?
Dark Ninja asks:
"I find that after having a professional IT job (C++ programmer/DBA)
for four+ years, not having a degree is a hindrance to finding a job. So with this in mind, I'm planning on attending
college soon, but I want to know the difference between an Management
Information System, Computer Information System, and Computer Science
degrees? Better yet, which ones do you suggest (ie. to allow
advancement, which allows for what jobs, etc)?"
From where I went to college (Oklahoma State University), the difference between MIS and CS was that CS was more geared for programming, and MIS was more geared for business with computers. I started out towards a CS degree, but after facing 'impossible' teachers, I switched to the easier MIS stuff to graduate.
However, it had absolutely no impact (that I am aware of) on my marketability after college. They were looking for a degree. But your mileage may vary.
Actually, I'm thankful that I got the business courses that I would have missed under CS.
MIS is business courses with some basic programming added (mostly high level stuff, + web pages and the like.) It's not a CS degree. Most CS people laugh at these people. Sorry but it's true.
CIS is computer science with general business courses added. The core CS courses will be there but not much specialization in CS.
Computer Science itself comprises the core courses plus many posible specializations (IS above being one of them). Depending on your preferences you can specialize in different courses; adding some basic engineering courses, or higher level CS courses for example.
Personally I graduated with a CS degree, speicializing in Software Systems which basically meant all my "specialization" credits were used up with higher level CS courses and math courses.
There is this great misconception that just because one is a great programmer he does not need real training as a computer scientist. This is due to the fact that most people think of a BS in CS as a formal education as a IT worker, so one who thinks he is a great programmer thinks that a BSCS wont really add anything usefull to him, except for the diploma.
The fact is that Computer Science is not only about becoming a IT worker. Its about using computers to solve problems, and about designing these computers to solve this problems. And about understanding and modeling the problems to begin with. There are actually great programmers who are mediocre computer scientists, great computer scientists who are mediocre programmers (usually of the thoretic cs kind), and great it workers who are great computer scientists (and really shitty programmers and Computer Scientists). And since these are different things, that is why it takes about 5 years to graduate a computer scientist.
Sometimes, a programmer who "learned CS" by his own, has acquired many bad habits that he would not have acquired if he had any formal training ("goto statement considered harmfull" comes to mind), and design rules, software engineering, etc. By the other side, self-learned IT professionals have a much more "getting the work done" attitude, and finding things out by himself, which is *extremely* usefull in industry.
So the idea is that one thing complements the other, and yes, it would be nice for anyone who works with technology without a formal training to really spend the time *learning* CS.
Just my 2c.
Management Information Systems. It is a focus on the business and management portion of computing. People with degrees in MIS can go into a variety of positions, but they are usually either business related computing (i.e., drafting IT plans for companies, helping bridge gaps in IT in companies), or consulting for companies with important business software, such as PeopleSoft.
Computer science people are the ones who write the software MIS people implement and use.
it really doesn't matter, honestly, what you major in college...
:-)
the fact is, once you get that paper... you could say you majored in History, Art, Literature, etc... but if you have certs and so forth... expect to get hired...
i have a few friends who work for big companies (IBM, Lotus, Computer Associates) and they all never majored in CS/CIS/MIS... but they still landed the job, just because they went to college and they had certs...
another option you might want to consider, is consulting... i consult... and i don't have a college degree... and get this... all the clients who i have worked/am working for... have never asked me for my college degree nor resume (even though i do have a resume)...
the other good thing about consulting is, that once you build up your client base... you'll be working off referrals too... so that's another good thing... only bad thing about consulting is that you'll get no benefits... and no insurance
but if you're married and your wife has medical insurance for the family.. and so forth.. that shouldn't be a problem
"The ones who dont do anything are always the ones who try to pull you down" -- Henry Rollins
If you're a professional C++ programmer/DBA, then you'd probably be bored to tears by the "computer" classes that a MIS or CIS degree involves. That's not strictly true - there may be some good design/architecture courses which you may very well enjoy. Take a very close look at the course catalogs and graduation requirements for the schools you are looking at.
Depending on the school, the same may be true for the courses you need for a CS degree.
Don't overlook the possibility of getting a degree in something other than (or in addition to) CS/MIS/CIS. In four years it is very likely that a degree in economics or actuarial science or applied physics or EE will be the key to doing interesting and/or high-paying stuff. Or, for that matter, Eastern European literature or sociology or basketball coaching may be your true love! or
if a company i'm interviewing with doesn't want to hire me because i have no colege degree, even though i have 5 years of experience, then i don't want to work for that company anyway.
Uhh, that would be college and the grammar could use some work as well. Ummm.....thanks for applying but don't call us. We'll call you.
Visit Jonesblog and say hello.
Computer Engineering is sort of a hybrid between Electrical Engineering and Computer Science. You will take mostly engineering courses, with specializations such as Digital Logic and Computer Archetechture. However, you can customize the degree to go either way. For example, if you go to the CS side you will take classes in Software Engineering.
Hope this helps.
"Who is more foolish, the fool, or the fool that follows him?"
CS is a math-heavy, theory-heavy degree that teaches you how to program *and* gives you a background in the mathematical foundations in computing. Whilst you might not use all of directly as a programmer, it's a) a lot of fun for some people, and b) gives you a much greater understanding of what computers can and can't do.
Software Engineering contained a pretty high overlap with CS, but they skipped some of the theoretical stuff to do more on building large software projects in teams using engineering methodologies. I remain skeptical of some of the value of this stuff, but, however, the *practical* experience, whilst rather stressful (trying to play a real software engineer when you've still got other subjects to complete imposes nasty workloads), is useful. It may be less useful for you, as you sound like you've already got a substantial amount of practical experience.
Information Systems was very light on programming. Talking to instructors in the department, it seems like most of the people who come out of it with a degree in IS can barely write a shell script. However, what they do learn is a lot of stuff about business processes and the like. In fact, from both the syllabus and the students, I got the impression that much of the course was basically a commerce degree for people interested (but not necessarily particularly gifted in) IT.
Look, I'm not knocking knowing business processes and the like, but if you like to code, it's a lot easier to learn about business later on (perhaps in an MBA) than it is to learn heavy-duty maths later in life. But then again, you might take the view that you can already code and learning about the business side of IT might be more useful to you.
Any sufficiently advanced technology is indistinguishable from a rigged demo
--Andy Finkel (J. Klass?)
Very few employeers will go into great scrutiny over what degree you got. They might put some spotlight onto which college you got it from, if it is exceptionally good or exceptionally bad. Because you're in college, you've got to be careful not to focus too much on the degree type. In the real world, for the most part (rogue managers aside), it doesn't matter. It just matters that you got a "computer degree".
Of course, I work with people at a "large company" that have photography degrees, technical college degrees, no degrees, and so forth. Basically, here's what the degree does for you:
In some cases, it gets you hired. There will be some employeers that won't consider candidates without degrees.
In almost all circumstances, it affects your ability to get a promotion. You can't reach _X_ level unless you have a degree. It is a golden rule. The college degree increases your cap. And it doesn't matter which degree you have, from what I have seen.
Since it really doesn't matter much in real life, I would advocate two different goals:
1] Go for the degree that will get you out of college easily and quickly.
2] Go for the degree that will stretch you and help you to learn the most things that will help you along your career as your currently understand it.
Of course, as mentioned earlier, for me, the business courses (which weren't really my main interest) has helped an incredible amount to understand the business world. And that is, after all, where I work!
I'm a Professsor of CS. So I feel qualified to answer.
CIS: A Business degree with computers in it. You will also learn marketing and accounting. You need to like business for this degree. Many people think this is the easiest of the degrees.
Computer Engineering: This is a degree for hardware people. This is a degree for serious geeks who like math and logic, but don't want to become programmers.
CS: This is a degree for people who want to program. We teach algorithms and writing code. We write programs.
Just so we're clear, CS is the coolest of the choices!
-Kitplane01
Don't count on getting an actual useful education, esspecialy since you already have experience. Memorize what they tell you to memorize and then write it on the little peice of paper in different words and hand it to the professor. But do not neccisarily believe anything they tell you that you don't already know.
I've met people with CS degrees that didn't have a clue. They could write C or C++ programs, but they needed strict guidelines, their "skills" essentialy made them word processors. And don't get me started on the CS graduates that don't understand that Windows isn't the ONLY OS out there. (Trust me, they exist, even now)
I also graduated with a CS degree, so that's the only one I can really comment on. Most jobs I looked into (especially in the SF Bay area) wanted a CS degree, even for SysAdmin work (which to me, means they value something from the degree beyond technical competence, as I didn't take any courses that would have helped me with admin work).
Basically, IMHO, a CS degree will qualify you for just about any TECHNICAL direction you decide to move in. Its definitely what I would suggest.
Why is this question, or one very similar, an ask slashdot about once every week?
My answer:
Get whatever you want you want. All you need a degree for is to get your first job, after that, its experience and references that matter. So, get whatever degree you'll have the most fun getting. Comp Engineers, Comp Sci, College drops outs, we all work together, and we all do the same job. University is just there to seperate the rich from the poor and to enforce the class system.
MIS: Management Information Systems (other variations exist)
CIS: Computer Information systems
CS: Computer Science
CE: Computer Engineering
MIS is more business oriented. In theory, the major is supposed to provide a stong business flow education, while teaching some basic computer skills... enough to have a sense of what is going on.
CIS is very similar to MIS at most schools. Some don't make a distinction. It's supposed to have a slightly more technical side than MIS. This is ideal for people working in IT deparments that want to go the management route, but with the technical side of things. Think of it as a techie with a bit of business understanding.
CS is a science. It has a strong focus on programming, but you also learn about the lower level systems. This is for people who want to really understand not just what a computer is doing on the outside, but the theory behind its internal designs. You will often learn things such as processor architecture, compiler design, etc. This will MORE than prepare you for an IT position, and is what most people in the industry have (that have a degree that is).
CE is very similar to CS. In fact, many schools don't make much of a distinction. However, CE is supposed to be more practically oriented. You still learn much of the theory, just not as advanced of it. What you do learn in exchange is engineering principles. You learn how to apply the theory and existing technology in real world situations... thus engineering. This is what I have. It tends to be a similar difficulty level as CS, but depends on the school. Many schools make this major harder since it carries an engineering title with it. It will very readily prepare you for the real world of computers, in theory.
In light of all of this, each school may vary on their definitions of each major. Keep in mind that the piece of paper may help, but in current times, it's difficult to find a job even WITH a computer engineering degree and 5 years experience. I wish you best of luck, since I myself, am having difficulty.
Cheers,
-Alex
MIS/CIS is more like a trade school degree
That's a load of crap--MIS is a very advanced field. The emphasis is placed on business, the same business courses that are taken by people in human resources, accounting, finance, management, marketing, production and operations management, you name it. The point of the course is to take it in an IT direction, and many of the biggest money makers are the ones who get jobs at places like SAP and PeopleSoft, people who end up as specialists in their management software and can consult regarding the business impact of the software. These people are the ones who get hired by the company through their employer to come tell the company what to do with their business.
The reason it isn't a two year degree is because you actually take courses, just like any other actual degree program. It's a full business program, not a CS program, which is why it's a part of the college of business at universities, not the college of computer science.
Think before you speak, know something about what's involved in a degree program and what you do with that degree post-graduation before you talk.
Sorry to reply to my own post, but I should also add that you don't necessarily *have* to do an IT degree. Interested in, say, philosophy, or a language, psychology perhaps? Studying these at university would teach you as many skills, many of which will help you in your future career, as an IT degree. Don't cut off other options.
Any sufficiently advanced technology is indistinguishable from a rigged demo
--Andy Finkel (J. Klass?)
I'm a CS major who has taken various IS courses and I have to say there are many differences that I have taken notice of: (1) Class size in an IS course is larger than any CS course (of course I go to a small school so I guess I should say "your mileage may vary" here). (2) The quality of students (I'm just being honest here) is much higher in a CS class. I've seen many IS seniors that have no real interest in computers, just want to find work when they graduate. (3) As far as professors go, every CS teacher I've had is a Ph.D. and IS teachers tend to be adjuncts or assistant professors, at least, for the intro classes. Subsequently, I think that more is expected of you as a CS major.
Basically, I would highly recommend going with CS. It has a more difficult curriculum but it opens your mind to some really interesting topics. So if you *like* to program and learn about interesting computer related topics then go with CS. If you want to be a great office user and "know" the ins and outs of how business works I would go with IS. Again, of course, your mileage may vary.
Good luck,
Dominick
The most important thing to remember about getting any of these degrees is that they are just that: degrees. Oftentimes, you'll find that the most important part of having a degree is not what the degree is in, it's that you have one.
As far as the different degrees go, to say that any one of them is better than the others is really only a matter of preference. It mostly depends on what you intend to do. Think about your true goals. If your desire is to be a great programmer, then a CS degree is probably the right choice for you. If, however, you are more the "project management" type who prefers to organize the team and the work on the project rather than doing most of the "down and dirty coding" themselves, then you should look into CIS/MIS.
Take a look through some course outline manuals provided at your college of choice. Check out the curriculum for each of the programs, and read the descriptions of the classes you'll be taking along each of those paths. This can be a great help in deciding what field you're really looking into.
One of the biggest mistakes you can make is to go for a CS degree when you really don't want to work in a "CS" environment. Make sure you fully understand the term "Computer Science" before seeking a degree in it; otherwise, you're likely to be very unhappy with your college experience.
Just remember, the most important thing is having a degree. Your chosen major often has only minor influence in your chosen profession.
Also, a college degree can open up alot more opportunities than you will have just with your 5 years experience. It's direct proof that you completed a certain course of study with at least a C in most cases, and shows that you are capable of devoting yourself to something worthwhile. IMHO it means alot more than being able to hold a job for 5 years, whose title may or may not have much bearing on what you did.
If an employer sees 'Bachelor's Degree in Computer Science from XYZ University' they know certain things that you should know, and they shouldn't have to worry about you not knowing them.
The best possible way to go is a college degree coupled with some sort of experience or research involvement.
What?
When people ask me what the differences are, I tell them it kind of like a sliding scale. At one end, it is business only. At the other end, it is computer only.
MIS - This is more towards the business end then the computer end. Basically, a business degree that taught visual basic also.
CIS - Kind of in the middle. More computers then business, but doesn't have the harder math/science requirements if at all. At my university, this is what most people who couldn't hack the math requirements switched to.
CS - More on the computer end then the business end. Programming, theory, and math. I think that this is the most desireable degree of the three, but it all depends on what you want to do I guess.
As everyone says here, MIS is more about buisness. The college I went to had a few courses that crossed over between CS and MIS. So about half way into the semester we get a fairly trivial programming assignment. The night before it was due I happened to be in the computer cluster, and nearby there were about 7 MIS people huddled around a computer trying to figure out how to open a file in C++ (third year students mind you!). From what I've seen, MIS people (in college anyway) can't code their way out of a paper bag. Generally I think you could do a lot more with a CS degree, and a few shiny certifacations.
with a CIS degree you can work on the helpline, with a MIS degree you can run the helpline,
with a CS degree you can create all the software the helpline people have to deal with for years after you;ve moved on to a new,more interesting project.
Actually here it's called BIS for Business Information Systems. I go to a school that most everybody wouldn't consider a shining beacon of technology, although we are pretty strong in engineering.
I chose not to go with CS because I don't want to be a programmer. I think I'd be decent at the job, it's just not what I want to do for the rest of my life. So I chose BIS.
Let me tell you a little about my classmates. I've yet to meet another one who runs Linux (some have tried it). Some of them type slowly (I consider that to be 25 wpm or less). Some of them struggle with what I consider basic computing concepts, such as FTP and command-line input. There are some just plain idiots, but most of my classmates are fairly intelligent, both in "book sense" and in "common sense."
I haven't been too impressed with the faculty so far. My VB teacher probably only knew enough VB to teach the (entry-level) course, and he didn't seem to know much about computers other than that. As an example, someone told me a couple of years ago that in class he mentioned that he couldn't check his school email from home because he used AOL (nevermind that it was entirely possible to telnet in and check it). I had a COBOL professor that I liked, he knew the material and was kind of fun to talk to. I'm taking an advanced COBOL class this semester with a professor who has a masters from Harvard, so I'm looking forward to that.
You'll probably notice that some people talk about what a joke an MIS degree is. In a way, that's true. CS majors have to learn all kinds of technical material (and don't forget you'll probably have to take at least through Calculus 3 or 4 for a CS degree), but they do miss out on some of the business material (hey, not *all* of it is common sense). A lot of BIS/MIS majors will never venture outside the required assignments in an attempt to learn a little more. But it's necessary if you really want to learn and be valuable outside of the classroom.
-- "Complacency is a far more dangerous attitude than outrage." -Naomi Littlebear
It's not as in depth nor does it tackle some of the finer points of algorithmic analysis as CS.
-
Where I attended college, this is how it played out:
1) MIS was a business degree with basic programming. The programming
2) CIS was a little more technical, but clearly the emphasis was on higher level programming (VB, macro stuff, COBOL) than on the nuts and bolts of computers.
3) CS had a heavy emphasis on software engineering, but there was significant coursework on how mechanized computation is implemented, ie processor design was taught as well as programming languages.
4) Computer Engineering was sort of a cross between Electrical Engineering and CS.
At my school, there was significant overlap between CompE and CS, to the point that we took many of the same core classes with regards to hardware. Near the end of the programs, final projects differed in implementation (CompE's had to build a simple computer via wire wrap and programmable arrays, CS majors had to write in software a SPARC similuator that would run compiled SPARC code).
For the record, I was graduated with a CS degree, went somewhere else for grad school, and found the the definition of CS is different depending on the department. My undergraduate work is much closer to what my grad advisors considered CompE work, where they spent much more time with the abstraction of computation away from the actual mechanisms -- predicate calculus rather than processor design. I initially hated it.
I found (after some time spent actually adminning (sp?) and programming for a living) that both phases of education have served me extremely well. The ability to abstract pieces of a large problem into discrete parts has been the best skill in my toolbox with regards to programming, while actually understanding the implmentation of processors and compilers has given me a leg up in terms of debugging both my code and vendor supplied software.
My advice to anyone starting out is to learn how to abstract and then get as technical as you can. The basics of computers are not going to change drastically for a good deal of time (no one is seriously considering a move away from Von Nuemann machines in their business plan), so if you know how computers work, the details of a programming language or an OS are just variations on a theme you already know. No matter what happens, it still just comes down to instructions on the code stack.
cs was a traditional programing and math sort of cs (actually, this is not strictly true...we did a lot more application than your average program)
cis was pretty much cs, but sans the math. They replaced it with business courses
mis was a business degree with some cs thrown in. Probably more like a technical manager sort of program.
-- Who is the bigger fool? The fool or the fool who follows him? --
I went to Purdue and opted for the Electrical Engineering Technology program. I saw a variety of people in that program and in the Electrical Engineering program. Each were run by their respective schools. Most people want to assume that they are similar programs run by similar people. They are entirely indepedant,however.
As I started looking for a job, I ran into some opposition because most employers in the design field only want EE's. However, if you can prove that your a competent in your field, then your degree only serves to show what your general background includes. I, now, work for Agilent (HP's Test Equipment spin-off.) I'm an application engineer fresh out of college. My only other experience was an engineering internship at Dell. I find it funny I got the job, because I was talking to one of the salesguys I support and he told me that they interviewed several EET type people. However, he wasn't comfortable hiring someone without a EE. My manager decided to go out on a limb because he said I was the only one that he felt comfortable with in the interview. And, surprisingly, I was the only one who correctly explained setup/hold times and crosstalk. When the I showed the salesguy my wallet diploma, his jaw dropped.
He was shocked because he realized it was me they hired and not my piece of paper. Granted, I'm not saying degrees aren't important. What I am saying is, there is more importance on what you take out of the program you choose, than the program itself. I am lucky to have gone to Purdue where all of its acedmics fly high. I am also lucky to have correctly choosen my career path. I exceled where (many many) many like me do not.
when CS people can't figure out amortization schedules and have a hard time mixing financal theory with cost-based accounting systems. sorry, but it's true.
don't buy into the CS / MIS us vs them crap, but rather look for a more generalized answer:
lots of MIS programs will vary. mine allowed us 8 hours (2 semesters of 4 hour classes) of C++ and VC++ MFC programming. I added in some OO programming which taught language agnostic principles. plus there was another 8 hours worth of DB stuff - SPs, tables, schemas, etc. on top of all that, we had several "capstone" classes which matched full semester group projects with business area focus. we had several companies bring in real world business issues which we then solved using our class knowledge (and the companies got a free consulting solution if they decided to use our work!)
i took Cal I and B-Cal - no more, no less. the CIS people i know from my university took Cal I-III and often some other elective mathematical classes.
the real questions is what will you envision yourself working on in 5 years? if you plan on doing business level programming, then the MIS degree is going to give you the requiste background in accounting, finance, and economics to survive. i found employeers were chomping at the bit b/c i had these skills - of course, i interviewed with (and work for) Fortune 300 companies.
we have some CS people at my company - these guys are wicked smart and several of them have military or NASA backgrounds. they do the low level, to the metal programming that our apps need. these guys are not building our accounting modules. that's not their strength. they might be able to - it's just not what they are working on.
with either degree you are not just purchasing a job - you are showing your employeer an ability to learn. my father graduated one of the top engineering schools in 1969. he did chemical engineering for about 3 years and then did all business management stuff for the next 27. his company hired him b/c his degree showed he could think and learn. both a CS and MIS degree from a well respected university will get you this.
good luck and have fun! i miss my college profs about once a month!
/* Half alive and half dead too, work is for suckers and the sucker is you. - "Half-life" by Local H*/
There's a 509 comment Slashdot discussion from almost a year ago here.
Student Perspective:
I majored in CIS and minored in CS. The reason? When I started at college I knew I wanted to do something with computers but I didn't really know what and the CIS department gave a much broader sampling than the CS department did. At my school the *only* thing they taught in the CS program was programming, math, programming and programming while the CIS dept. taught programming, math, DBs, web, system analysis, netowkring plus a slew of business classes (including accounting, finance, law, management). I decided to stick with the CIS major since I really liked professors and enjoyed the various classes but I made the decision to pickup the CS minor to help bolster my programming skills since that was the career path I decided to take, at least for a few years.
Employer Perspective:
As someone who has been on both sides of the table during job interviews I can honestly say that it really doesn't make much difference which degree you have. You'll of course run into the occasional CS snob who won't hire a CIS graduate and vice a versa with a CIS snob not hiring a CS graduate (of course, some employers also look down on graduate from certain schools as well). Employers see your diploma as a symbol that you have, for the lack of a better word, the sticktoitness, to work/figth your way through your studies and graduate. What's going to seperate you is the way you sell yourself and your references and past work experience.
Also, keep in mind do what you enjoy.
Here in Canada the MIS degree I am finishing had plenty of programming. It is nearly impossible to finish the "Commerce with Honours in Management Information System" degree in 4 years.
It has the full compliment of Commerce courses, and with, what I would consider, 40% of the CSI courses. Some of the languages we learn are:
C++
Scheme
Lisp
Prolog
Pascal
Java
VB (yes but this is in a business course on CS)
Database Courses (PL SQL, etc)
We have to take all the advance calculus and algebra courses. We do not go into "discrete" math.
I feel confident that I can go into a any software company and start working on any of their code with some simple intros of the project.
The highly respect the MIS degree. Hell, during many of the CS labs, I was the one helping out the CS students create collections in java, and use recursion in Scheme, and inherited classes in C++
BTW: I am not done the degree yet... there is still a micro circuit/logic course and a few more Project Managment courses.
Again, it is a very well-rounded degree. You get from it what you wish to take from it.
Frank
This
When you take CS you're saying you want to be a scientist. It will come with all the subjects you'd expect from science, including some tough math, physics, etc.
When you take [MC]IS you're saying you want to be a businessperson. Similarly, it will come with subjects relevant to business, like marketing, accounting, finance, etc.
I think generally MIS and CIS are extremely close and schools tend to name them depending on their focus, or perhaps just arbitrarily.
At most institutions, you'll be in a different school based on your choice between [MC]IS vs CS so it's also worth checking out how well your schools of Business and Sciences are run, how praised the professors are, etc. For example, at my university, our College of Business is by far the best run and most popular college of the several colleges we have. Also, the Business colleges tend to be a little bit more tied into the business community at smaller schools, so if you plan to get a local job later and you like networking, you might want to go that route.
I have a CIS degree and CS minor and really enjoyed all of the business courses and CS courses. Matter of fact now I own my own IT consulting firm and I think that without the business courses I would have never taken the chance of starting my own business.
I suggest that if you like the business side then go with the CIS degree and a second minor in CS.
BTW, as far as a degree making you a good programmer I think the only thing that can do that is experience, patience, curiosity, and determination. One of the best C/C++ programmers that I know has a degree in Mass Communications.
My 2 cents,
atomicityCTO
I've never seen an MIS curriculum, so wont comment on it, but the CS vs. CIS is pretty simple. So there's gonna be tons of these quick summeries.
CIS usually is a lot of intro level courses in CS and business. Such as in CS, you would take introductionary CS classes, a basic theory one (perhaps only Discrete Structures or maybe one more too), a few general programming classes (System's programing = GUI, etc). Nothing to hard, most programming classes so you know how to code and basics of a computer, but not how to solve problems (algorithms), software design, or see more complex/in depth material.
Instead you get a similar intro into business. Its not a CS degree or business degree. Perhaps its sort of like an associate's in both majors. So its usually considered a joke by CS people since its lighter and not very technical.
A CS degree is not programming, but how to think andn solve problems. Its how to design software, analyze situations, write industrial level code. Its not learning a trade or special skill. The CIS is more like that. But you don't learn business, so an MBA or something would be important.
The difference is what you want to leap into. If your interested in CS and business, and confused on which.. go for the CIS. You can jump either ship later to go more full fledged, or go into masters for more of what you like (CS, MBA, etc). If you know you like both and want to invest the time, do a CS and MBA to get the strongest of both worlds.
"Open Source?" - Press any key to continue
Maybe I just spell it wrong because of all the spam I get telling me I'm going to WIN ALOT OF MONEY.
What?
Basically the degrees leave you with different options, but as with all things if you really want to go another way when you are finished, its possible.
A CS track is setup so that when you are done you can go into a research oriented program.
A CIS track is setup so that when you are done you can go into a MBA program.
A MIS degree is a terminal degree intended on getting you experience with the software that companies use.
MIS gets you a job and gets you making money. CIS does too and you can end up making even more if you get the MBA. CS is cool if you want to have a more geeky job, like programming games.
Good luck!!
Rob
I strongly think that Steve Wozniak *is* a good communicator. He's great to listen to...his enthusiasm is infectious, and he really knows his stuff.
Any kid who has him as a teacher will probably go on to be a tech superstar. Seriously.
I agree with you on Gates, though...listening to him speak is like listening to Kermit The Frog without the clever and funny lines. And his second in command at MS is worst of all...his idea of communicating is "WOOOOO! GIVE IT UP FOR ME! WOOOOOOO!" and "Developers! Developers! Developers! Developers!"
--.\\-H--
Knowledge is power. Knowledge shared is power multiplied.
It takes three years to get a degree (minimum). Do you honestly want to be poor for three years?
If you are currently hacking in C++, you are probably paid quite well. Trust me, you don't want to be poor again.
I had a similar problem. Went to university to do maths, ended up doing astrophysics, ran out of money, had to get a real job.
A few years later, I discovered you couldn't get a job without a first degree. So, I enrolled with the Open University. I signed on for the MSc in Computing for Commerce and Industry program. I can't speak highly enough about this course.
If you *really* want, you could get the MSc in three years. That would leave you no spare time whatsoever. Four years is attainable. Five years is the most usual.
The great thing is, you don't have to stop working. The hard thing is, it takes 1-3 hours a day of deep concentration.
You don't need a first degree before you start.
It is a *real* postgradute qualification. It's hard. You'll learn about operating systems, software engineering and programming in ways you hadn't thought about. You can do modules in anything from business and marketing to telecoms switching.
It's fun and demanding. At the end you get an MSc from a University that is highly respected globally for it's teaching.
It costs about $9000 over five years.
The best bit is, you can say to a prospective employer "I'm currently working for my Master's degree. Any chance of you helping with money/time?". This defuses the "Why haven't you got a degree?" question.
If you do the Objects couse, you get to learn Smalltalk as well. What more could you want?
I guess it boils down to this question: what do you want to become (eventually) after you return to the working life.
:-)
...
If you want to become a development guru, who manages the technical side of projects, makes technical decisions, discusses implementation details and really knows & understands the technical choices you'll face and make, CS is the way to go.
If you want to move up the corporate ladder, become a manager who's satisfied with the prespective from 10 miles up, get an MIS degree.
One thing which is important to keep in mind though: most companies will hire you with either degree for the simple matter that you've got a degree and know about computers. What you do (and which direction you develop in) once you've got the choice is pretty much up to you. It really depends on where your interests lie.
I did CS and notice on a regular basis that my technical background is much more solid than the MIS guys I run into. On the other hand, they have a better understanding of business matters, understand accounting issues, etc. Since I don't really care for their business perspective and have pretty technical job, this suits me just fine
A teacher of mine once said "make your job your hobby and your hobby your job". I think this generally is good advice. Study what truly interests you; the rest will fall into place given some time and energy
The advantage of any sort of Engineering degree is that it is assumed you have learned general problem solving and will be able to do just about any job, no matter what the field. Not many (if any) undergraduate degrees carry the weight of an Engineering degree with the general population. If your degree is in Engineering you are not limited to working with computers. You will be given good consideration for nearly any position you seek.
I'm just going to start this off by saying that no matter what your degree is, you'd better be good at it if you want to get a job. A friend of mine is a CIS minor who is a better programmer than half of the students in our SAN/CS department. Though its true that he shouldn't have any problems getting jobs after his first, it is the first that is the hardest. I imagine that if he were competing for a programming job with a CS major the CS major would win handsdown because of the degree.
Now for my $.02 worth about the MIS majors at my university....
I decided to take one of our lower level CS courses on COBOL to try and kill a few hours. As it just so happened the prof. teaching is the MIS 'liason' in the CS dept. Long story short, I've never ever been in a class were the prof. suggested to the students that the class they were in was too hard and they should take something easier. This was directed specifically at the MIS students. This was a 200 level course, with the prof. suggesting 100 level courses.
When the profs. admit there is an intellegence gap...well, I'll let you go from there.
- My other computer really is a Beowulf Cluster
CS deals with the thoeretical aspects of computation. As is often quoted here on /., Edsgar Dijkstra once pointed out that Computer Science is as much about computers as astronomy is about telescopes. Indeed, in your undergraduate curriculum at an accredited university, you will never take a required Computer Science course wherein the main goal is to learn how to program. Always there will be a theoretical end which is sought. In fact, I would say that Computer Science is simply a branch of mathematics which concerns itself with what is computable given a certain amount of time and a certain amount of space, and the classification of known problems via verification of reducibility of various sorts (look up the Cook-Levin Theorem).
Basically, Computer Science is way more enjoyable than learning how to deal with the fleeting technology of the moment, and I recommend it strongly if the search for universal truths is your bag.
P.S. If you just want to learn a language, learn LISP. It's a good one.
MIS: Take this if you want to manage geeks, and actually understand what they're talking about. Take this if you ever want to get promoted. Take this if you like dealing with bureaucratic bullshit for 8 hours a day.
CIS: Take this if you don't want anyone to understand what the fuck you're talking about. Take this if you can't figure out if you want to be a manager or a programmer, and are a wishy-washy pansy. Take this if you like computers, hate programming, and don't care about advancement.
CS: Take this if you like making fun of people in code. Take this if you like sitting behind a desk and staring at a screen for 12 hours a day. Take this if you like being a prick with a superiority complex, and don't need a girlfriend.
Well, this cartoon (the one on the right) says it all...
(Shamelessly stolen from mit.edu, years and years ago -- mail me if you know who drew it!)
-------
Warning: Slashdot may contain traces of nuts.
This probably will seem very redundant but the fact that 'having a degree goes much farther than what degree you get' is very true. In my dad's old startup company (Cacheflow), there was a high-level officer who did work related to computer engineering exclusively, and it was a very lucrative business at the time (tech boom about 1-2 years ago). Yet, his degree wasn't a Masters in CS, CIS, or MIS, but a Ph.D in Physics.
I guess when you know that much physics, math must come pretty natural to you so learning CS wouldn't be as difficult. Yet it is probably not as important as to what degree you get as it is to pursuing a degree that interests you and works with your natural talents so you can excel while getting the degree. Although I'm not in college yet, I would assume those that find their major fairly easy have more time to explore other research opportunities, but in all likelihood that might not be true. I guess I'll have to find out.
Either way, from observation it seems that you shouldn't pursue a degree and then feel burned out in it, because usually it's more about the type of work you're forced to do in college than it is the subject being taught. When I have to choose, I'll take the one that I'm interested in and can do well in.
The question I find more appropriate is, if you wanted to get the highest level job in a company, would having a specific degree help you attain it or does it then matter on your qualifications as a worker in the field?
A lot of posters here have pointed out the difference between the business skills courses (MIS, etc.) and the development skills courses (CS, SE, etc.). I agree with them, and on that basis, I'll offer a small company's perspective, when it comes to recruiting.
We're looking for programming skills. The team leaders here all have a strong programming background, and most of the project management is done by the senior leads. We're even blessed with a technical director who's hands-on, and therefore has at least the slightest idea what he's talking about, which seems to be more than most. :-)
From that point of view, when we're recruiting new grads, we say "any degree", but certainly a higher rating is given to those with a CS or Software Engineering certificate. I know I personally got shortlisted because I'd done a 1 year post-grad diploma in CS after my math degree; other people got listed other ways, of course, but that's what did it for me. With a few years of professional experience behind you, this may be less relevant, but it would still count.
The last people we look at are often those with MIS type degrees. We don't need more managers in a small company. Once, we even had a guy come up to us at a recruitment event, and tell us he wanted to go straight into project management. A quick quiz demonstrated that he knew zip about programming, and yet thought he was qualified to manage a programming team. Needless to say, we never even bothered reading his CV. That's not to say all MIS guys are like this, but it's certainly a stereotype that's all too close to the truth for many.
One guy right at the top of the thread made the point beautifully, when he noted how the MIS guys laugh at CS guys who don't know their [buzzword deleted] from their [buzzword deleted]. Strangely, I've never heard any of the management team at our place use these terms, yet they seem to manage to run projects lasting several years without going out of business. Draw your own conclusions.
Obviously, this may be very different in a large company. Our teams are all small enough that everyone knows what's going on, and communication between team members and different subteams is strong. In a larger company running really big projects, perhaps all those extra management skills are more useful. But for a small outfit, you want the programming background if you're going to get in at all.
If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
So could it be something else that's holding you back?
that would be a great idea. unfortunately, many schools segregate the programs, so that those business school electives would not even count as electives in your CS program. essentially, you would be taking them for "fun" or personal achievment. nothing wrong with that!
IMHO - take all the math you can get, if you are a math oriented person. upper level math teaches skills that cannot be learned in most other areas of education. for me, i am wired as a non-math person. i can and did take some Cal, but i really didn't enjoy it and it showed: it was one of the few Cs i ever received.
so besides picking what you think you will enjoy in the future, also pick what you think you will enjoy overall. afterall - your career will span your lifetime!
/* Half alive and half dead too, work is for suckers and the sucker is you. - "Half-life" by Local H*/
This will vary by the college or university that you consider attending. I graduated from the Electrical and Computer Engineering department of Purdue University in 1999 with a B.S. in Computer Engineering. My brother graduated this past December from the Computer Science department. I work with several people who graduated from one of the schools of technology. I would summarize the various degrees as follows:
A number of people in Computer Engineering later switched to Electrical Engineering or Computer Science, as they wanted to focus either more on hardware or more on software. All three degrees (EE, CE, CS) received approximately the same number of offers at graduation, and at roughly the same pay level. Students from the Technology department received just as many offers, but at a lower pay level.
I would suggest that if you liked your IT job, go for a Technology degree with a minor in management. You may not get as much utility from a CS or CE degree.
I think the most important knowledge you can gain from university is the theoretical foundations behind programming - namely, the principles and design of algorithms and data structures. Your don't necessarily need theoretical computer science (finite state devices, pushdown automata, Turing machines - they're fun, but you could just read Neal Stephenson), but I have many MIS-degreed colleagues who come unstuck when a new technology arrives because they never learned the fundamentals.
My university (Canterbury, New Zealand) did not have a specific MIS department. Instead, the Accountancy department had some MIS-type courses (business focus, some simple programming in DBase, which was a waste of time), and the Computer Science department had some other MIS-type courses (systems analysis and design). So my degree includes system-oriented CS, business-oriented CS, business-MIS-theory, and theoretical CS. I recommend the subjects in that order.
While you are likely to get a variety of answers from posting on /., you might wish to consider asking that same question to the admissions (and department faculty) at the schools you apply to. Be sure that you understand how each school considers each major and what their focus is. I'm sure answers will vary from school to school as well.
thanks for the link!
here is the U.S. link for those of us on this side of the pond.
again - great idea...appreciate the link (as i forward it to my brother who is currently in college!)
/* Half alive and half dead too, work is for suckers and the sucker is you. - "Half-life" by Local H*/
Get at least a BS in something with at least a minor in CS or CIS as fast as you can. With the 4+ years experience in the field, you can probably CLEP (test) out of quite a few of the courses with applied credit.
From what I've seen, you could get a BS in bird watching and still meet the specs. heh strange but true.
Codifex Maximus ~ In search of... a shorter sig.
I'm a professor of CS. Here's how I see the following degrees.
So there you have it. In terms of difficulty, I think the CE is toughest, followed by CS, then MIS and SE, then IT and CIS. In terms of perception, I think CS and CE are perceived with the most respect, then MIS and SE, then IT and CIS. Strange how perception follows from difficulty. :-) If you want to program, get CS. If you want to do the business side, get MIS. If you want to build hardware, get CE. CS has by far the most job options. If you don't know what you want to do, and you can hack it, CS is the right route.
My undergradute degree is Computer Engineering -- programming is what I do -- in fact, many Cpr Eng grads end up in software either by choice or because there are roughly 10 software jobs for every hardware jobs.
In fact, the most common degree in our dept is some flavor of Engineering, but we've got a couple of Physics people, a couple CS, and some odder ones too.
At this school, anyway CS, is for people who like theory, not programming.
Shut up, be happy. The conveniences you demanded are now mandatory. -- Jello Biafra
The advantage of any sort of Engineering degree is that it is assumed you have learned general problem solving and will be able to do just about any job, no matter what the field.
I agree. A close family member of mine is a senior manager in a company called Cypress. (Mayhap people here have heard of this company. They make clock chips for Sony Playstations, among others) He does heavy college recruiting, and is always telling me that although he looks for EE majors, he will certainly look at other types of engineers as long as they can answer basic questions. Its the engineering part of the degree that counts. Based on my (short) experience in the hiring arena, I've found that his company isn't the only one that works like this!
That said, as for which degree to choose, I also agree with those above who advised avoiding microspecializing!! I am a senior in college; when it came time to choose my major I had no idea what I wanted to do. I ended up choosing Comp Eng. over Info. Science and Comp. Science because it allowed me the greatest freedom to change my direction later on--i.e. I could go more software, like CS, or more hardware, like EE, etc. I guess in short I put off my decision of deciding what I wanted to do with my life, but in the meantime I would like to think that I'm getting some great basic knowledge.
-S
- - - - - - - -
Don't worry, being eaten by a crocodile is just like going to sleep in a giant blender.
There are three kinds of degrees: Computer Engineering (CE), Computer Science (CS), and Information Services (IS). All people start out studying CE, but the ones that the Electrical Engineering is too hard/boring for drop down to CS. The ones that find math/theory/command lines too hard then degrade even further into studying IS. Of course, some people jump right in where they belong, but I know I had to start out in CE and drop to CS before finding my niche. I just pitty the people who drop further to IS...
Although, I do know one guy who went from CE to CS to IS and back to CS. I guess he had to have a little of each before figuring out what the good one is.
Posted from the wireless couch.
It is a very difficult thing to do, but search your soul and ponder what you REALLY want to do. Don't just think about the next job, or 5 years from now, but try to imagine yourself THIRTY or fourty years from now! What do you think you would like to be doing then?
I have been working as a systems administrator for 5 years while getting a degree in Middle East Studies. I'm still working as a Sysadmin - pays the bills nicely. But now I'm working on an MBA, though I seriously considered backtracking and getting a Masters degree in Computer Engineering (I have already finished 2 years of engineering). The moral of the story is that I don't really want to be an engineer, and I don't want to be a systems administrator. I do want to work with companies that want to work in the Middle East. My tech skills won't be wasted - if I ever become a PHB, I'll at least understand the poor techies when they sigh at the other PHBs who demand that all internet services be served from Microsoft IIS and Exchange!
Read the book "The Alchemist" by Paulo Coehlo. It's all about finding your "personal legend" - that thing that you truly want, and then trying to get it. Find what you want to do - in the long term. Nothing you learn is wasted if you find a way to apply it and use it. Learn those things that help you be what you really want to be.
It's not about the degree... it's about you.
Mind if i ask what school you went to? Basically I dropped out of UMass because I couldn't do the math and physics reqs (5 math, 2 physics courses for a cmpsci degree). I'm pretty much done with the actual CS track though. They don't offer a CIS degree.
The question is amusing becuase of this same mixed message that keeps getting sent out. You want to get a degree so that you can be seen as promotable via vis you can continue to learn, etc. At the same time, those that want to hire know that you, I, and everybody else who have achieved an eduction expects to compesated at some level for bringing that to the bargining table. Yet there are those that are somewhat shy about telling you that an education puts you beyond their "needs" or "requirements" for the position.
The point being is this: If you are currently employeed in a more or less secure position ask your supervisor/manager/whatever if the company will help out in some way first. First of all, this can help to avoid the situation that I'm in right now. Secondly it can help keep the school bills a bit lower as most employers have some sort of program to help defray the costs (as at the same time they can benefit as you are earning your degree).
The differences in the degrees is easy enough to find out -- just look at the differences in the cirriculum. As far as what you can do with each once you get out...
Generally, the MIS people work in (or sometime are) the IS/IT departments of a company -- they're the people who keep the computers running, and develop the software used to keep the business running, often by starting with a known package and tweaking it to meet the company's needs. These folks are responsible for things like the payroll systems, purchasing, employee tracking and so on.
On the other hand, the CS people are generally on the product development side -- they're the ones writing the control systems for the satellites, writing the DSP code for en/de-coding MP3 files, designing missile control systems, writing compilers or designing operating systems. THere's a big research side to CS.
There's certainly some cross-over and the two sides are not exclusive -- you'll often find a bunch of old physics guys doing the CS-type work, for example.
My experience has been that the CS side pays better in industry.
I'm a Junior in high school wanting to go into a computer major in college.
I really stink at computer programming plus i pretty much hate it.
ive only been in alg 1 and got a C in that, shows you how much I hate Math.
It seems to me that you really should find something you like rather than going into a program that you are sure ti dislike.
Having attended three different academic institutions over the past 24 years, and receiving both graduate and undergraduate degrees in electrical and computer engineering and computer science, I can say some things about what I've observed. One way schools can be divided is by the emphasis they place on research vs. teaching. A computer science degree from a research oriented school will tend to focus more on the science part of CS, such as theory, operating systems, compilers, etc. because they are interested in generating more graduate students to do research. A CS degree from a teaching oriented school will tend to focus more on applied subjects like programming, databases, software design, etc. because they are mostly turning out people who will immediately be looking for outside jobs. Degrees from either kind of school are fine for getting a job afterwards, since many of the same core subjects will be taught virtually everywhere and many employers won't really know the difference. However, if you plan on applying to graduate schools later for a more advanced degree, they will know which category your school fits in.
One way to divide programs within schools is by which college or major division runs the program. Some schools have CS programs originating from an engineering college or division, while others tie them into an arts and science college or division. At some schools, the CS programs have had their roots in the math department. Programs with engineering roots will generally require the student to spend more time fulfilling engineering-specific requirements such as calculus, circuit theory, physics, etc. This often doesn't leave much time for other electives. Programs with roots in arts and science will have their own sets of required courses, which may allow time for taking more business oriented electives along the way.
Computer engineering (CompE) degrees are often a hybrid program between a traditional CS program and an electrical engineering (EE) program. Whether you get more or less software vs. hardware in these programs depends a lot on which department has the most influence at a particular school. Sometimes the program is run as a joint one between two different departments, and their quality depends a lot on the amount of cooperation that exists between them. Be careful to check with other people who have gone through a particular CompE program to see if they believe the program was successful or not in bridging the two disciplines and what approach was taken.
The general rule to take from all of this is that there are no general rules differentiating the kinds of programs at different schools for CS and CompE programs. Each school is different, and you need to investigate each one thoroughly to see if going there will meet your needs.
As a CS guy I've snidely referred to MIS programs as "majoring in Word and Excel". My experience has been that CS curricula teach you "how computers work" (which isn't just programming) whereas MIS curricula teach "how to use computers to get TEH MONEYS." Which you choose depends on what you want to do but CS people usually have much deeper knowledge of the technology involved. (There are CS guys with strong business skills also.)
N4st0r, trixx0r h0bb1tz0rz! Th3y st0l3 0ur pr3c10uzz!
There are two benefits to going to school for a degree:
- You meet people who might be able to help you find employment, you get this more in a college with a "name". The private colleges with biggest names are MIT, Stanford and CMU. The public ones are University of Michigan and UC Berkeley.
- Completing a Bachelor's degree proves to any employer that you are willing to put up with four years of bullshit to achieve a goal, a Masters means even more. This is very important to prove to the business world, because they expect you to wade through more bullshit, this is why they call it work.
From my point of view, none of the academic computing programs teach enough job skills to be able to say "ok, anyone with a BS in Computer Science can do this job", so it really doesn't matter what the degree is in. A B.S. holds more weight with me than a B.A., since a B.S. from a College Board accredited school means that you can do math and put together a lab manual, both of which show skills that are useful (but not essential) in a typical IT job (yes, I know lab manuals are not standard in computing, I'm talking about the skill of being able to write down what you are doing, which is important).Beyond that, Physics is as good as Computer Science, Philosophy as good as Scuplture. Don't skimp on learning computing skills, and experience on real computer projects, that's essential, just not the name on the degree.
The bottom line for me, a degree means the person has a small edge over the competition, everyone has to prove to me that they can learn, but college grads don't have to prove as much that they can put up with crap, the degree says so. The edge is a small one, at least in my book.
Now, I know that there are plenty of jobs that won't even give you an interview unless you have letters after your name. If they are more interested in your degree status than what skills you can offer a company, that's their loss, are you sure it's a company you want to work for anyway? If you really do want to work for such a company, find out what degree they prefer (call them up and ask them), and go for that one. While you are in school, make sure you seek an internship with your desired employer as well, you cannot beat knowing your potential employer when it comes to finding a job.
----
Open mind, insert foot.
You'll graduate with an appreciation for the education you got, instead of walking out with complaints like the ones posted on /. If you're just doing it for money, skip all that and get certs like everyone else said.
Look beyond the degree and do it for yourself first. This way no matter what happens after the degree, you won't doubt the value of the time and energy spent.
your ass provides a cushion when you sit on it.
I'll try to keep it short and sweet. Personal background is CS degree doing heavy technical programming. Current gig is running a stable of developers for an accounting firm.
The gang is primarily MIS grads with a couple of CS folks thrown in. The finding so far is that the MIS folks are satisfactory coders (with a strong preference for 4GL tools.. PowerBuilder, Lotus Notes, VB..) and, depending on training, pretty good at PL/SQL. All get good pay and have decent prospects for the future (as coders, or in the client service side of things).
I have come to rely on the CS types to establish policies, procedures, and guidelines as well as bearing the responsibility for designing all of the software.
YMMV with different MIS programs but around here they simply don't have the formal training in software engineering, formal methodologies, algorithm analysis, etc. Basically, left to their own devices, they don't build very good software. (if you think back to the days of 7 levels of correctness, we're talking level 3 here)
So... in this software shop (remember, accounting firm):
CS - get the design work, tend to supervise the MIS grads. Good job security, but limited advancement opportunities unless the number of products grows. Better pay.
MIS - get grunt work, poor job security if they limit themselves to only code work (evil phrases like "dime a dozen" come to mind). Less pay. Generally better opportunities to progress in the "business" side of things.
---
Oh yeah, BSCS (not BACS) means 20+ hours of math.
I got a BComH (commerce, that is business, degree) which featured MIS courses such as systems analysis. This includes marketing, finance, accounting, economics, organizational behaviour, operations management, human resources, all those things.
I got a BScH in computing and information science. This includes programming, but it's more than that. Algorithms, data structures, computational complexity, formal languages, formal logic, graphics, numerics, compilers, operating systems, parallel computing, databases, all those things.
There are also software engineering degrees. They should cover more applied things like project planning, testing, estimating, requirements, etc. Just do a keyword search for "SWEBOK" to see what (should) constitute software engineering.
Of course, there are no "real" definitions. It depends on what the institution's program is like.
Personally, I think a dedicated student can really appreciate the CS degree, and fill out the rest of SE through a dedicated post-degree self-study program. There are enough good books out there (e.g. Rapid Development, Managing the Requirements Process, Software Project Management) that this is possible.
I've heard it said that CS grads don't appreciate the final details of real applied software engineering, and aren't taught it. But really, even though it isn't the focus of their education, the good ones pick it up. My experience working with CS and engineering-with-computing-option engineers (some designated) is that it is usually the latter (not the former) who are more hack and slash coders. They often didn't seem to appreciate the complexity of what they were building, maybe because it wasn't wood or steel. I hear that engineers are more responsible with their programs and all that, but really I don't see it.
--
Marc A. Lepage
Software Developer
The general perception is that CIS Majors like to portray is that CIS is more gauged towards business minded people.
If that's what business students like to tell themselves to feel better, fine. CIS is a lighter load plain and simple and that's the overriding factor in why people decide to go into CIS. Trust me, employers know this.
Consider this. At Arizona State University for example , the core course of study for a CIS Master's degree is *exactly the same as* a CS Bachelor's degree. Same exact CS classes.
The original poster is correct. The experience on your resume will become far more important than your degree over time, but the CS grad will have an easier time getting that first job than the CIS grad.
For that, you have to be able to draw. If you can sit down with pencil and paper and draw something reasonably good, graphic design is a possibility. If not, forget it.
For writing compilers, OS's, and major applications, you should get a CS degree. It's heavy on mathematics and fundamental principles. A few places also offer "Software Engineering", which seems to be CS with a less math and more large-project management. IF you can handle the math, I'd suggest you take the CS and learn project management later on -- I rather suspect that you'll learn more about that by reading The Mythical Man-month than in any college class anyhow.
But remember, this is the small end of the programming job market. You'd better be damned good if you want those jobs. But if you are good enough, I expect you get a lot of job satisfaction, and a chance at bodacious stock options.
I think the big three in employing programmers are databases, embedded programming, and web design. A lot of would-be programmers also end up as system administrators and tech support -- sometimes combined with coding databases and web pages... CS gives you much of the fundamentals for each of those jobs, but there are easier programs that are more directly oriented towards them.
Business databases have required by far the most programmer man-hours over the last 50 years. CS will give you the mathematics behind the database designs; MIS/CIS should give you more of the practice, more grounding on how to deal with the non-technical managers that are your customers, and maybe some background in system administration, because if you work for a medium sized corporation you will be expected to code the databases in between fixing network & server problems.
Embedded programming: This includes everything from washing machines and microwaves to Tivos and game consoles. 95% of the programs are really simple, but there are so many of them that this may include more than 50% of all coding manhours. However, most of them show up in job surveys as engineers rather than "programmers" -- the typical career path is to get an Electrical Engineering degree, design some hardware, then learn to program it. Some real training in programming (CS) would certainly help here, but you've also got to comprehend the hardware.
Web page design: Are there any college majors that are really effective at teaching this? It takes a little artistic talent, a lot of ergonomics engineering, and a tiny bit of coding. Maybe Industrial Engineering would be a better major, it covers ergonomics and artistry. Just don't let them brainwash you into thinking that _looking_ good is better than giving the users the info they are looking for without waiting for large graphics to download and then hunting around. The good news: if you rate a C overall for your web design ability, you're far above the average... At most places, you'll also be expected to keep the server running, so whatever training you can get in that will be useful too.
This attitude is the reason why so much of the software out there is broken or woefully slow.
If it is recession times like now, then employers will be very picky about degree type, especially with less than five years of experience. During booms, if you can spell XML, your hired! :-)
I want to know what every bit and electron does in a computer. A MIS would bore me silly. You get far deeper into computers with a CS degree. Most employers dont care, except for computer developers.
I've always wondered if this would be a better way to pick a major...
Sit down with a major and pick a bunch of different courses that the major requires and are electives. Map out your whole 6 years (sometimes that's not a joke)
Then do that with a couple of other majors that are related. In your case MIS, CIS, CS. Then see which path looks more interesting. How does that semester with Computer Engineering 402, Theory of Computers 483, Writing Million Word Programs 415, & Bowling sound?
Spend a couple weeks with this so you can hash and rehash the possible schedules & classes. IOW, don't rush it.
Then when you find the most interesting one, or the one you keep coming back to w/o realizing it, you've found your major.
managers...why god invented purgatory
I think we can all, for the most part, agree on what the Computer Science and Computer Engineering degrees are.
However, Information Systems and Management Information Systems degrees are a fairly new and broad-based concept. They encompass many different areas of computing/technology like networking, database systems, biomedical informatics, multimedia communications, artificial intelligence, expert systems, and/or knowledge-based systems, and how they are applied, used, and designed in a business environment. So, unlike the CS and CE degrees, your focus is less on general technical principles in a generic environment, and more on the applying of the topic that you wish to pursue in a business environment.
That said, there is a article that was posted several days ago on osOpinion entitled "The Dissing of IT Workers" that does a fairly good job of pointing out the differences between a CS degree and an IT degree.
My first year of CS classes was actually at WMU... I would have to agree at least with my two semester of experice there with what you said. IIRC, I had Prof. Boales or something like that for lecture and two TAs from India that I couldn't understand what the heck they were talking about. The class was taught in C++ and the instructors were horrorible, almost everyone cheated of the few people that actually wanted to understand the subject (myself in the latter group.) I remember having to do almost the entire group projects because no one else cared/could.
Would that be the same "five years of experience" the guy from the last thread had?
If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
Here is my two cents to throw into the mix:
In college I majored in EE with a concentration in Computer Engineering. Although I knew I wanted a career doing computer science/programming, I decided NOT to major in straight CS. I had been programming since a fairly young age, and so by the end of high school, I considered myself to be a fairly knowledgable programmer (whether or not that was true is a subject for debate, but it is hard to convince an 18 year old the error of his ways!). I figured that by majoring in EE/CE I would be broadening my horizons because the main focus of this major is computer hardware design. I figured that learning the hardware of a computer system would best compliment the knowledge I already.
During my undergraduate program, I ended up taking the usual array of engineering core courses, EE courses, and the like. I also took a number of CS courses as technical electives. Although the lower level CS courses (intro and sophomore level courses) were somewhat of a waste, the ones I took beyond that were very helpful. In the end, I realized that there WAS a lot about programming that I needed to learn, and I ended up completing a Masters in CS after my BSEE.
Getting back to the original question, personally I thought that doing the BSEE and MSCS was the best choice FOR ME. Because my interests lie in programming and technical things, this course of study was definitely the way to go. Also, although I like to think that I could be a good technical manager, the fact is that I really don't have any interest in being one.
As far as the other degrees go (MIS, CIS), I don't have personally experience with these. From what I can gather, the MIS degree is focused a lot more on technical project management and business-related computer applications. The content is a lot less technical than what you'd find in a CS degree. I'm not saying that that's bad or anything; it's just different. In general, the feeling that I get is that because the MIS degree is less "hardcore", it is easier. For a pure technical position, a CS degree is probably a better preparation. For a project management type position, a MIS degree is probably a better preparation.
However, let me just say that in my opinion it is a LOT easier to take a CS person and turn them into a manager than it is to take an MIS person and turn them into a technical contributor. You can teach management skills on the job through experience and mentoring, but it is much harder to teach technical skills on the job unless the individual already has a good technical foundation.
------
www.moneybythenumbers.com
Modded by someone with an IT degree.
I'm trying to teach myself to set people on fire with my mind... Is it hot in here?
Any degree will do. It doesn't matter what field the degree is actually in, although a science degree (something that involves math and the ability to write a semi-coherent sentence) generally carries more weight than a non-science degree. Assuming, of course, that the person who's doing the decision-making isn't a B.A. with a chip on his/her shoulders about all the smarter B.S.'s and their ability to add larger than double-digit sums without the aid of a calculator.
Most schools don't really teach the tools needed to actually work in the field you have a degree in. If you think you can graduate from school with a bachelor's in computer science and be good to go right off the bat, wait awhile until I stop laughing my ass off. Fact is, you're almost as useless as the Psych major who also applied for the job, but at least with the Psych major we might actually hire someone who can relate to people in a basically human fashion.
Y'see, just about all of these bachelors degrees, no matter what the field, are completely irrelevant. They don't train you for a job; in fact, 90% of what you learn - at least - will be utterly useless in the real world. What the degree does say is that you're enough of a peon to put up with four years of unpleasant bullshit, so much so that you're gullible enough to actually PAY for the privilege, just to get the chance to work for us. And that's what we want: peons who'll put up with shit and keep on trucking. We love the Borg drones and wish you were just like them.
No mavericks for us, thank you very much. Mavericks tell us to 'fuck off' when they don't like how we treat them and that just ain't acceptable.
As for how one gains the actual skills required to do the job:
- hire on with a company that knows you're a fool just out of college, and therefore just about skilled enough to defrag Windows boxes. They'll teach you what you really need to know, after torturing you for a couple of years first (low guy on the totem pole, etc.)
- apprentice to a known wizard. Sometimes a wizard (i.e., a good programmer) will take on an apprentice and teach them what they know. Especially if the apprentice can really suck cock, er, will give the job his all. This is hard to do unless you're good friends with a wizard because wizards are often antisocial types with little desire to teach anyone anything. In 18 years I've taken on three apprentices and told everyone else to rot in hell. That's three more apprentice than any of the other wizards I count as friends.
- if you have raw talent, do what 95% of the programming community does. Jump in, sink or swim. Teach yourself. It's much easier nowadays because you can get on the net, ask a question, and get two dozen different but right solutions to your problem, so there's no excuse for not trying it this way. If you can't learn via reading and asking questions then you're fucked - you have no talent, get an MCSE and go work for Microsoft or someone else too stupid to realize that you'r a loser when it comes to computers. But really, if you can't teach yourself then stop wasting your time and choose a career that you're actually decent at.
The upshot is that you won't learn any useful skills in college when it comes to actual real-world experience. And we know that - we plan for that. What college tells us is that if you're dumb enough to put up with crap for four years and pay for it, that you'll bend over and let us ream you up the ass if the paycheck is coming your way. That's what we want first and foremost. It'd be nice to do that you can do math and write a complete sentence, so a science degree is good, but you can get it in any science and we don't care what it is. A CS major is no more qualified to program than a Microbiology major is. Trust me on this.
So pick a science that you like. During the summer intern with a place that'll actually let you near a working machine. *That's* where you'll get real skills. In addition read everything you can, put together your own home network, hack the Linux kernel (even if you don't use Linux it'll teach you a hell of alot about programming), etc.; get experience any way you can. During the interview we'll ask you questions that you won't be able to bullshit without practical experience.
If you can, befriend a wizard and have him help you with the arcane arts. Having your own personal wizard at your beck and call is the biggest advantage you can get. Especially - especially - if the wizard will vouch for you as a reference. You have no idea how important this is; it carries far more weight than any degree. After all, anyone can get a degree but very few folks can get a wizard to say something nice.
Max
My god carries a hammer. Your god died nailed to a tree. Any questions?