The Master of Science in Computer Science (or Computer Engineering) typically provides further breadth and depth in several areas and can be completed by a full time student in about two years. Some programs require a thesis, others do not. Courses in some programs may be used as part of a Ph.D. programs, but other programs assume that this is a "terminal" degree.The Master of Computer Science (cf. U. of Illinois program) is usually a "terminal" degree and often designed for those whose undergraduate degree has not been in mathematics, computer science, or engineering. Some programs are specifically designed for those wishing to teach CS in high schools or community colleges.
The Master of Science in Software Engineering (cf. SCU's program) is a degree focusing on the software development process and on engineering and design questions related to large software projects. Some programs require that students have a minimum of one or two years work experience before entering such a program.
There are also computer-related programs focusing on what is commonly called "scientific computation" or "computational science" whose "home" may or may not be in a Department of Computer Science. Such programs (both on the master's and doctoral levels) focus specifically on numerical computations and questions of speed and accuracy related to numerical problems. One such programs is the Scientific Computing and Computational Mathematics Program at Stanford which is a program independent of the Computer Science Department.
Some schools also offer graduate degrees in "Computer (Computational) Science and Engineering" which are also independent of "Computer Science" degrees at the same school and are often interdisciplinary. For one example, such program is housed in the Department of Electrical and Computer Engineering at the Univ. of Illinois and is called the Computational Science and Engineering Option.
Although Ph.D.s in Computer Science often find a career in academia (cf. Association for Computing Machinery "Career Opportunities" Website), some Ph.D.s find employment doing research in non-academic environments, such as at national labs (cf. Lawrence Livermore National Laboratory).
The more common departmental names are:
Many graduate schools design their graduate programs assuming that some students will have come from their own undergraduate programs and have the same breadth of knowledge. Some Ph.D. programs permit or require students to demonstrate proficiency in several areas and some master's programs require students to take courses in such areas (or test out via an exam). The typical areas include:
At some schools, software is further subdivided into programming languages, operating systems, networking, and compilers.
Students are encouraged to take courses in the major foundational areas of computer science to prepare themselves better for graduate study. Students are also encouraged to take "support" mathematics courses appropriate to computing courses (e.g., Math 122 [Prob and Stats] for COEN 146 [Networks]). Academic advisors can help determine courses that best correspond to the foundational and other areas.
Since the uses for computers is constantly expanding, areas linked with computer science are evolving and multiplying. Newer areas that are rapidly developing include bioinformatics and genetic programming and computation (sometimes listed under artifical intelligence).
Most common are teaching assistantships in which a graduate student holds office hours for an introductory level course and perhaps conducts a problem solving session once a week as part of the course lecture schedule. The stipend covers university fees and is enough to cover room and board expenses as well. Many new graduate students find the network of TAs in their department to be a good source of support and information.Typically, students apply for such funding in the process of applying for admission to a program, but in most cases the deadline for such applications is significantly earlier than applying without any expectation of funding.Research assistantships are positions in which a student works for a faculty member in a research capacity, often in conjunction with a project for which the faculty member has received a grant from industry, NSF, NASA, or another funding agency. The research done by the RA can sometimes be incorporated into the student's master's thesis or even a Ph.D. dissertation.
Fellowships are competitive grants given to a student which demands no specific work on the part of the student.
Tuition waivers are sometimes given to advanced graduate students who have already served as TAs or RAs and are completing their degree.
For those students interested in broadening and deepening their knowledge yet not immediately interested in doctoral work or who are attracted to industry, there are excellent graduate programs which provide a quality education at smaller schools, often near their places of employment (e.g., San José State, Santa Clara). Such programs (such as the one at Santa Clara) are designed for students who might be employed full-time and are often subsidized by employers.
Resources found on the general "Math/CS Department WWW Resources" web page under the "Resources in Computer Science" listing regarding "Graduate School Information" should be examined. Of particular usefulness can be the various rankings of graduate programs and the "Graduate Assistantship Directory" from the Association for Computing Machinery (ACM) which lists, in addition to information about graduate student financial support, other useful data about departments (including number of faculty, specializations of faculty, number of graduate students, etc.). (Unfortunately, not all major schools submit the information for web publishing via this medium.)
Information found on the "WWW Resources" web site regarding preparation for graduate studies in Mathematics may also be useful (with appropriate modification) for those interested in studying Computer Science. Of particular usefulness is the advice given about letter of recommendation and personal statements.
This page maintained by Dennis C. Smolarski, SJ.
My email address is
dsmolarski@math.scu.edu
This information page last updated 22 April 2002.