What's the difference?

<p>Man, it's like pulling teeth to get an answer on other parts of this board. I posted this elsewhere and I've gotten nothing so far.</p>

<p>I was wondering what the difference is between Computer Programming and something like Computer Information Systems? I'm sure they go hand in hand to a certain extent but is one more in depth than the other? What are the major differences between the two?</p>

<p>Dan</p>

<p>For one thing, I think that information systems would include database design.</p>

<p>Computer science deals with advanced or future applications of computers, such as robotics and artificial intelligence. Computer Information Systems deals with business applications of computers. Both have the same foundation in computer programming, and for most, the kind of work they lead to after an undergraduate degree is probably the same.</p>

<p>My son looked carefully at both of those options as well as computer engineering. He is currently a CIS major because his interest is in hardware and networking as opposed to programming. He still has to take some programming courses, but not as much as the CS majors who also have to take software engineering and an upper level programming languages class. CS is also more heavily science and math based where, as another poster said, CIS has some business classes, such as accounting, micro and macro econ., management and marketing. He still has many electives to choose from in the CIS major, so he can learn more about certain topics of interest to him. And yes, he has to take database systems.</p>

<p>My husband is in the computer industry in Silicon Valley - and for the most part, the degree a person gets related to computers is almost irrelevant. It is the skill set that matter. For that matter, a BA in English, if paired up with killer programming or networking or whatever skills will likely get a person just as far with Google and Yahoo and Ebay and etc. My husband never finished his degree, yet because of his industry work headhunters call <em>him</em> based on what is on his resume. His resume? A list of jobs at top companies and his skills, skills, and skills, no degree. :)</p>

<p>A degree can still be important (hubby will finish his BS degree sometime in the next year or two after 15+ years in the industry and at the top of the payscale for his field of expertise), but what is more important for future employment in the industry is that your child continue to expand his skills on his own time... learn extra programming languages, get involved in the open source community, tinker every chance he gets, etc. Learn FAR beyond anything tossed at him in the college classroom, because the colleges really only get through the core basics. The hotshots that hired are the ones that are passionate about their field and tinker and learn constantly on their own time above and beyond what the college expects in order to fulfill the BS degree.</p>

<p>Annika</p>

<p>Hi Dan,</p>

<p>I work in the computer industry. The comments that have already been posted are accurate, and I hope you're getting the information you seek.</p>

<p>I'll add one other thought, having to do with the role that each of these specialists tends to play out here in the "real world". </p>

<p>In general, the Programming graduates TEND to end up in jobs where they are a little more "heads down" for a few years. Note that I say "TEND" since there is a great deal of overlap between the two specializations, and a graduate of either program could go one way or the other.</p>

<p>Also, when I say "heads down" what I mean is the computer programmers tend to end up in roles where they are more focused on the actual programming work, e.g. algorithm analysis, program design, and the actual programming itself. </p>

<p>CIS graduates, on the other hand, tend to end up in roles that are slightly more "customer facing". Customer, as in, the people you're building the system for, usually your colleagues in a different department of the company. CIS graduates frequently are more involved in requirements gathering and analysis, but also do some programming as well. But typically the programming is much "faster" and not as in-depth as what Programmers get into, since in the business world there is a great deal of emphasis on tools that enable you to build systems quickly.</p>

<p>Another way to think about it is what companies and departments CP graduates vs CIS graduates end up in. CP graduates are better qualified to work for the companies that actually build software, like Oracle or Microsoft or Intuit or Google. And they are software engineers, meaning they are skilled in taking a set of requirements and turning it into software that meets the stated performance and quality objectives. But please bear in mind that they don't do this in a closet: these jobs are very team-oriented and collaborative, it's just that, typically, a sw engineer collaborates with other programmers, not typically with the actual customer who uses the software.</p>

<p>Whereas CIS graduates tend to work in the IT (information technology) departments of larger companies, and focus on building the tools and technologies that are needed to help the company be more productive.</p>

<p>And, as mentioned above, the toolsets differ. Prorammers typically use programming languages like Java and C++ to write code. CIS people are more involved in business systems and are concerned with networks and databases and use 4th generation toolsets to build applications quickly.</p>

<p>I'm not sure where you are in your educational trajectory -- if it's early enough you will have time to sample courses from each subdiscipline and figure out what works for you. If you want to build things and watch them go, and are more happy doing that in isolation some of the time, you might find the the CP route is more appealing. On the other hand if you tend to build things FOR OTHER PEOPLE, and spend the time with them to figure out what they really want and then go make it happen, the you might be better suited for a CIS role.</p>

<p>Feel free to PM me if you have specific questions that I can help with.</p>

<p>
[quote]
For that matter, a BA in English, if paired up with killer programming or networking or whatever skills will likely get a person just as far with Google and Yahoo and Ebay and etc

[/quote]

Chances of a recent college grad with a BA in English having 'killer programming skills' are minimal however and it'd be tough applying to companies as a new grad with a BA in English versus the CS or CSE degree they're typically looking for. If you're really referring to the idea that one obtained an English degree 10 or 15 years ago but really ended up working as a programmer somehow and can demonstrate it to a prospective employer, then yes, they might get in. They'll always have to overcome the fact that they don't have the CS degree while other candidates might. This is less of a problem if they're being hired by people they know or are simply sticking with the same company they grew in.</p>

<p>A few weeks ago, I met a sociology major who will be starting work with Google after graduation. They don't just hire CS or CSE majors.</p>

<p>Dan:</p>

<p>I agree with 'BayAreaDads' post.</p>

<p>You have to consider whether you find software development (software design, programming) or deploying/integrating applications is more interesting to you. In the former case you're more involved with the creative aspect of software development whether it's writing the software or architecting the application/system. In the latter case you're dealing more with 'off the shelf' applications and applications developed by others that need to be integrated and managed to meet the company's needs - think in terms of mail servers, databases, web servers, etc.</p>

<p>In other words, the CS person creates and develops the mail server (or other) application and the IT person integrates/deploys/manages that application the CS person developed.</p>

<p>These are big generalities with a lot of variance once one really gets into the real world. </p>

<p>One of the best ways to distinguish between them is to evaluate the curriculum at the prospective schools to see where the emphasis is. You may be able to determine right away where you're most interested.</p>

<p>
[quote]
A few weeks ago, I met a sociology major who will be starting work with Google after graduation. They don't just hire CS or CSE majors.

[/quote]

Of course but I doubt the soc major was hired to be a software developer or technical info systems person. There are all kinds of jobs at large companies and at a company that has a large web presence, they need different types of people to determine appropriate user interfaces that appeal to particular segments, etc.</p>

<p>Do a google search for "acm undergraduate education" and pick the third link. There are documents with very detailed information on their recommendations for undergraduate programs: computer science, computer engineering, information systems, information technology and software engineering.</p>

<p>In CIS, you need communications, personal, business and programming and design skills to do your job.</p>

<p>Computer programming is a skill: you can write code to accomplish a particular purpose from a specification. Computer Programming isn't usually a major (at least I haven't heard of one).</p>

<p>Computer science is more about mathematics than it is about programming. There should be a lot of theory involved. I'm sure that there are many computer science programs out there that teach mostly programming with little theory but this is really hijacking the moniker Computer Science for something that may sell well to students.</p>

<p>I have CIS and CS degrees and worked in MIS and consulting before switching over to software engineering.</p>

<p>On english majors: I work with a guy that has a Phd in English and is a top-notch software engineer. I do not know how he made the transition.</p>

<p>Please note the distinction between programming and software engineering and avoid using them interchangeably. Software engineering encompasses a lot more than just programming and it implies a particular skill set that is a superset of "programming".</p>

<p>There is a distinction between IT and IS too. But I have to go home now so I'll write about that later.</p>

<p>BCEagle: </p>

<p>I'm referring to the general categories. A lot of people start out more as 'programmers' and as they gain experience, delve more into 'software engineering'. They're not interchangeable terms but a lot of people will do both - sometimes switching from one mode to another depending on what's needed for the project. A person with a CS degree has the basic background to pursue either of these with a likelihood of an appropriate amount of experience being required to do much in the way of software engineering.</p>

<p>ucsd<em>ucla</em>dad wrote:</p>

<p>"In other words, the CS person creates and develops the mail server (or other) application and the IT person integrates/deploys/manages that application the CS person developed."</p>

<p>Yes but I think that the OP asked about IS not IT.</p>

<p>The IS person could also write the application. I would expect IS staff to be able to write a General Ledger system but I would not expect IT staff to be able to do this. The IS person should be able to gather requirements, create specifications, program the application, test the application and put it into production. Similar to the software engineer. But the software engineer generally creates applications that are used by many while the IS person or staff creates applications that are more specific to his employer or customer.</p>

<p>Programming is a skill. Programmers program. So programmers have a particular skill. I could be a teenager writing programs and I could call myself a programmer. An IS person has the skill of programming. A CS person or software engineer has the skill of programming. But it is more accurate to refer to their titles such as software engineer, information systems consultant, programmer/analyst, etc. to better capture the skills and responsibilities of the professional.</p>

<p>The CS grad should have some experience with software engineering whether in a project class, software engineering classes, or elsewhere. I would guess that not all CS programs provide this though. Some CS programs that I've seen are more along the lines of current skillsets in demand instead of theory.</p>

<p>I think that the way to understand the nuances is to read the ACM documents on undergraduate education for the various majors.</p>

<p>BCEagle:</p>

<p>I think we're in agreement. The bottom line is that the general degrees are to a certain extent just that - general, and the grad can move her/his career in many different directions. The key thing to do is to research what courses are being taught at a particular college in the specific major. The CS (more software, less hardware) and CSE/EECS (not as much software as CS but more hardware) degrees seem to be the more common ones and people looking at the less common variants and specialty majors should have a closer look at their curriculum to understand exactly what education will be attained.</p>

<p>Dan208: Are the differences more clear now?</p>

<br>


<br>

<p>Is that true? At my son's school, a year or two ago, they graduated 20 CS majors and 90 IS majors. I know that kids that can't hack CS can switch to
IS which is far less demanding in math and science. Some universities run their IS majors out of their business schools. I had a look at majors at BC recently and the number of business majors dwarfed science majors; particularly computer science majors.</p>

<p>From the ACM document on IS:</p>

<p>IS professionals must have a broad business and real world perspective.
IS professionals must have strong analytical and critical thinking skills.
IS professionals must have interpersonal communication and team skills and have strong ethical principles.
IS professionals must design and implement information technology solutions that enhance organizational performance.</p>

<p>I'll add one: they need to dress better than their CS counterparts.</p>

<p>On programming from ACM CS:</p>

<p>Computer science did not become an academic discipline until after most institutions had already developed a set of introductory programming courses to serve a much wider audience. By the time our predecessors began to develop computer science curricula, the antecedents of our introductory courses had already evolved explicitly as "skills courses" dating from a time in which programming was regarded primarily as a tool. Thus, computer science curricula were often built on top of existing programming course, which never had the opportunity to evolve into a more broadly based introduction to computer science as a field.</p>

<hr>

<p>The recommendations for the cs grad are: mathematical sophistication, familiarity with the methods of science, how computing is applied in practice, communication skills and the ability to work in teams.</p>

<hr>

<p>I think that it's a little easier to turn a CSE/EECS or EE into a good software engineer as they will more likely have the math and science background for software engineering. The IS major can make for an effective software engineer but may be lost in discussions on algorithms where a lot of theory is used. BTW, that was me in engineering before the MSCS.</p>

<p>I think that most young CS undergrads don't know what their major entails. Perhaps this is true of most majors.</p>

<p>I had lunch with my son and a classmate (a cs major at the time) and he told me that he hated math. I asked him what he thought a computer science degree was all about and I think that he thought that it was about programming. I saw him a year or two later and found that he had switched majors. I didn't tell him that CS was mostly about math - I didn't have the heart to.</p>

<p>
[quote]
Is that true? At my son's school, a year or two ago, they graduated 20 CS majors and 90 IS majors.

[/quote]

I'm sure that numbers in CS/CSE versus IS will vary by school. I have two Ds taking CS now (one almost done) at the schools in my moniker so I'm more familiar with that area but it seems that CS/CSE majors are offered pretty ubiquitously now. But you're right, especially among us who have been in the business a long time, there are people from different backgrounds in it. There are plenty of EE, math, and physics majors doing CS.</p>

<p>Thank you all. I do understand it a little more now. I was browsing some jobs at the hospital that my wife works at and came across one for a Desktop Support Tech and was curious about it. </p>

<p>Dan</p>

<p>On a bit of a side note here, we recently had a student post asking why parents are on this board. This is why....we genuinely want to help young adults and have the background/resources to provide valuable information.<br>
At least that is part of the reason.....</p>