Jun 01, 2024  
2023 - 2024 Graduate Catalog 
    
2023 - 2024 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 specialization in computational operations research. In addition, the department offers a M.S. and a Ph.D. with a specialization 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 Specialization in Computational Operations Research

Students seeking the M.S. degree with a specialization 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 Specialization in Computational Science

Students seeking the M.S. degree with a specialization 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 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.

 

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