B.S.-to-M.S. Degree

B.S.-to-M.S. Degree

B.S.-to-M.S. in Computer Science Degree Program

GGCS offers a unique B.S.-to-M.S. Program for current UC Davis undergraduate students in the CS or CSE majors. 

  • Admission Requirements
  • Students may apply to the BS/MS program if they are a CS or CSE major at UC Davis in their senior year. Consideration for the BS/MS program admission requires a UC GPA of 3.7 or higher, a Bachelor’s degree (must be awarded before starting graduate-level study), and completion of Graduate Studies’ online application, with fee payment, by the stated deadline. The application for admission requires submission of transcripts, three letters of recommendation, a statement of purpose, a personal history statement, and a CV or resume. GRE scores are not required.

    Because the applicant pool varies from year to year, we can only offer general advice on the admission process. We look at the whole application, including classes, GPA, statement of purpose, and letters of recommendation. Grades are just a part of the application, and many of these aspects of the application will depend on the applicant pool.

    In addition to the admission requirements stated above, applicants are expected to demonstrate proficiency at the undergraduate level in four fundamental areas of computer science, and mathematics. The specified UC Davis courses exemplify the material:

    ♦   Computer Architecture -- ECS 154A (Computer Architecture)
    ♦   Operating Systems -- ECS 150 (Operating Systems and System Programming)
    ♦   Programming Languages -- ECS 140A (Programming Languages)
    ♦   Theoretical Foundations -- ECS 120 (Theory of Computation) or ECS 122A (Algorithm Design and Analysis)
    ♦   Mathematical Foundations -- ECS 132 (Probability and Statistical Modeling for Computer Science) or MAT 135A (Probability) or STA 131A (Introduction to Probability Theory), and one additional upper-division mathematics course.

    These are referred to as the undergraduate proficiency requirements. A grade of B or higher is required for each course used to satisfy these requirements.

    Students may be admitted with one or more deficiencies in the undergraduate proficiency requirements. It is expected that the student will complete the undergraduate proficiency requirements by the end of their master degree. 

  • M.S. Plan I and Plan II

  • The Graduate Program of Computer Science offers two plans for the MS degree portion of the BS/MS program with respective capstone requirements. Plan I requires successful completion of a thesis, while Plan II requires successful completion of either a project or a master exam. Students should decide, in consultation with graduate group faculty, which option best suits their individual goals.

    Plan I requires 32-units and Plan II require 36 units of upper-division and graduate coursework. At most 4 of these units may be from upper division courses. The following table summarizes the specific requirements for the thesis, project, and exam options.

    Option Requires No. of graduate courses required No of ECS 299 units allowed Committee consists of
    Thesis (Plan I) A written thesis 5 12 Thesis Advisor plus 2 more faculty members

    Project (Plan II)

    A project deliverable 7 8 Project Advisor plus 2 more faculty members
    Exam (Plan II) Oral or written exam 9 0 Three faculty members

    Three important notes regarding the above table:

    1. Note that while the allowed ECS 299 units may be counted toward the units requirement, ECS 290, 293A, 298, and 299 cannot be counted toward the required graduate courses.  A grade of B or better must be obtained in all coursework used to satisfy degree requirements.

    2. With respect to the third column (Number of graduate courses required), note that one course of at most 4-units can be a UC Davis upper-division undergraduate course that was completed to satisfy the Undergraduate Proficiency Requirements.

    3. Up to 4-units of upper-division undergraduate course work (i.e., one course) with a grade of A- or better and that are not used to satisfy the BS degree requirements may be applied towards the Master’s degree requirements of the integrated BS/MS program as an elective course. Up to 8-units of graduate-level coursework (i.e., two (2) courses) taken during the BS portion of the program with a grade of A- or better and that are not used to satisfy the BS degree requirements may be transferred and counted towards the Master’s degree requirements of the integrated BS/MS program as either a Core Area course or an elective course. 

  • Course Requirements

  • The courses a student will use in satisfaction of the 36 unit course requirement must be approved by the student’s Thesis Advisor or Project Advisor, or by a Graduate Advisor. A student must have a GPA of 3.0 for the MS degree to be awarded, and a B or better in all coursework used to satisfy the degree requirements. Full-time students must enroll in a minimum of 12 units per quarter. As per UC regulations, students may not enroll in more than 12 units of graduate level courses, nor more than 16 units of combined undergraduate and graduate level courses.

    The Core Area requirement requires the demonstration of proficiency at the graduate level in three of four specified areas: Architecture, Systems, Theory and Applications. 

    A student can satisfy the Core Area requirements in one of the following ways: 

    ♦   Completing a Core course in the area with a grade of B or better for Thesis option (Plan I) or Project option (Plan II), and A- or better for Exam option (Plan II) . 
    ♦   By taking a similar graduate course at another institution and earned a grade of B or better for Thesis option (Plan I) or Project option (Plan II) and A- or better for Exam option (Plan II).  The student must file a form with the required information and attach the course syllabus and the official transcript indicating the grade received.  A Graduate Advisor must review and approve this option.

    The following list shows the Core classes in each of the four areas:

    ♦   Architecture Core -- ECS 201A Advanced Computer Architecture; ECS 201C Parallel Architectures; EEC 270 Computer Architecture.
    ♦   Systems Core -- ECS 240 Programming Languages; ECS 251 Operating Systems; ECS 260 Software Engineering.
    ♦   Theory Core -- ECS 220 Theory of Computation; ECS 222A Design and Analysis of Algorithms.
    ♦   Applications Core -- ECS 230 Applied Numerical Linear Algebra; 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 and 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 Topics in Character Animation.

  • Special Requirements

  • Not applicable.

  • Committees

  • Admissions Committee -- Completed applications are evaluated by the Admissions Committee, with the assistance of other faculty in the Graduate Group. The Admissions Committee consists of six Graduate Group faculty. Based on a review of the entire application, a recommendation is made to accept or decline the applicant’s request for admission. The recommendation is forwarded to the Dean of Graduate Studies for final approval of admission. Notification of admissions decisions will be sent by Graduate Studies. Applications are accepted from September (when the admission system opens) through January 15 for the next Fall-entering class.

    Graduate Advisors Committee -- The Graduate Advisors Committee is composed of GGCS faculty members appointed by Graduate Studies. Every student who does not have a Thesis Advisor or Project Advisor will be assigned a Graduate Advisor from the Graduate Advisors Committee. Until a student has a Thesis Advisor or Project Advisor, the assigned Graduate Advisor will monitor the progress of the student and provide guidance on his/her academic program. Each GGCS graduate student is responsible for meeting with his or her Graduate Advisor at least once per quarter.

    Thesis Committee -- The student’s Thesis Advisor, in consultation with the student, nominates two additional GGCS faculty members to serve on the Thesis Committee. These nominations are submitted to the Office of Graduate Studies for formal appointment in accordance with Graduate Council policy. The Thesis Advisor serves as Chair of the Thesis Committee. At least two members of this committee must be members of the Academic Senate of the University of California, and a least two members of this committee must be GGCS members. The thesis must be approved by all three members of the Thesis Committee.

    Project Committee -- The student’s Project Advisor nominates two additional faculty members to serve on the Project Committee. This nomination is submitted to the Graduate Advisors Committee for approval. The responsibility of the Project Committee is to supervise and evaluate the student’s project. A project must be approved by all members of the committee.

    Master's Exam Committee -- For students taking the Master’s Exam, the Graduate Advisors Committee, after consultation with the student, nominates three faculty members to serve on the Master’s Exam Committee. The majority of this committee must be GGCS members. The responsibility of this committee is to give the Master’s Exam. The format of the exam is described in Section 8c.

  • Advising Structure and Mentoring

  • A student’s Thesis Advisor or Project Advisor supervises his/her thesis or project, and serves as Chair of the corresponding committee. A student’s Graduate Advisor serves as a resource for information on academic requirements, policies, and procedures in the absence of a Thesis Advisor or Project Advisor. The Graduate Program Coordinator assists students with appointments, requirements, university policies, and in identifying a Thesis Advisor or Project Advisor. The Mentoring Guidelines can be found in the graduate student handbook.

  • Advancement to Candidacy

  • After completing at least one-half the course requirements for the degree, a student must file an application for Advancement to Candidacy. A student must file for candidacy at least one full quarter before completion of all degree requirements and before going on filing fee status. The Candidacy for the Degree of Master form can be found online. A completed form includes a list of courses the student will take to complete degree requirements. Students must have their Thesis Advisor, Project Advisor, or Graduate Advisor sign the candidacy form. If the candidacy is approved, the Office of Graduate Studies will send a copy to the student, his Thesis, Project, or Graduate Advisor, and the Graduate Program Coordinator. If the Office of Graduate Studies determines that a student is not eligible for advancement, the GGCS and the student will be told the reasons for the application’s deferral. Some reasons for deferring an application include a grade point average below 3.0, outstanding “I” grades in required courses, or insufficient units. If changes must be made to the student’s course plan after s/he has advanced to candidacy, a Graduate Advisor must recommend these changes to Graduate Studies.

  • Requirements for the Thesis, Project and Master's Examination

  • Thesis
    Research for the Master’s thesis is to be carried out under the supervision of a GGCS faculty member of and must represent an original contribution to knowledge in the field. A Master’s thesis is usually based on 6 to 12 units of 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 study. The thesis research must be conducted while the student is enrolled in the program.

    The thesis is submitted to the Thesis Committee at least one month before the student plans to make requested revisions. All Thesis Committee members must approve the thesis and sign the title page before the thesis is submitted to Graduate Studies for final approval. Should the committee determine that the thesis is unacceptable, even with substantial revisions, the program may recommend the student for disqualification from the program to the Dean of Graduate Studies.

    The student and Thesis Advisor must meet at least once a quarter with the other two members of the Thesis Committee to discuss progress and any changes in research objectives. The thesis must be filed in a quarter in which the student is registered or on filing fee. Instructions on preparation of the thesis and a schedule of dates for filing the thesis in final form are available from Graduate Studies; the dates are also printed in the UC Davis General Catalog and in the Class Schedule and Registration Guide issued each quarter.

    Project
    A project is carried out under the supervision of the faculty member who serves as Project Advisor. The topic and extent of the project is determined by the faculty member in consultation with the student. A typical project involves the practical solution (implementation) of a software system or an experimental study of a computer hardware/software design.

    The Project Committee specifies the project requirements, which may include the delivery of a software prototype system, an interactive demonstration, a written report, and/or an oral presentation of the study. All committee members must approve the project. The Master’s Report Form is then signed by the Thesis Adviser and forwarded to the Office of Graduate Studies. Should the Project Committee determine that the project outcome is unacceptable, the program may recommend the student for disqualification from the program to the Dean of Graduate Studies. Available project topics are listed here.

    Master’s Examination
    The examination is used to ensure that the student has acquired proficient knowledge in core and applied CS areas. The examination may be oral, written, or a combination of both, designated by the Exam Committee, with the objective to strengthen the student’s knowledge in selected core or applied CS areas that can best prepare the student for his/her professional career.

    The examination may be taken once the student has completed required courses and advanced to candidacy. However, it is important that the timing of the exam satisfy the regulations as noted in the CCGA handbook (Appendix I, page 36), which indicates that the capstone requirement be completed at or near the end of the coursework for the Master’s degree. A student is allowed to repeat the Master’s Examination only once.

    After passing the examination, a copy of the Master’s Report Form (which can be found here) is signed by a GGCS Graduate Adviser and then forwarded to the Office of Graduate Studies. The deadlines for completing this requirement are listed each quarter in the campus General Catalog (available online or from the Bookstore).

    If a student does not pass the exam on the first attempt, the Exam Committee may recommend that the student be reexamined one more time, but only if the Graduate Adviser Committee concurs with the Exam Committee. The examination may not be repeated more than once, and the student is not allowed to retake the exam on a different topic area or in a different category (i.e., switching to Project or Thesis). The Exam Committee provides information concerning the timing and format of a second exam if a student must retake the exam after failing part or the entire first exam. Please note that Graduate Studies requires the Exam Committee’s unanimous vote to pass a student on the exam. A student who does not pass on the second attempt will be recommended for disqualification from further graduate work in the program to the Dean of Graduate Studies.

    For either Project or Examination, a candidate must be a registered student or on filing fee status at the time the program submits the form, with the exception of the summer period between the end of the Spring Quarter and the beginning of Fall Quarter. The Graduate Group must file the form with Graduate Studies within one week of the end of the quarter in which the student’s degree will be conferred.

  • Normative Time to Degree

  • ♦   Plan I -- It is expected that the student will complete the core area courses within the first 4 quarters of residence. It is expected that the student will complete the MS degree by the end of the seventh (7) quarter of residence, 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.

    ♦   Plan II -- It is expected that the student will complete the core area courses within the first 4 quarters of residence. It is expected that the student will complete all course work and project/examinations by the end of the 6th quarter of residence. These deadlines may be extended only by approval of the Graduate Advisors Committee of the Graduate Group.

  • Sample Schedule (classes may vary and can be taken in different quarters than what is listed) and Sequence of Events

  • THESIS   
    ♦   Year 1
    -- Fall: ECS 201A, ECS 293A, ECS 390, ECS 299
    -- Winter: ECS 240, ECS 252, ECS 299
    -- Spring: ECS 222A, ECS 231, ECS 299
    ♦   Year 2
    -- Fall: ECS 289G, ECS 299; Advance to candidacy
    -- Winter: ECS 299
    -- Spring: ECS 299; Thesis completed

    PROJECT   
    ♦   Year 1
    -- Fall: ECS 201A, ECS 293A, ECS 390, ECS 299
    -- Winter: ECS 240, ECS 252, ECS 299
    -- Spring: ECS 222A, ECS 231, ECS 299
    ♦   Year 2
    -- Fall: ECS 289G, ECS 299
    -- Winter: ECS 235A, ECS 299; Advance to candidacy
    -- Spring: ECS 299; Project completed

    EXAM 
    ♦   Year 1
    -- Fall: ECS 201A, ECS 293A, ECS 390, ECS 299
    -- Winter: ECS 240, ECS 252, ECS 299
    -- Spring: ECS 222A, ECS 231, ECS 299
    ♦   Year 2
    -- Fall: ECS 289G, ECS 265, ECS 299
    -- Winter: ECS 235A, ECS 299; Advance to candidacy
    -- Spring: ECS 272, ECS 299; Exam completed

    Note that depending on the added workload, the student may need additional quarters to complete the exam/project/thesis.

  • PELP, In Absentia and Filing Fee Status

  • Information about PELP (Planned Educational Leave), In Absentia (reduced fees when conducting research out of California), and Filing Fee status can be found in the Graduate Student Guide.

Frequently Asked Master of Science in Computer Science Questions

  • How do I get an M.S. in Computer Science?
  • This varies from student to student but the following list shows the right order of steps and approximate time frame to follow:

    Thesis Option
    Time to Degree: 2 – 3 Years
    ♦   Complete undergraduate proficiency requirements
    ♦   Complete 6 graduate courses (includes core courses)
    ♦   Complete 12 Units of Research (ECS 299)
    ♦   Additional coursework to total 36 units (this can include up to 4 units of upper division coursework)
    ♦   Approved thesis

    Project Option
    Time to Degree: 2 Years
    ♦   Complete undergraduate proficiency requirements
    ♦   Complete 7 graduate courses (includes core courses)
    ♦   Complete 8 Units of research (ECS 299)
    ♦   Additional coursework to total 36 units (this can include up to 4 units of upper division coursework)
    ♦   Successful completion of project

    Exam Option
    Time to Degree: 2 Years
    ♦   Complete undergraduate proficiency requirements
    ♦   Complete 9 graduate courses (includes core courses)
    ♦   Additional coursework to total 36 units (this can include up to 4 units of upper division coursework)
    ♦   Successful completion of comprehensive exams

  • What are the core area requirements?

  • The core area requirements include demonstrated proficiency in three of four areas of computer science at the graduate level: architecture, systems, theory, and applications.

  • Can I take courses outside of Computer Science?

  • Yes, you can take courses outside of computer science. They must be graduate level (2XX) courses, that are 4 units each, related to computer science or your research, if you want them to count towards your degree requirements. Up to three courses (12-units) may be taken outside ECS and counted towards your degree requirements.

  • Are there any specific courses outside Computer Science that are recommended for a CS graduate student to take?

  • Yes, there are several courses that GGCS faculty suggest would be appropriate for CS graduate students:

    • ♦   BST 227 - Machine Learning Genomics
      ♦   CMN 275Y - Computational Social Science
    • ♦   DES 178 - Wearable Technologies
      ♦   EEC 244 - Intro to Neuroengineering
      ♦   EEC 270 - Computer Architecture
      ♦   EEC 273 - Networking Architecture & Resource Management
      ♦   MAE 207 - Engineering Experimentation & Uncertainty Analysis
      ♦   MAE 228 - Introduction to BioMEMS
    • ♦   MAT 258A - Numerical Optimization 
    • ♦   MAT 258B - Discrete and Mixed-Integer Optimization 
    • ♦   STA 208 - Statistical Methods in Machine Learning
      ♦   STA 220 - Data & Web Technologies for Data Analysis
      ♦   STA 221 - Big Data & High Performance Statistical Computing


    • NOTE: Please keep in mind the following policies related to coursework counting towards the degree requirements:

      • At most one upper-division (100-level) course at 4-units taken during your graduate study at UC Davis may be counted towards your degree requirements.
      • Up to three courses (12-units) may be taken outside ECS and counted towards your degree requirements. 
  • What is the Thesis Option?

  • A master’s thesis is usually based on 6 to 9 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.

  • How do I find an advisor to work on my thesis with?

  • You should have a general idea of the area that you want to do research in, as well as an idea of potential thesis topics. Once you know what area of computer science you want to work in, contact a faculty member in that area and see if they will be willing to advise you. Email tends to be one of the less effective ways to introduce yourself to a faculty member, though sometimes it is the only choice. Better ways of making an introduction are through taking a class with the faculty member, talking with them during office hours, or through seminars and colloquia.

  • How do I file a completed thesis?

  • When your thesis is complete, it must first be approved by a committee of three members. The committee membership must be approved by Graduate Studies, through the Advancement to Candidacy form. The committee members are restricted by the requirements stated in the master’s degree requirements. After the thesis is approved, it must be filed with Graduate Studies. The process can be found on Graduate Studies’ website. The deadlines for filing can be found on Graduate Studies’ calendar.

  • What is the Project Option?

  • A master project is based on laboratory research carried out under the 299 course number, similar to a thesis. The biggest difference between the two is that, unlike the thesis, the faculty member determines what is to be done in a project. A project 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. It tends to be of more limited scope than a thesis, and usually takes less time to complete than a thesis.

  • How do I find a project to work on?

  • Some projects are advertised on this page. Other projects are advertised through the csgrad@ucdavis.edu listserv. Check your UC Davis email account for potential projects. If you are looking for a different project, faculty members may have other projects available. You should have a general idea of the area that you want to do research in. Once you know what area of computer science you want to work in, contact a faculty member in that area and see if they have any projects available. Email tends to be one of the less effective ways to introduce yourself to a faculty member, though sometimes it is the only choice. Better ways of making an introduction are through taking a class with the faculty member, talking with them during office hours, or through seminars and colloquia.

  • What is the Project Committee?

  • The project committee consists of three members. The chair is the faculty advisor that you are working with. The second and third committee members are usually chosen by both the faculty advisor and student. All committee members need to sign off on a project for a student to graduate.

  • How do I file a completed project?

  • Once you have completed your project, all members of your committee must sign off on the project. There is no need to turn the project into Graduate Studies. However your faculty advisor specifies to submit the project will suffice. After the project is approved, email the graduate student service advisors. Upon notice that the project was completed successfully, the student will be added to the degree conferral list.

  • What is the Comprehensive Exam option?

  • Students who wish to develop breadth at the graduate level in computer science may choose the master examination option. The examination is used to ensure that the student has acquired proficient knowledge in the core areas.  The examination may be taken once the student has completed required courses and advanced to candidacy. The possible exams follow the core areas: architecture, systems, theory, and applications. Students pick three of the four core areas that they have taken courses in to be examined in. The examination may be oral, written, or a combination of both, designated by the Exam Committee, with the objective to strengthen the student’s knowledge in selected core or applied CS areas that can best prepare the student for his/her professional career. A student is allowed to repeat the master’s examination only once.

  • How do I set up a Comprehensive Exam?

  • Each quarter current students are sent a survey in which to complete where they can indicate if they wish to take the exams. Once this is confirmed, those students are sent instructions on how to complete the exams.

  • How do I submit a completed Comprehensive Exam?

  • Once the exams are complete, the faculty administering the exams will send the result to the graduate student service advisors. Upon notice that the examination was completed successfully, the student will be added to the degree conferral list.

Be sure to also see our general frequently asked questions for graduate students. For any additional information, please email our advisors at csgradadvising@ucdavis.edu.

Prospective applicants should please contact us at csgradadmit@ucdavis.edu.