Undergraduate StudentsGraduate StudentsFacultyResourcesAlumniMY MSCS

print

Additional Information

Updated Nov 28, 2007

The following are frequent questions that pertain specifically to the Computing Program. There may be additional information of a more general nature that applies to all the degrees. See Resources for additional information

How does Computing compare with MSCS?

The Masters degree with specialization in Computing is intended as a terminal professional masters degree leading to careers typically in software applications development, software engineering, Internet architecture, etc.

The Masters with a specialization in Computer Science complements the Masters with a specialization in Computing. The Masters degree with specialization in Computer Science is intended to be more mathematical in content than the Computing Program. There are some other degree requirement differences:

  1. Students in the Masters degree with specialization in Computer Science program must complete an essay or thesis, as well as take a final comprehensive exam
  2. Students in Masters degree with specialization in Computer Science program (eventually) must complete a Program of Study form which requires approval by the Mathematics, Statistics and Computer Science Department Graduate Committee. Course of study are more restricted than the Computing Program
  3. The Masters with a specialization in Computer Science requires completion of at least two full-year graduate level courses chosen from at least two of the following six areas: algebra, analysis, topology, statistics, operations research, and computer science. Thus, you will need to background, or experience, to study a graduate mathematics sequence in addition to computer science.
  4. General Graduate Studies information. You should also consult the Marquette University Graduate School information found at: www.grad.mu.edu and the Application Information found under www.grad.mu.edu/apply.html

Why not call this a Master of Science in Computer Science?

To the faculty in the program, "computer science" suggests a theoretical and/or research component that is not a part of this program. We teach fundamental concepts, but the program is a terminal, professional program with a decidedly practical orientation, compared with computer science as offered by the University of Wisconsin - Madison, the University of Illinois, and similar universities. Further, we have no faculty doing research in core areas of computer science such as operating systems, architecture, data bases, compilers, etc.

Programming Prerequisites?

There IS technical programming. Many of your courses assume that you can write programs in several languages. Computer Science is not programming, but programming is one of the skills we expect of a computing professional.

The MS in Computing requires TWO semesters of programming. Part of your program will include classes also taken by our undergraduate computer science students as juniors and seniors, and you need to be able to compete successfully in those classes.

We expect you to have completed an introduction to programming in some modern language (Our students take Java. C++, C, Ada, Pascal, Fortran, ... are all reasonable alternatives.) That class should cover object-oriented and structured programming methodologies and equip you to write programs in some real language.

The second programming course is usually a course in Data Structures, stacks, queues, lists, graphs, trees, etc. These are the fundamental building blocks of many computer algorithms. This course also serves to polish your programming skills, especially in object- oriented techniques and the use of pointers. Our students program in Java, but C++, Ada, Fortran 90, etc. are other reasonable choices.

We are happy to consider appropriate experience in lieu of actual coursework. What we are looking for is evidence of sufficient programming skill that you will be able to compete successfully with talented undergraduate students in many of your classes. One way to get that is by taking the two classes I describe. Some students are able to get there by self-study of one or both of the classes.

If you choose to take the prerequisites at Marquette (we hope you do), the classes are

  1. COSC 060 Object Oriented Programming in Java
  2. COSC 066 or 154 Data Structures
(066 and 154 are the same course. It does not matter which number you take.) You absolutely may take the prerequisite courses anywhere. You may pick up the knowledge by self-study, although I recommend self-study only for experienced programmers

The MS in Computing program has NO mathematics requirements. We think that mathematics is an excellent background for computing. Some of our computing classes draw heavily on math. However, many of your classes, including the networking classes, require no math.

How do you handle BOTH those with CS exposure and those without?

I am considering starting a Masters degree program of some sort over the next year or so. I am considering Marquette's new MS-Computing. Based on my reading of the information on the web, it looks like the program is geared toward both those with CS exposure and those without.

Correct. How are you ensuring that the program will be able to reach two diverse audiences? There are several features that work together to achieve that.

  1. Entrance requirements are minimal. Two CS courses, including Data Structures, or equivalent experience. We have currently about 12-15 people taking those prerequisite courses, not for credit in the program, to get ready for the program.
  2. Courses at graduate and undergraduate levels. Under Marquette's system, graduate students are permitted to take up to half their graduate program from courses also available to undergraduates. Hence, the students in the Computing program with less computing background will probably take half their program in classes with junior and senior undergraduate CS majors. See also FAQ: Can I take undergraduate courses?
  3. Lots of "genuine" graduate classes. At least half of each student's program must be at the 200 level, classes only available to graduate students. Well prepared students will probably take nearly all their courses at the 200 level, unless there is a 100 level class they really want. We have about 25 classes at the 200 level. 6-8 200 level classes are offered each semester, nearly all in the evening, so you have several from which to choose.
  4. There are no classes that are required, so you have complete flexibility to select classes that meet your needs, your career plans, and your schedule.
One result is that not everyone graduates with the same skill set. We take each student where she or he is, and move them along. The person who started with the equivalent of an undergraduate CS major graduates with a VERY strong skill set. Those students typically interview for jobs requiring a few years experience. The person who started with no programming at all has grown a lot, but is not at the same place. Those students typically interview for entry level jobs, a bit ahead of undergraduate CS students.