Sep 18, 2024  
2024 - 2025 Graduate Catalog 
    
2024 - 2025 Graduate Catalog

Computer Science Department


 

Faculty

View the Computer Science Faculty .

The Computer Science Program

General Description

The Computer Science Department offers a Master of Science (M.S.) and a Doctor of Philosophy (Ph.D.) in Computer Science. In conjunction with faculty from the Mathematics Department, the department also offers a M.S. with a concentration in computational operations research. In addition, the department offers a M.S. and a Ph.D. with a concentration in computational science. A Bridge to the M.S. for students transitioning from a non-computer science academic background is also available. The Department provides a strong research program with faculty actively engaged in research in the following areas: algorithms, computer systems and networking, high performance computing, modeling and simulation, programming languages and compilers, software verification, software engineering, graphics, and scientific computing.

Admission

William & Mary uses an online application system.  Application materials consist of transcripts and three letters of recommendation. The general and computer science subject GRE scores are not required but may optionally be supplied. The absence of GRE scores will not negatively affect the application. If English is not your first language, your Test of English as a Foreign Language (TOEFL) or International English Language Testing System (IELTS) scores are required and must be sent directly to William & Mary by the Educational Testing Service or IELTS.

Admission requirements for the M.S. and Ph.D. in Computer Science

Students seeking the M.S. or Ph.D. degrees in computer science are expected to have a background that includes the following:

  • Mathematics: two calculus courses and one linear algebra course.
  • Computer Science: two introductory programming courses (CS1 and CS2 in the standard computer science curriculum) and a cohort of courses that may include: discrete mathematics, data structures, algorithms, and computer organization.

Applicants lacking sufficient background may be admitted provisionally into the M.S. program or admitted as Bridge to the M.S. students. In that case, the department will establish a suitable set of qualifying courses at the time of admission. To achieve regular status, bridge or provisionally accepted students must earn at least a B- in each qualifying course. There is no provisional admission into the Ph.D. program.

Admission requirements for the M.S. with a Concentration in Computational Operations Research

Students seeking the M.S. degree with a concentration in computational operations research are expected to have a background in mathematics, science or engineering and the ability to program in a high-level language. Students with insufficient background in computer science may be required to enroll in CSCI 241 and CSCI 303. Applicants lacking an appropriate background may be admitted provisionally.

Admission requirements for the M.S. with a Concentration in Computational Science

Students seeking the M.S. degree with a concentration in computational science are expected to have a background in mathematics, science or engineering that includes the following:

  • Mathematics: two calculus courses and one linear algebra course
  • Computer Science: two introductory programming courses (CS1 and CS2 in the standard computer science curriculum).

Students with insufficient background in data structures, algorithms, computer organization, and systems programming may be required to enroll in CSCI 241, CSCI 303, CSCI 304, and CSCI 415.

Computer Science, Bridge to the M.S.

The Bridge to M.S. option is intended for students that want to obtain a Master of Science degree in Computer Science but who might be missing some prerequisite background in the discipline. The Bridge to M.S. students will be provided with a tailored curriculum of prerequisite courses and each student will be assigned a dedicated advisor. A student’s prior experience (either academic or professional), will determine the starting point in the course work. The total credit hour requirement before moving on to the M.S. program in CS is between 4 and 30, depending on the applicant’s background coursework in CS and Math. Exact individual requirements will be worked out with a faculty advisor and will consider the student’s academic and professional CS background.

The Bridge to M.S. students will focus more on hands-on experience and less on research in the discipline. Students may enroll part-time or full-time. Students with some related experience will be able to skip some portions of the coursework. Students that meet a minimum GPA in bridge coursework will seamlessly continue in the Computer Science M.S. program.

W&M computer science does not offer specializations, but students have great freedom in choosing their courses, thus it is possible to specialize in a particular field (assuming courses are offered in that field).

Course Requirements before moving to M.S. courses.
A degree in computer science is not required for admission to the M.S. program. However, we do expect applicants to have background coursework in CS and Math. Below are the type of background courses that are typically required before proceeding with M.S.-level courses; however, the exact individual requirements will be worked out with a faculty advisor and will take into account student’s academic and professional CS background:

MATH 111 - Calculus I
MATH 112 - Calculus II
MATH 211 - Linear Algebra
CSCI 141 - Computational Problem Solving
CSCI 241 - Data Structures
CSCI 243 - Discrete Structures of Computer Science
CSCI 301 - Software Development
CSCI 303 - Algorithms
CSCI 304 - Computer Organization

To achieve regular status as an M.S. student, accepted students must earn at least a B in each qualifying course taken.

 

Accelerated Bachelor’s-to-Master’s Program for W&M CS Undergraduate Students (4+1)

The total credit hour requirement for the M.S. in CS (non-Thesis option) is 32 credits, which must be accumulated by completing a program of courses approved by the Department.  Students begin taking graduate level courses during the senior year of the B.S. program at William & Mary. Credits cannot be applied to both the B.S. and M.S. degree programs.

The department offers a program designed to enable particularly well-prepared students to obtain an M.S. in Computer Science 12 or 15 months after receiving their bachelor’s degrees.

Plan of Study:

  1. Take CSCI 141, 241, 243, 303, 304 and 312 (thereby obtaining a minor in computer science). You must have earned a B or better in these courses, and have an overall GPA of 3.0 by the end of your Junior year to qualify for this program.
  2. By the end of your Junior year, register your interest in the One-Year-M.S. with the Department of Computer Science. Following registration, a computer science advisor will be assigned to you, if needed.
  3. In your Senior year take any two of the following courses for graduate credit: CSCI 520, 523, 524, 526, 527, 534, 535, 542, 544. (All of these are cross-listed as 400-level courses and are offered once per year.)
  4. During the Fall semester of your Senior year, apply for regular admission to the Computer Science Graduate Program, clearly indicating an interest in the One-year M.S. Degree Program.
  5. If admitted, you will select a research advisor. You will work with this advisor to complete the remaining M.S. requirements.

The one-year M.S. degree is based on the standard 32-hour, non-thesis M.S. degree option. Two of these 32 hours must be satisfied by passing CSCI 710; the other 30 hours correspond to 10, three-credit computer science graduate courses. To complete an M.S. degree in just one year of study two of these ten courses must be taken for graduate credit while still an undergraduate [pdf]. The other eight courses would be taken, four per semester, in two intensive semesters of graduate study. CSCI 710 may be completed either in your final semester or in the summer after you complete the coursework.

Programs and Course Descriptions

Programs

Courses

    Computer Science

    Course Descriptions

    Wherever a William & Mary course is specified as a prerequisite, it is understood that appropriate experience or an equivalent course, taken at another institution, may be substituted for the specified prerequisite. Each such substitution must be approved by the instructor of the course for which a substitution is appropriate. Generally, graduate students should also consult with their advisors to verify that they meet all course prerequisites.

    Note that 500-level courses are cross-listed as 400-level courses in the undergraduate catalog and will thus be open to undergraduates. In these cross-listed courses, there will be higher expectations and additional requirements for graduate students. Students should consult with the instructor of such a course for further information.

    Unless otherwise noted, all courses are graded using standard grading [A, B, C, D, F] scheme (See Grading and Academic Progress  in the section entitled Graduate Regulations) and may not be repeated for credit (See Repeated Courses  requirements in the section entitled Graduate Regulations).

     

    Computer Science GRAD