Graduate Degree Requirements (previous to 2012)
This document describes requirements for the Master's and Ph.D. degrees offered by the Graduate Group in Computer Science at UC Davis.
- Computer Science Breadth Requirements
- MS Undergraduate Proficiency Requirements
- MS Graduate Breadth Requirements
- Requirements for the Master's Degree
- Requirements for the Ph.D. Degree
- Appendix A - Undergraduate Proficiency Course Requirements
- Appendix B - MS Graduate Breadth Requirement; Ph.D. Advanced Proficiency Requirement
- Appendix C - Guidelines for Committee Selection
- Appendix D - Master's Comprehensive Examination; List of Examination Areas
Computer Science Breadth Requirements
All students receiving degrees through the Graduate Group in Computer Science must satisfy the "breadth" requirements. These requirements include:- Demonstrated proficiency at the undergraduate level in four fundamental areas of computer science, and in mathematics (see Appendix A)
- MS students must demonstrate proficiency at the graduate level in three breadth areas(see Appendix B)
- * Ph.D. students must complete the Advanced Proficiency Requirements (see Appendix B)
MS Undergraduate Proficiency Requirements
A student satisfies the undergraduate proficiency requirements by demonstrating proficiency at the undergraduate level in the following areas:- Computer Architecture
- Programming Languages
- Operating Systems
- Theoretical Foundations of Computer Science
- Mathematical Foundations
A student satisfies the above requirements in one of the following ways:
- Demonstration of proficiency in each area on the student's previous undergraduate or graduate record. This is decided by a graduate advisor in consultation with the student.
- Demonstration of proficiency in each area by completion of an approved undergraduate course in the area with a grade of B or better. (See Appendix A for a list of "approved" courses for each area).
- Demonstration of proficiency in an area by completion of a graduate course, with a grade of B or better, equivalent to one of the approved undergraduate courses in the area, or approved by the graduate adviser.
- Demonstration of proficiency in an area by challenging one of the approved courses in the area, receiving a grade of B or better.
- Petitioning the Graduate Advisors Committee of the Graduate Group to
have the requirement removed, or have an acceptable substitute course
submitted in place of the requirement.
- It is expected that the student will complete the Undergraduate Proficiency Requirements by the end of the first academic year of residence. This deadline may be extended only by approval of the Graduate Advisors Committee of the Graduate Group.
MS Graduate Breadth Requirements
The breadth requirement of the Computer Science Graduate Group includes demonstrated proficiency in three of four areas of computer science at the graduate level: Theory, Systems, Architecture, and Applications. Courses are associated with the four areas as follows:| Architecture | Tier I: ECS 201A Advanced Computer Architecture ECS 270 Computer Architecture Tier II: ECS 201B High Performance Uniprocessing ECS 203 Novel Computing Technologies EEC 277 Graphics Architecture ECS 289B Special Topics: Architecture |
| Systems | Tier I: ECS 240 Programming Languages ECS 251 Operating Systems ECS 260 Software Engineering Tier II: ECS 243: Code Generation and Optimization ECS 244 Principles of Concurrent Programming ECS 289C Special Topics: Programming Languages ECS 289D Special Topics: Operating Systems ECS 289E Special Topics: Software Engineering |
| Theory | Tier I: ECS 222A Design and Analysis of Algorithms Tier II: ECS 222B Advanced Design & Analysis of Algorithms ECS 220 Theory of Computation ECS 223 Parallel Algorithms ECS 224 String Algorithms ECS 225 Graph Theory EECS 227 Modern Cryptography ECS 228 Cryptography for E-Commerce ECS 226 Computational Geometry ECS 230 Applied Numerical Linear Algebra ECS 278 Computer-Aided Geometric Design ECS 289A Special Topics: Theory |
| Applications | Tier I: ECS 231 Large Scale Scientific Computation ECS 234 Computational Functional Genomics ECS 235A Computer and Information Security ECS 236 Computer Security Intrusion Detection Based Approach ECS 252 Computer Networks ECS 256 Performance Evaluation ECS 265 Distributed Database Systems ECS 267 Wide-Area Distributed Information Systems ECS 268 Scientific Data and Workflow Management ECS 270 Artificial Intelligence ECS 271 Machine Learning & Discovery ECS 272 Information Visualization ECS 274 Automated Deduction ECS 275A Advanced Computer Graphics ECS 276 Advanced Volume Visualization ECS 277 Advanced Visualization ECS 278 Computer Aided Geometric Design ECS 279 Computer Animation Tier II: ECS 229 Advanced Computational Structural Bioinformatics ECS 235B Computer and Information Security ECS 256B High Speed Networks ECS 257 Mobile and Wireless Networks ECS 258 Internet Quality of Service ECS 259 Optical Networks ECS 273 Applied Visual Computing ECS 275B Advanced Computer Graphics ECS 280 Principles of Virtual Reality ECS 289 F, G, H, I, J, K, M S Special Topics |
The student can satisfy the above requirements in one of the following ways:
- Completion of a Tier I course with a grade of “B” or better.
If required grade is not received in Tier I course, a Tier II course must
be completed with a grade of “B” or better for the requirement
to be satisfied.
- Demonstration of a similar graduate course taken at another institution
with a grade of B or better (A graduate advisor must approve this option.)
- Challenging a required course in the area (according to University of California procedures), receiving a grade of B or better
Requirements for the Master's Degree
Master's Degree Plan I (Thesis)
Students who wish to develop a thorough knowledge of the state of the art in a specific field of Computer Science may choose the master's thesis option.
Unit/Course Requirements
- Thirty-six (36) units of upper-division and graduate course work are
required.
- At least six (6) graduate courses are required, excluding 290, 290C,
298, and 299.
- No more than nine (9) units of 299 may be counted toward the 36-unit
requirement.
- At most six (6) units of undergraduate course work, completed to satisfy
the breadth requirements, may be counted toward the 36-unit requirement.
- A grade of B or better must be obtained in all coursework used to satisfy degree requirements.
Procedures
A thesis must be approved by a committee of three members. The committee membership must be approved by Graduate Studies (accomplished through the “Advancement to Candidacy” petition). The committee members are restricted by the requirements stated in Appendix C.
The Thesis
A Master’s thesis is usually based on six to nine units of laboratory research carried out under the 299-course number. The thesis should demonstrate the student’s proficiency in research methods and scientific analysis, and a thorough knowledge of the state of the art in the student’s chosen area. A Master’s thesis is a description of an original technical or research contribution of limited scope, or an advanced design project.
Academic Residence
A student must be in residence at the University for a minimum of three quarters.
Advancement to Candidacy
Every student must file an official application for Advancement to Candidacy after they have completed at least one-half the course requirements for the degree. Note that this must be done at least one full quarter before completion of all degree requirements and before going on filing fee status.
Normal Progress Requirements
- It is expected that the student will complete the breadth requirements
within the first four quarters of residence.
- It is expected that the student will complete the M.S. Degree by the
end of the seventh (7th) quarter of residence at the university, including
all course requirements and the approval of the thesis.
- These deadlines may be extended only by approval of the Graduate Advisors Committee of the Graduate Group
Master's Degree Plan II (Examination)
Students who wish to develop breadth at the graduate level in computer science may choose the Master's examination option.
Unit/Course Requirements
- Thirty-six (36) units of upper-division and graduate course work are
required.
- At least eight (8) graduate courses are required, excluding 290, 290C,
298, and 299.
- No more than three (3) units of 299 may be used to fulfill the 36-unit
requirement.
- At most six (6) units of undergraduate course work completed to satisfy
the undergraduate breadth requirements may be counted toward the 36-unit
requirement.
- A grade of B or better must be obtained in all coursework used to satisfy degree requirements.
Comprehensive Examination
The student is required to pass a comprehensive examination at the graduate level in three different areas of computer science. At least two of the areas must be taken from the following list:- Computer Architecture
- Programming Languages
- Operating Systems
- Theory
These examinations may be oral, written or a combination of both and must be administered prior to the eighth week of the quarter in which the student plans to graduate. A student is allowed to repeat the Comprehensive Examination only once.
Program of Study
The student in conjunction with a graduate advisor develops the program of study for a student in Plan II. The Graduate Advisors Committee of the Graduate Group must approve the specific selection of courses used to satisfy the 36-unit requirement.
Normal Progress Requirements
- It is expected that the student will complete the breadth requirements
within the first four (4) quarters of residence.
- It is expected that the student will complete all course work and examinations
by the end of the sixth (6th) quarter of residence.
- These deadlines may be extended only by approval of the Graduate Advisors Committee of the Graduate Group.
Requirements for the Ph.D. Degree
The Ph.D. program is open to only the most qualified students, and is the most demanding in terms of research, examinations, and course work. The formal requirements for the Doctor of Philosophy are the satisfactory completion the advanced proficiency requirements and qualifying examination, completion of an approved program of study, and production of a dissertation that is acceptable to the Graduate Group in Computer Science and the University of California at Davis.Undergraduate Proficiency Requirements
A student satisfies the undergraduate breadth requirements by demonstrating proficiency at the undergraduate level in the following areas:- Computer Architecture
- Programming Languages
- Operating Systems
- Theoretical Foundations of Computer Science
- Mathematical Foundations
A student satisfies the above requirements in one of the following ways:
- Demonstration of proficiency in each area on the student’s previous undergraduate or graduate record. This is decided by a graduate advisor in consultation with the student.
- Demonstration of proficiency in each area by completion of an approved undergraduate course in the area with a grade of B or better. (See Appendix A for a list of approved courses for each area).
- Demonstration of proficiency in an area by completion of a graduate course, with a grade of B or better, equivalent to one of the approved undergraduate courses in the area, or approved by the graduate adviser.
- Demonstration of proficiency in an area by challenging one of the approved
courses in the area, receiving a grade of B or better.
Petitioning the Graduate Advisors Committee of the Graduate Group to have the requirement removed, or have an acceptable substitute courses submitted in place of the requirement. - It is expected that the student will complete the Undergraduate Proficiency Requirements by the end of the first academic year of residence. This deadline may be extended only by approval of the Graduate Advisors Committee of the Graduate Group.
Advanced Proficiency Requirements
All students who are in the Ph.D. program, or who expect to work toward a doctorate in computer science at UC Davis are required to complete the Advanced Proficiency Requirement. A student passes this requirement by a high level of achievement in graduate coursework and demonstrating “advanced” proficiency in the graduate breadth requirements.
To pass this requirement, a student must
- have a 3.5 GPA in graduate courses taken at UC Davis
- demonstrate “advanced proficiency” in each of the four
areas of the graduate breadth requirements by passing a “comprehensive
examination” or by exhibiting a bypass course as a valid substitute
for passing the examination.
- have at least an A- in each of the four courses taken to satisfy the graduate breadth requirements.
Comprehensive Examinations
Students may demonstrate advanced proficiency in an area by passing a two-hour written examination in the area. A student is allowed to repeat the comprehensive examination in an area once.
Bypass Provisions
A student may demonstrate proficiency in an area by submitting a bypass course as a valid substitute for passing the comprehensive examination.
| Area | Bypass Courses |
|---|---|
| Architecture | Tier I: ECS 201A Advanced Computer Architecture EEC 270 Computer Architecture Tier II: ECS 201B High Performance Uniprocessing ECS 203 Novel Computing Technologies EEC 277 Graphics Architecture ECS 289B Special Topics: Architecture |
| Systems | Tier I: ECS 240 Programming Languages ECS 251 Operating Systems ECS 260 Software Engineering Tier II: An additional course from Tier I ECS 243: Code Generation and Optimization ECS 244 Principles of Concurrent Programming ECS 289C Special Topics: Programming Languages ECS 289D Special Topics: Operating Systems ECS 289E Special Topics: Software Engineering |
| Theory | Tier I: ECS 222A Design and Analysis of Algorithm Tier II: ECS 222B Advanced Design & Analysis of Algorithms ECS 220 Theory of Computation ECS 223 Parallel Algorithms ECS 224 String Algorithms ECS 225 Graph Theory ECS 227 Modern Cryptography ECS 228 Cryptography for E-Commerce ECS 226 Computational Geometry ECS 230 Applied Numerical Linear Algebra ECS 278 Computer Aided Geometric Design ECS 289A Special Topics: Theory |
| Applications | Tier I: ECS 231 Large Scale Scientific Computation ECS 234 Computational Functional Genomics ECS 235A Computer and Information Security ECS 236 Computer Security Intrusion Detection Based Approach ECS 252 Computer Networks ECS 256 Performance Evaluation ECS 265 Distributed Database Systems ECS 267 Wide-Area Distributed Information Systems ECS 268 Scientific Data and Workflow Management ECS 270 Artificial Intelligence ECS 271 Machine Learning & Discovery ECS 272 Information Visualization ECS 274 Automated Deduction ECS 275A Advanced Computer Graphics ECS 276 Advanced Volume Visualization ECS 277 Advanced Visualization ECS 278 Computer Aided Geometric Design ECS 279 Computer Animation Tier II: ECS 229 Advanced Computational Structural Bioinformatics ECS 235B Computer and Information Security ECS 256B High Speed Networks ECS 257 Mobile and Wireless Networks ECS 258 Internet Quality of Service ECS 259 Optical Networks ECS 273 Applied Visual Computing ECS 275B Advanced Computer Graphics ECS 280 Principles of Virtual Reality ECS 289 F, G, H, I, J, K, M S Special Topics |
The student can satisfy the Bypass requirements in one of the following ways:
Completion of a Tier I course with a grade of “A-” or better. If required grade is not received in Tier I course, a Tier II course must be completed with a grade of “A-” or better for the requirement to be satisfied.
Demonstration of a similar graduate course taken at another institution with a grade of A- or better (A graduate advisor must approve this option.)
Unit/Course Requirements
- A student’s program of study must contain a minimum of 45 units of graduate and upper-division work.
- With the approval of the graduate advisor, up to 15 units of graduate course work taken as a student prior to attending UC Davis, may be used toward partial satisfaction of this 45-unit requirement.
- At least ten (10) graduate courses are required, exclusive of seminar (290, 290C, 298) and research (299) units. This may include all courses taken in the Master’s program if applicable.
- No undergraduate courses completed to satisfy the undergraduate breadth requirements may be counted toward the 45-unit requirement.
- A grade of B or better must be obtained in all coursework used to satisfy degree requirements.
Majors and Minors
The student must declare both a major and minor area of study. The major area must include at least thirty (30) units of course work, with at most six (6) units of 299, which form a consistent program of study in a research area of computer science. The minor area must include at least fifteen (15) units of course work, including at least three graduate courses, and excludes any units of 299.
top of pageProgram of Study
The student, in conjunction with the faculty/dissertation advisor, develops the program of study for a Ph.D. student. All programs of study must be approved by the Educational Policy Committee of the Graduate Group, which is the sole body with authorization to grant exceptions from the stated Ph.D. requirements.
No course with a grade less than a B will be accepted on the program of study.
top of pagePh.D. Dissertation Committee
The Ph.D. dissertation committee consists of three members who will guide the student in research. Graduate Studies at UC Davis must approve this committee. Guidelines for choosing the members of the dissertation committee are given in Appendix C.
top of pageThe Qualifying Examination
To be eligible for the Qualifying Examination, the student must have satisfied all course requirements, have removed all deficiencies, and must have at least a 3.5 GPA in courses taken in the program of study.
The Qualifying Examination is administered by a faculty committee appointed by the Dean of Graduate Studies, in conjunction with the student’s faculty advisor. Student input into the selection of the committee is sought and encouraged (see Appendix C).
The Qualifying Examination is a formal, oral examination to ascertain the student’s readiness to conduct Ph.D. level research in the major area of study. Prior to the Qualifying Examination the student must prepare a paper containing a thorough discussion of a proposed thesis topic. This paper must be submitted to the Qualifying Examination Committee at least two weeks prior to the examination.
The examinations differ in structure, depending on the area of research and the members of the examining committee. In this examination the student will be asked to give a formal presentation of the thesis proposal. The committee will question the student on this proposal, and will question the student to determine the student’s competence in both the major and minor areas of study.
The committee can issue the following grades for the examination:
Pass – In this case student can apply to the Graduate Studies for Advancement to Candidacy for the degree. At this time a dissertation committee is officially selected to direct the student in the research, and to guide the student in the preparation of the dissertation. The committee must be approved by Graduate Studies
Not Pass -- In this case, the committee has two options:
1. It can decide that the student’s research proposal is not sufficient and ask that it be re-thought/re-written to better reflect a Ph.D.-level research project. In this case, the committee will ask the student to remedy the difficulties in the proposal and retake the examination within a specified time frame.
2. It can decide that the student’s knowledge within the major and minor areas is not sufficient for continued progress for the Ph.D. In this case, the committee can ask the student to take some additional course work and retake the examination within a specified time frame.
Fail—In this case, the student is not permitted to continue in the Ph.D. program.
The committee can meet with the major advisor as part of its deliberations.
The student can only retake the qualifying examination once. If a passing grade is not achieved by the second attempt, the student cannot continue in the Ph.D. program.
Dissertation
The Ph.D. dissertation demonstrates the ability of the student to carry out an independent original research project of high quality. It reflects a level of attainment in research and not the fulfillment of a list of requirements. An acceptable Ph.D. dissertation is not only an original contribution to the field, but is generally characterized by a broad scope of universal applicability.
top of pageExit Seminar
Each student is required to participate in an exit seminar, in which the candidate's research is presented to the UC Davis academic community. This seminar will be administered by the dissertation committee and will take place after all committee members have approved the dissertation, but before the dissertation has been filed with the Office of Graduate Studies.
top of pageTeaching Requirement
The Graduate Group requires all Ph.D. candidates demonstrate at least one quarter of college level teaching experience. We strongly recommend that this includes lecturing or leading a discussion section.
top of pageResidency Requirement
A student must be in residence a minimum of six (6) quarters. top of pageNormal Progress
It is expected that the student will complete the breadth requirements within the first four quarters of study, the advanced proficiency requirements within the first four quarters of study, and the Qualifying Examination between the sixth and ninth quarters of study. Completion of all requirements is normally accomplished in fifteen quarters of study. The maximal time period allowed for completion of each requirement is as follows:
- A student's Program of Study must be submitted and approved by the end of four quarters of study.
- The student must complete the Advanced Proficiency Requirements by the end of the sixth quarter of study.
- The student must complete the Qualifying Examination by the end of the ninth quarter of study.
- The student should complete all requirements for the Ph.D. by the end of the 15th quarter of study.
Students who fail to complete all the requirements within the "normal" time period are referred to the Educational Policy Committee of the Graduate Group. The Committee considers the student's entire record, including examination scores and letters of support, particularly from the student's major research advisor. The Committee exercises wide discretion: it may decide that no action is necessary (i.e., when a student has one or more quarters to complete the requirements); that the student should be allowed more time in which to complete the requirement; that certain of the requirements should be waived; that certain remedial actions should be taken; or that the student should be advised to leave the program.
The committee attaches great weight to the major research advisor's letter of support. It is therefore extremely important that students involve themselves in research under some faculty member very early in the program - preferably by the end of their third quarter.
top of pageAppendix A
Undergraduate Proficiency Course Requirements
Computer Architecture
ECS 154A - Computer ArchitectureOperating Systems
ECS 150 - Operating Systems and System ProgrammingProgramming Languages
ECS 140A - Programming LanguagesTheoretical Foundations of Computer Science (one of the following for MS; both required for Ph.D)
ECS 120 - Introduction to the Theory of ComputationECS 122A - Algorithm Design and Analysis
Mathematical Proficiency
Mathematics 131 - Methods of Mathematical Probability
or
Statistics 131A - Introduction to Probability Theory
One additional mathematics course at the upper division level
top of page Appendix B
MS Graduate Breadth Requirement
Ph.D. Advanced Proficiency Requirement
This appendix lists coursework that may be used to fulfill the MS Graduate Breadth Requirement and the Ph.D. Advanced Proficiency Requirements.
MS Breadth Requirement: MS students must complete one course from three of the following areas with a grade of B or better.
Ph.D. Advanced Proficiency Requirement: Students must complete one course from each of the following areas with a grade of A- or better.
Architecture
SystemsTier I:
ECS 201A Advanced Computer Architecture
Tier II:
ECS 201B High Performance Uniprocessing
ECS 203 Novel Computing Technologies
ECS 289B Special Topics: Architecture
TheoryTier I:
ECS 240 Programming Languages
ECS 251 Operating Systems
ECS 260 Software Engineering
Tier II:
An additional course from Tier I
ECS 243 Code Gernation and Optimization
ECS 244 Principles of Concurrent Programming
ECS 289C Special Topics: Programming Languages
ECS 289D Special Topics: Operating Systems
ECS 289E Special Topics: Software Engineering
ApplicationsTier I:
ECS 222A Design and Analysis of Algorithms
Tier II:
ECS 222B Advanced Design & Analysis of Algorithms
ECS 220 Theory of Computation
ECS 230 Applied Numerical Linear Algebra
ECS 224 String Algorithms
ECS 225 Graph Theory
ECS 227 Modern Cryptography
ECS 228 Cryptography for E-Commerce
ECS 226 Computational Geometry
ECS 278 Computer-Aided Geometric Design
ECS 289A Special Topics: Theory
top of pageTier I:
ECS 231 Large Scale Scientific Computation
ECS 235 Computer and Information Security
ECS 252 Computer Networks
ECS 265 Distributed Database Systems
ECS 270 Artificial Intelligence
ECS 271 Machine Learning & Discovery
ECS 275A Advanced Computer Graphics
Tier II:
ECS 230 Applied Numerical Linear Algebra
ECS 236 Computer Security Intrusion Detection Based Approach
ECS 256 Performance Evaluation
ECS 256B High Speed Networks
ECS 257 Mobile and Wireless Networks
ECS 258 Internet Quality of Service
ECS 259 Optical Networks
ECS 267 Wide-Area Distributed Information Systems
ECS 274 Automated Deduction
ECS 273 Applied Visual Computing
ECS 276 Advanced Volume Visualization
ECS 277 Advanced Visualization
ECS 278 Computer Aided Geometric Design
ECS 279 Computer Animation
ECS 280 Principles of Virtual Reality
ECS 289 F, G, H, I, J, K, M S Special Topics
Appendix C
Guidelines for Committee Selection
Master's Thesis Committee
- The master's thesis committee will be composed of three members
- A duly elected member of the Graduate Group in Computer Science may chair this committee.
- At least two members of this committee must be members of the Academic Senate of the University of California
- At least two members of this committee must be members of the Graduate Group in Computer Science.
Qualifying Exam Committee
- The qualifying examination committee will be composed of five members.
- The primary dissertation adviser must be selected before the examination. This person can be on the qualifying exam committee but cannot be chair of the committee.
- The membership of the qualifying exam committee must satisfy the following
conditions:
- The chair of the committee must be a member of the Academic Senate of the University of California, Davis, and a member of the Graduate Group.
- At least three members of the committee must be members of the Academic Senate of the University of California and members of the Graduate Group.
- It is recommended (by the Academic Senate) that one member of the committee be a faculty member outside of the Graduate Group in Computer Science.
Ph.D. Dissertation Committee
- The Ph.D. dissertation committee will be composed of at least three members.
- At least two of these members must be members of the Academic Senate of the University of California.
- At least two of these members must be members of the Graduate Group in Computer Science.
- The Chair of this committee must be a member of the Graduate Group in Computer Science.
Proposed committee members that are not members of the Academic Senate of the University of California must be approved, first by the Educational Policy Committee of the Graduate Group in Computer Science, and then by Graduate Studies.
top of page Appendix D
Master's Comprehensive Examination
List of Examination Areas
This appendix lists the examination areas of the Master's Comprehensive Examination along with courses considered preparatory for this exam. Students must pass two examinations from the areas of Architecture, Programming Languages and Compilers, Theory, and Operating Systems. The third examination may be taken from any of the remaining areas.
Architecture
ECS 154A, B Computer Architecture
ECS 250A Advanced Computer Architecture
Artificial Intelligence
ECS 170 Introduction to Artificial Intelligence
ECS 270 Artificial Intelligence
Graphics and Visualization
ECS 175, ECS 177, ECS 178 Computer Graphics and Visualization
ECS 275A Advanced Computer Graphics
Networks
Programming Languages
ECS 140A Programming Languages
ECS 142 Compilers
ECS 240 Programming Languages
Operating Systems
Theory
ECS 122A Algorithm Design and Analysis
ECS 120 Introduction to the Theory of Computation
ECS 222A Design and Analysis of Algorithms
ECS 220 Theory of Computation
Software Engineering
ECS 160 Introduction to Software Engineering
ECS 260 Software Engineering
Database Systems
top of page