Mar 29, 2024  
Graduate Record 2017-2018 
    
Graduate Record 2017-2018 [ARCHIVED RECORD]

Computer Science


Return to: School of Graduate Engineering and Applied Science  


As digital computers and networked systems have become ubiquitous, the need to understand the nature of computation, both in its fundamental theoretical capabilities and limitations, as well as in the design, implementation and application of practical systems, has become increasingly important. Our Computer Science Department provides opportunities, through PhD and Masters degree programs, for students to engage in research across this spectrum, and indeed, to make substantial contributions to the overall body of knowledge in computer science. To be prepared to join in this research, students must have a solid background in computer science and be motivated to explore frontiers of knowledge. Of course, with a field as dynamic as computer science, our instructional program continually strikes a balance between the incorporation of current innovations and the established foundations of computer science knowledge.

The spectrum of research opportunities available through our graduate programs includes wireless sensor networks, cyber-physical systems, real-time systems, programming languages and environments,  compilers, critical systems and survivability, computer architecture, electronic commerce, system security, cryptography, machine learning, algorithms, software engineering, program repair, distributed and cloud computing, computer graphics and vision, parallel computing, bioinformatics, mobile wireless health, and computational science and medicine. An emphasis in many of these areas is in empirical research framed by solid theoretical analysis and collaborative multi-disciplinary research. The department has a number of highly visible research projects that are building innovative, cutting-edge systems with national exposure. The department’s computer core infrastructure includes a state-of-the-art mix of hardware and software systems, connected with high-bandwidth networks, as well as high-quality software engineering tools, including commercial development and debugging tools for a variety of programming environments.

The department offers a Doctor of Philosophy of Computer Science degree, along with Master of Science and Master of Computer Science degrees at the graduate level  Regardless of the degree track all graduate students engage in substantial research. To this end, the department keeps its graduate classes small and fosters a one-to-one relationship with the faculty.

In brief summary, the department offers five graduate degree paths:

  1. A project-, exam- and coursework-based Master of Computer Science degree. MCS students are funded by assistantships or fellowships and often go on to complete a PhD.
  2. A thesis-, exam- and coursework-based Master of Science degree. MS students are funded by assistantships or fellowships and often go on to complete a PhD.
  3. A terminal, coursework-based version of the Master of Computer Science degree. Terminal MCS students are often self-funded.
  4. A terminal, thesis- and coursework-based version of the Master of Science degree. Terminal MS students are often self-funded.
  5. A research-based Doctor of Philosophy degree. PhD students are funded by assistantships or fellowships.

Graduate students are also expected to master one area of computer science in depth. To this end, each new student chooses a research advisor within the first semester, takes several advanced seminars, participates in professional conferences, and submits refereed publications during their tenure here. Although specific course requirements are minimal for the Ph.D. degree, students in the program are expected to develop the mathematical skills necessary for well-founded scientific research, participate in the ongoing intellectual life of the department, and regularly attend colloquia and seminars. 

 

Master’s Degree Requirements

The official requirements for a Master’s Degree are as follolws:

  • A minimum of 31 graduate-level credits, including 1 credit of “Computer Science Perspectives” (CS 6190) – can be waived by permission of the graduate program director
  • 3 credits of a graded graduate-level Mathematics Elective
    • MATH, APMA and STAT courses are acceptable
    • “Machine Learning” (CS 6316) from Fall 2015 onward is acceptable
    • “Introduction to Machine Learning and Data Mining” (CS 6501) from Spring 2015 or earlier is acceptable
    • other non-CS graduate courses with a significant mathematical component can also satisfy this requirement with the prior written approval of the graduate program director
  • 12 credit hours of graded graduate-level Categorized CS Electives
    • 3 credits from “Computer Systems” category
    • 3 credits from “Software Systems” category
    • 3 credits from “Application Systems” category
    • 3 credits from “Theory” category
  • 15 credit hours of graded graduate-level Graduate Electives, following one of three options:

1. Project. Exactly 3 credits of CS 7995 must be used. No credits of CS 8999 may be used to satisfy degree requirements (but CS 8999 may be taken for other purposes, see below). A project presentation must be completed (in the same semester as CS 7995 is taken). 
2. Thesis. Exactly 6 credits of CS 8999 must be used. No credits of CS 7995 may be used. A thesis presentation must be completed.
3. Coursework. No credits of CS 7995 or 8999 may be used to satisfy degree requirements (but CS 8999 may be taken for other purposes, see below). No presentation is necessary. The Coursework MCS is usually considered to be a terminal degree and future etrance into any PHD program is unlikely.

  • Restrictions on Graduate Electives:
    • no 5000-level CS courses at all
    • no more than 6 transfer credits
    • no TA credits (CS 8897 and CS 9897; see Chapter 3.1)) count toward the degree
    • no more than 3 credits of Independent Study (CS 6993/7993) can be counted toward the degree
  • 3 Assessments forms, chosen from:

1. “Engineering Analysis” assessment form, completed with an instructor from one of your Graduate Electives or your CS advisor
2. “Engineering Design” assessment form, completed with an instructor from one of your Graduate Electives or your CS advisor
3. “Oral Communication” assessment form, completed with an instructor from one of your Graduate Electives of your CS advisor
4. “Plan of Study” assessment form, completed with your CS advisor

  • Complete the “Application for Graduate Degree” form at the start of the semester during which you expect to graduate.  If you are leaving the program after obtaining your Master’s Degree, complete the “Graduate Student Leave Request” form.  Note that while CS 8999 only satisfies degree requirements for students pursuing the Thesis option, it can be taken by Coursework or Project students to help qualify for full-time status (12 credits per semester). In that case it helps with full-time status but does not count toward Master’s degree requirements. 

The PhD degree requires 72 graduate-level credits, including:

  • at least 24 credits of graded graduate-level coursework, including
    • one graded graduate-level mathematics course (may be satisfied by transfer credit), MATH and APMA courses are acceptable, “Introduction to Machine Learning and Data Mining” (CS 6501) is acceptable and other non-CS graduate courses with a significant mathematical component can also satisfy this requirement with the prior written approval of the graduate program director
    • no 5000-level CS courses
    • at least 6 credits of graded graduate-level coursework in excess of that required for the Master’s degree (if possessing or obtaining a Master’s degree)
      • these credits traditionally cannot be transferred in, you must actually take at least 6 credits of coursework at UVA to get a UVA PHD
      • CS 8897 and CS 9897 (Graduate Teaching Instruction) cannot be used to
        satisfy this 24-credit requirement
    • The remaining 48 graduate-level credits are typically satisfied via graduate teaching and research hours such as CS 9999, containing
      • at least 12 credits in any combination of CS 8897 and CS 9897 (Graduate Teaching Instruction), corresponding to two semesters as a full-time, 20 hour per week TA.
  • Completion of the Qualifying Examination
  • Completion of the PhD Proposal
  • Completion of the Oral Defense of the written Dissertation
  • Finally, complete the “Graduate Student Leave Request” form to leave the program.
  • These requirements have significant overlap with the MCS and MS degree requirements;
    • many students choose to earn one of those Master’s degrees as part of their PhD studies.
    • SEAS does not limit PhD transfer credit, but all transfer credits must be approved by the student’s PhD committee. Students should not assume that transfer courses will be accepted prior to curriculum committee approval.
    • Students may take additional courses beyond those required for graduation.

Computer Science Graduate Program


As digital computers and networked systems have become ubiquitous, the need to understand the nature of computation, both in its fundamental theoretical capabilities and limitations, as well as in the design, implementation and application of practical systems, has become increasingly important. Our Computer Science Department provides opportunities, through PhD and Masters degree programs, for students to engage in research across this spectrum, and indeed, to make substantial contributions to the overall body of knowledge in computer science. To be prepared to join in this research, students must have a solid background in computer science and be motivated to explore frontiers of knowledge. Of course, with a field as dynamic as computer science, our instructional program continually strikes a balance between the incorporation of current innovations and the established foundations of computer science knowledge.

The spectrum of research opportunities available through our graduate programs includes wireless sensor networks, cyber-physical systems, real-time systems, programming languages and environments,  compilers, critical systems and survivability, computer architecture, electronic commerce, system security, cryptography, machine learning, algorithms, software engineering, program repair, distributed and cloud computing, computer graphics and vision, parallel computing, bioinformatics, mobile wireless health, and computational science and medicine. An emphasis in many of these areas is in empirical research framed by solid theoretical analysis and collaborative multi-disciplinary research. The department has a number of highly visible research projects that are building innovative, cutting-edge systems with national exposure. The department’s computer core infrastructure includes a state-of-the-art mix of hardware and software systems, connected with high-bandwidth networks, as well as high-quality software engineering tools, including commercial development and debugging tools for a variety of programming environments.

The department offers a Doctor of Philosophy of Computer Science degree, along with Master of Science and Master of Computer Science degrees at the graduate level and the Bachelor of Science and Bachelor of Arts majors at the undergraduate level. Regardless of the degree track all graduate students engage in substantial research. To this end, the department keeps its graduate classes small and fosters a one-to-one relationship with the faculty. In brief summary, the department offers five graduate degree paths:

  1. A project-, exam- and coursework-based Master of Computer Science degree. MCS students are funded by assistantships or fellowships and often go on to complete a PhD.
  2. A thesis-, exam- and coursework-based Master of Science degree. MS students are funded by assistantships or fellowships and often go on to complete a PhD.
  3. A terminal, coursework-based version of the Master of Computer Science degree. Terminal MCS students are often self-funded.
  4. A terminal, thesis- and coursework-based version of the Master of Science degree. Terminal MS students are often self-funded.
  5. A research-based Doctor of Philosophy degree. PhD students are funded by assistantships or fellowships.

Graduate students are also expected to master one area of computer science in depth. To this end, each new student chooses a research advisor within the first semester, takes several advanced seminars, participates in professional conferences, and submits refereed publications during their tenure here. Although specific course requirements are minimal for the Ph.D. degree, students in the program are expected to develop the mathematical skills necessary for well-founded scientific research, participate in the ongoing intellectual life of the department, and regularly attend colloquia and seminars. The department also offers a Doctor of Philosophy of Computer Engineering degree, along with Master of Science and Master of Engineering degrees at the graduate level and the Bachelor of Science major at the undergraduate level. Master’s Degree Requirements

The official requirements for a Master’s Degree are as follolws:

  • A minimum of 31 graduate-level credits, including 1 credit of “Computer Science Perspectives” (CS 6190) – can be waived by permission of the graduate program director
  • 3 credits of a graded graduate-level Mathematics Elective
    • MATH, APMA and STAT courses are acceptable
    • “Machine Learning” (CS 6316) from Fall 2015 onward is acceptable
    • “Introduction to Machine Learning and Data Mining” (CS 6501) from Spring 2015 or earlier is acceptable
    • other non-CS graduate courses with a significant mathematical component can also satisfy this requirement with the prior written approval of the graduate program director
  • 12 credit hours of graded graduate-level Categorized CS Electives
    • 3 credits from “Computer Systems” category
    • 3 credits from “Software Systems” category
    • 3 credits from “Application Systems” category
    • 3 credits from “Theory” category
  • 15 credit hours of graded graduate-level Graduate Electives, following one of three options:

1. Project. Exactly 3 credits of CS 7995 must be used. No credits of CS 8999 may be used to satisfy degree requirements (but CS 8999 may be taken for other purposes, see below). A project presentation must be completed (in the same semester as CS 7995 is taken). 
2. Thesis. Exactly 6 credits of CS 8999 must be used. No credits of CS 7995 may be used. A thesis presentation must be completed.
3. Coursework. No credits of CS 7995 or 8999 may be used to satisfy degree requirements (but CS 8999 may be taken for other purposes, see below). No presentation is necessary. You may not continue on to the PhD program.

  • Restrictions on Graduate Electives:
    • no more than 6 credits from non-CS 5000-level courses
    • no 5000-level CS courses at all
    • no more than 6 transfer credits
    • no TA credits (CS 8897 and CS 9897; see Chapter 3.1)) count toward the degree
    • no more than 3 credits of Independent Study (CS 6993/7993) can be counted toward the degree
  • 3 Assessments forms, chosen from:

1. “Engineering Analysis” assessment form, completed with an instructor from one of your Graduate Electives or your CS advisor
2. “Engineering Design” assessment form, completed with an instructor from one of your Graduate Electives or your CS advisor
3. “Oral Communication” assessment form, completed with an instructor from one of your Graduate Electives of your CS advisor
4. “Plan of Study” assessment form, completed with your CS advisor

  • Complete the “Application for Graduate Degree” form at the start of the semester during which you expect to graduate.  If you are leaving the program after obtaining your Master’s Degree, complete the “Graduate Student Leave Request” form.  Note that while CS 8999 only satisfies degree requirements for students pursuing the Thesis option, it can be taken by Coursework or Project students to help qualify for full-time status (12 credits per semester). In that case it helps with full-time status but does not count toward Master’s degree requirements. 

The PhD degree requires 72 graduate-level credits, including:

  • at least 24 credits of graded graduate-level coursework, containing
    • one graded graduate-level mathematics course (may be satisfied by transfer credit), MATH and APMA courses are acceptable, “Introduction to Machine Learning and Data Mining” (CS 6501) is acceptable and other non-CS graduate courses with a significant mathematical component can also satisfy this requirement with the prior written approval of the graduate program director
    • no more than 6 credits from 5000-level courses, none of which are from the CS department
    • at least 6 credits of graded graduate-level coursework in excess of that required for the Master’s degree (if possessing or obtaining a Master’s degree)
    • The remaining 48 graduate-level credits are typically satisfied via graduate teaching and research hours such as CS 9999.
  • Completion of the Qualifying Examination
  • Completion of the PhD Proposal
  • Completion of the Oral Defense of the written Dissertation
  • Finally, complete the “Graduate Student Leave Request” form to leave the program.
  • These requirements have significant overlap with the MCS and MS degree requirements;
    • many students choose to earn one of those Master’s degrees as part of their PhD studies.
    • SEAS does not limit PhD transfer credit, but all transfer credits must be approved by the student’s PhD committee. Students should not assume that transfer courses will be accepted prior to curriculum committee approval.
    • Students may take additional courses beyond those required for graduation.