views:

7143

answers:

15

From the opinions of professional world perspectives, what are the respective differences between CS, CIS and MIS?

I'm asking this because I'm going to school ready to start a Computer Science program track (out of the previously mentioned).

Programming is taught through the three of them (basics of C++ and Java) but how are they applied in a real world environment? What other variables should play a major part in making a decision?

I have my eyes set on a CIS degree as it is a good degree for being a DBA and mixes IS with Business in its core (a little taste of each).

Also if this is not a valid question, I will be happy to close it.

+5  A: 

When I was at uni, computer science was the most respected (maybe I'm biased though because that's what I studied).

The others were a bit less technical, less maths etc. My thinking is that if you can do the CS degree... you'll have shown you have enough nous to tackle anything you may have learnt in CIS or MIS. To me, CIS and MIS sound like watered-down versions of CS.

And versus software engineering. That's just CS with less learning about the hardware of a computer, but really it's my belief that to be a good software engineer you need to understand to a decent depth just how the thing you're trying to program works.

Scott Langham
+1, I took CIS because I'm not a huge fan of math or anything. CIS is more hands on, teaching you how to do things, but not why they're being done the way they are. At least not in-depth. Not that CIS is a bad program, its still in high demand and pays very well, and it does teach you how to program
Brandon
Yes. I would recommend doing a course you're interested in - one that doesn't bore you to death. I work with people who got degrees in physics, music or business studies. They all make good happy programmers... but I have to say people with more relevant degrees do generally appear to be quicker.
Scott Langham
CS is not really math heavy. You may have to take a math course in the first year if your skills arent up to scratch, after that you'll be done with math units.
Brock Woolf
The amount of maths might vary between universities, there seemed to be plenty of maths on my course. Actually I studied in the UK, but with one exchange year in the US... I don't remember as much maths in the US.
Scott Langham
@Brock: In the US, CS programs are fairly math-intensive. My undergrad degree program required Calculus I/II/III, a stats course, and a discrete math course. I also took linear algebra, which wasn't required but was encouraged. And I only got a BA: a BS student had a few more math-intensive courses.
mipadi
@mipadi: it depends greatly on the program. I did almost no math beyond basic calculus in an engineering school (WPI), back in '75-'81. I can't imagine what it would be useful for.
John Saunders
+1  A: 

CS is usually an academic field and is "prestigious".

Some schools have CIS and MIS in a professional masters program or in a professional undergraduate program, and then it's somewhat watered down or not considered the same, unless they're in a good school or graduate level.

Usually they have more of a business and DB aspect to them, and the jobs are typically in the system analyst / consultant direction.

Uri
+11  A: 

Computer Science is definitely the "heavyweight" degree of the three.

CS is the most widely respected and known and is pretty much essential if you want a job programming whether it is databases or business coding. It will teach things you won't learn in the other degrees such as:

  • Algorithms
  • Data Structures
  • Design Patterns
  • Low/High Level languages (such as Assembly, C/C++, Java, C#)
  • Software Architectures

It will also give you a lot more experience writing code, after the first year in the other two I don't believe you are required to write a lot of software anymore.

I think that it is important to think about the most flexible degree. In this rapidly changing age in technology you can wear a variety of programmer hats and can also do management. If you were to do a CIS degree and later on decided to become an application coder (C++/C#/Java) you are going to wish you had a computer science degree.

Also, don't think that 1 year of programming courses in any degree will make you become a programmer. First year CS courses only scratch the surface of what a professional programmer needs to know. After 3 years of CS you will be better equipped to write code, although you will still have much to learn.

If you are contemplating doing one of these other new degrees (which I think are simply a money spinner for universities to take more students) I would definitely recommend having a good think about doing a double degree in CS and (MIS or CIS).

That will set you apart from other candidates and you'll have the best of both worlds. Most of the units are shared among the degrees so you'll probably still be able to complete in 3 years.

I will just add that this is exactly what I am doing at the moment, a double degree in Computer Science/Games Technology as I want to break into the Games industry. Games technology is a high workload degree and coupled with CS is making me a much more knowledgeable programmer, although I know there is much more I need to learn :)

Brock Woolf
Thanks, this is just what I was looking for.
SD
Sure, no problems :)
Brock Woolf
"Also, don't think that 1 year of programming courses in any degree will make you become a programmer." -- Amen. Too many people don't understand that.
unforgiven3
@unforgiven: I think it may have something to do with the "Sams Become a programmer in 24 hours" and "C++ for dummies" books. Totally misleads people.
Brock Woolf
@Brock Woolf: Peter Norvig wrote an excellent essay on this exact point, too: http://norvig.com/21-days.html
Kevin L.
I went through school and got an "ICS" degree @ UC Irvine and ended up as a programmer at a well respected company. The only difference between CS and ICS was that I had to give a different answer to "Why did you pick your major?". I took just as many programming classes (including algorithms, structures, design patterns, and assembly) as any of my peers in the CS degree program - I just had a different set of choices for projects and upper dev classes that included the CS major stuff as well as the "Informatics" stuff. Honestly it didn't seem to make a bit of difference which I picked.
Austin Fitzpatrick
+1  A: 

Computer Science is what you learn when you want to be a programmer. It gives you (or at least should give you) a solid foundation in data structures, algorithms, boolean algebra and discrete mathematics. You will often learn things like functional programming or declarative programming, which can be useful just for giving you a different perspective on how things can be done.

Now if you want to be a DBA that might not be the best choice for you. As a DBA the things you should be learning are:

  • Databases, databases and more databases;
  • Relational algebra (typically as part of the above);
  • Networking (less important but still useful); and
  • Systems administration, either Windows (for SQL Server) or Linux/Unix (for pretty much everything else).

The last isn't typically taught at university but later year units like Operating Systems may be a useful grounding but far from necessary.

So just make sure your course covers the above. Also, 3-4 years is a long time and you may find you don't really want to be a DBA at the end so choose a reasonably broad course to give you options.

cletus
Thanks for the answer. I'm working at a job right now that involves Oracle DBs and SQL Server so I guess you can say I'm CIS biased. But I am going to use Brock Woolf's strategy of trying both (since the courses are shared). Thanks again!
SD
+2  A: 

A lot of the answers you are getting here reflect very accurately the way I saw things back when I was an undergrad at the University of Texas. The CS program lead to a B.S degree and the MIS program was a B.A.

Of course, in all my infinite 18 year old wisdom at the time I KNEW that a B.S. degree was more prestigious and any kind of "Arts" degree was the type of fluffy degree program that someone would take to get into marketing or something silly like that. After all I was learning how to write assembly code and taking EE classes while those jokers were flitting around with 4th generation languages and writing apps in databases. They were definitely not "hard code" like me.

10 years later I realized that unless I planned to work at NASA, all that fluff they were teaching in the MIS program was more representative of what the vast majority of programmers do for a living. Eventually I regretted not taking the easier degree plan, that would have likely resulted in a higher GPA and skills that I would actually use in the real world.

Don't get me wrong, the CS stuff is definitely a lot cooler and I agree that the low-level stuff helps you understand the high level stuff better. However, here in the real world most working programmers spend most of their time doing high level integration using libraries, toolkits, and languages with abstractions like built in garbage collection.

That said, if you want to work for Google or NASA, or just want the extra cache, go for the CS program.

JohnFx
Thanks bro, just made me feel better about my choice of following a CIS track. Working in a big company like I do in their IT department, I see/hear about a lot and your opinion is parallel to what I've picked throughout the years.
SD
"low-level stuff helps you understand the high level stuff better. However, here in the real world most working programmers spend most of their time doing high level integration". -- Yes but if you don't know how a linked list works by coding you're own how do you know how to use one properly?
Brock Woolf
Brock: I think you are just restating my exact point. Still, I'd argue that if the linked list was implemented with the proper level of abstraction, you shouldn't HAVE to know how it works to use it.
JohnFx
Also, MIS people do generally take the exact same CS101 courses that CS people take in which basic data structures and memory management are covered. They diverge at the upper division courses like compilers, O notation, etc.
JohnFx
extra cache, nice pun :)
Yuval A
+2  A: 

You might consider who recruits from each department at your specific school. Decide what type of work you want to do and what companies you would rather work for.

Jim
Good advice. The company I currently work/intern for now recruits from the Computer Sciences department at the school I going to be attending.
SD
A: 

looking at the questions...

one CIS or IS is generally distinct from MIS... unless it is mislabled.

IS programs generally have no business courses, while MIS and mislabled IS programs will be lots of business courses, acct preqes, bus calculus, etc. Virtually no hands on stuff.

As far as technical goes they'd rank from CS IS MIS

IS is more vocational towards current IT departments

CS is more theoretical

SE is also vocational.

often depends on the school though, thats why bs level cs and is are interchangeable. mis not so much (guys that just want to manage...)

jd
+1  A: 

The above comments mostly apply if the courses are in the same school. There is no real general standard.

It may be that for purely historical reasons computers are taught in the engineering dept of one school and called comp-eng or even part of electronic-eng, while in another it is a separate dept and called CS, while in another it's part of maths.

Martin Beckett
+1  A: 

There are a lot of great answers already here. I would suggest that if what you want to do related to computers be sure to major in Computer Science as it will give you the broadest and deepest understanding of programming.

If you are tempted to go into CIS or MIS, double major Computer Science and Business/Finance.

Having a business degree can help you to understand the world you're working in, and the finance just to help you understand some of the important life decisions you'll be making after graduation.

sparks
A: 

You can't really do anything relevant on a computer without knowing the fundamental concepts. My experience as a Computer Science student involved a lot of time with a pencil and paper (This is probably why I was awarded a BA and not a BS). The programming was incidental, and I still learn new things about programming every day.

It's the difference between learning how a car and all of its parts work versus learning how a Toyota works (or doesn't these days).

just_wes
+1  A: 

The true answer to this question is: check the individual programs. There is no universal definition of any of these terms. There's especially no definition of which courses are implied by each program, or what the level of the course might be. A course with a given name might be given at the Sophomore level, or at the Senior level - the only way to know is to look at the course catalog of the school you're interested in.

John Saunders
A: 

Most companies I have worked for Lockheed Martin, L-3 Communications, Oracle. Eventhough you're doing the work that you can learn from an MIS program, 4 out of 5 times they would rather hire someone with a CS degree over the MIS. They know that learning applications is a lot easier than for someone with a CS degree than programming for a person with an MIS degree, even if that isn't the case.

Plus, during college most of the kids who ended up majoring in MIS did so because they said they didn't want to take the hard programming and math classes. So most of us take that bias into the working world and assume that "most" MIS majors were wannabe CS majors who couldn't hack algorithms and calculus.

jimmy
A: 

I found this discussion to be very helpful to my situation. I am currently working as a sysadmin at a Big Ten University. I have been in this position for a year, and have almost seven years full time experience in IT overall.

My degree is in an unrelated BA concentration, (International Studies of all things). I had extensive experience before I went to undergrad, so that helped me get an entry level position right out of college three years ago.

I am now wondering if I should go back and get a second degree to compliment my work experience. I am currently pursuing certifications to upgrade my standing, as well as receiving valuable experiences on the job. I just wonder if my education could also use an upgrade.

I am wondering what would be the best option for my situation. Pursuing a MBA, or going back to undergrad to get a CS, CIS, or MIS second degree? I am concerned that going back to undergrad could be a few years work, for not a lot gained? I don't know, any thoughts?

Geno
A: 

It depends mainly on what you want to do in the future and where you get your degree. I found what you are taught in CIS varies from one university to another. A good friend of mine chose the same major as I (CIS) at a different state university. During our contact with each other it was apparent to me that we were being taught quite differently.

By my senior year I had already created in class: multiple desktop applications, a large e-commerce website (similar to EBGames), an Iphone application and mobile web applications. Most of the aforementioned in .Net using C# but also Eclipse in my spare time. I was also very familiar with JavaScript, JQuery, GeoLocation, CSS, HTML, SQL Server, Access, networking, Active Directory, VMware and more. Also since CIS is part of the COB, I took various management, accounting, finance, marketing, quantitative analysis, systems analysis and other business related courses. Being able to create a fully functional e-commerce web site, while also being able to prepare an income statement, looks fantastic to an employer.

As mentioned earlier, the associate of mine who graduated with a CIS degree from another institution came out with a lot less programming and database knowledge than I. As far as a CS degree I can't say in depth what the degree consists of besides my personal experience is two CS courses I took as electives and a family member who has a CS degree who became a DBA. I did however know a few CS majors in college and it seemed they studied a lot of theory and mathematics along with programming.

I believe I personally chose the right major because of the broad courses and the business aspect. You can easily find the basic courses required for each major and decide which will work best for you.

JasonE
A: 

CS is the best. Stick it out for sure ... It will be grueling perhaps, because you need to know it. If you do IS and don't learn the programming, well... you are going to get STUCK moving up the ladder in a company. That being said you could learn programming by yourself but the CS program will basically force this upon you much better than you could on your own. Well, not necessarily better, but definitely FASTER. I would argue the CS degree is the more flexible degree, not IS... a CS can do everything the IS can do soon as they learn the application. The IS is going to have a much harder time solving complicated programs writing code. And well, CS tends to pay more, and is also better if you want to be freelance/entrepreneur. The IS degree is pretty vocational for a corp IT job. puke

Also I would consider doing pure Math/Physics/Engineering with a few programming classes on the side than Information Systems. People in the know obviously know these are more difficult, and unless you were to show skills much better than the holder of these with the IS... it would be a hard hire in your favor.

You are paying the same tuition for each unit regardless of the class right? Might as well use it wisely and take the more difficult class.

jd-