A CS Degree at WPI
This is a question that many new students at our department seem to
ask themselves. We will try to give an answer on this page. While it
is quite obvious what the purpose of a PhD program is (we will still
talk about it below), it is not so clear what a MS degree enables you
to do.
Consider the following statement, shamelessly ripped from the
UC
Berkeley website and slightly edited.
An undergraduate program teaches you the core ideas of computer
science, and gives you some practice in the craft of computer
programming, but can only give you a basic introduction to any
particular specialty within the field. There are two kinds of reasons
for continuing on to graduate study. One is to prepare for a research
career, in which your goal is to advance the state of the art, rather
than to put current technology to work. Students with this goal
generally seek a Ph.D. degree. In particular, the Ph.D. is a
requirement for appointment as a professor at a research
university. (At some universities, including Berkeley, and WPI,
an M.S. degree is an intermediate step toward the Ph.D.; at others,
including Stanford, the Ph.D. can be the first graduate degree
earned.) The other reason is to learn in greater detail, and in
greater depth, about some specific area within CS, to help further a
career in industry. Students with this goal may seek an M.S. degree
as their final target.
Graduate programs are more varied in their requirements than
undergraduate programs. Some schools, including Berkeley, require a
thesis or project for the master's degree. Other schools, including
Stanford, offer course-work-only master's programs. The differences in
doctoral programs are even greater, and the quality of the faculty is
all-important at the Ph.D. level.
Generally speaking, graduate classes are usually smaller than
undergraduate classes, with more contact with the professor. Grade
competition is less intense because there is much less concern with
grade point averages. However, graduate school is serious
business. Graduate students are generally highly motivated and fully
engaged in their work. [...] You will probably find that they enjoy
what they are doing.
A graduate program in Computer Science at WPI builds upon an
undergraduate education in CS. Many basic skills of a CS student are
expected of an applicant. In particular, that means that you will
not be taught how to program in a CS graduate program. All CS
courses except CS501 have as their prerequisite the knowledge of a
structured or object-oriented programming language. And even in CS501,
you will not learn a programming language. You will also not be
taught the use of specific operating systems, application software
or software development tools. If you think that you will need Windows
NT, MS Office, Visual Basic, Visual Studio, (D)COM, ActiveX, Active
Server Pages, or anything like that in your future job, you have to
learn it yourself. The purpose of a MS program is to teach you the
underlying principles of Computer Science, such as theoretical CS,
principles of operating systems and networks, software engineering,
design and principles of database systems, computer graphics,
visualization, artificial intelligence, etc. You are expected to gain
skills that you will need to perform well in your job not only now
(with the knowledge of one certain programming language), but also in
the future, when you have to adapt to changes in computer applications.
Over the next few months, we will try to gather some information from
senior students as to what they were doing in their summer jobs and
how the contents of their WPI classes related to those jobs.
Well, maybe it does, but it shouldn't scare you. We are trying to give
you an idea as to what to expect from a graduate program. Even if you
don't have a CS background and don't have much programming experience,
you can do fine in the MS program. It just means that you'll have to
work harder on things that CS undergraduates already know, such as
learning how to program or learning how to use operating systems other
than Windows {9{5|8}|NT} and you have to make an effort to do that
yourself. Once you start to work in the real world, you will also be
expected to pick up new programming languages or concepts yourself
without a course. The MS work merely helps you to do this quicker and
more thorough, and gives you a chance to understand underlying
concepts of Computer Sience (which is called Information Science in
many other languages, and should therefore not even exlusively focus
on computers at all...).
PhDs are a complicated matter... there are no general rules for a
PhD. Try talking to other PhD students and read some of the material
available on the Web.
Last modified by CS-GSO,
Friday, 17-Sep-2004 14:21:12 EDT