M.S. Degree

M.S. Degree Program

Master of Science in Computer Science Degree Program

The Master of Science in Computer Science degree prepares students to do meaningful research and to acquire vital skills and insights for solving some of the world’s most complex technological challenges.

  • Admission Requirements
  • Consideration for the Master’s (MS) program admission requires 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, TOEFL scores or IELTS score if applicable, a statement of purpose, and a personal history statement.


    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. 

    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 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.

    All options 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 A written thesis 6 12 Thesis Advisor plus 2 more faculty members
    Project A project deliverable 7 8 Project Advisor plus 2 more faculty members
    Exam Oral or written exam 9 0 Three faculty members

    While ECS 299 units may be counted toward the required 36 units, up to the limits specified above, no other course numbered 290 or above may count towards the 36 units.

  • 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. For each area, the student can demonstrate satisfaction of the core area by completing a Core course in the area with a grade of B or better.

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

    ♦   Architecture Core -- ECS 201A Advanced Computer Architecture; 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 
    Fall    
    ♦   Year 1 -- ECS 201A, ECS 235A, ECS 299 
    ♦   Year 2 -- ECS 299; advancement to candidacy
    Winter    
    ♦   Year 1 -- ECS 222A, ECS 240, ECS 299    
    ♦   Year 2 -- ECS 299
    Spring    
    ♦   Year 1 -- ECS 244, ECS 265, ECS 299    
    ♦   Year 2 -- ECS 299; thesis completed

    PROJECT   
    Fall    
    ♦   Year 1 -- ECS 201A, ECS 275    
    ♦   Year 2 -- ECS 260; ECS 299
    Winter    
    ♦   Year 1 -- ECS 222A, ECS 272    
    ♦   Year 2 -- ECS 299; advance to candidacy; project completed
    Spring    
    ♦   Year 1 -- ECS 226, ECS 277    

    EXAM    Year 1    Year 2
    Fall    
    ♦   Year 1 -- ECS 201A; ECS 260    
    ♦   Year 2 -- ECS 235A; ECS 252
    Winter    
    ♦   Year 1 -- ECS 222A; ECS 240    
    ♦   Year 2 -- ECS 299; advancement to candidacy; exam passed
    Spring    
    ♦   Year 1 -- ECS 244; ECS 265    

    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.

Available Research Projects

  • Augmented Reality Quadcopter Game Control
  • Faculty Member
    Nelson Max

    Description
    Professor Nelson Max is leading a team to develop a quadcopter-based augmented reality video game, in which the players pilot quadcopters “first-person”, viewing an AR game environment through a head-mounted display. The team is seeking a student to continue development of the quadcopter control system using the Robot Operating System (ROS). The student will be responsible for improving the existing control algorithm and interfacing the control algorithm to the Unity game engine to coordinate the real and virtual game experiences. The student will collaborate with other team members responsible for game design and quadcopter localization.

    Requirements
    Required
    ♦   Python programming experience
    ♦   C++ programming experience
    ♦   Familiarity with Linux operating systems (Ubuntu)
    ♦   Basic familiarity with version control (Git)
    ♦   Strong skills in troubleshooting Linux software
    Preferred
    ♦   Familiarity with Robot Operating System (ROS)
    ♦   Familiarity with ArduPilot and/or PX4 autopilot firmware, MAVLink communication protocol
    ♦   Experience piloting consumer drones
    ♦   Basic familiarity with computer networking

  • Building Scalable Blockchain Fabric: A New Era of Democratic and Decentralized Computation
  • Faculty Member
    Mohammad Sadoghi

    Description
    Professor Mohammad Sadoghi is leading a team to pioneer a new exploratory data platform—referred to as ExpoDB Blockchain Fabric—a distributed ledger that unifies secure transactional and real-time analytical processing, all centered around a democratic and decentralized computational model. We perceive ExpoDB Fabric as a platform to foster “creativity”. We have many exciting projects ranging from novel applications to core systems topics; for example, rethinking classical consensus and agreement protocols, reimagining blockchain as middleware for bringing reliability to unreliable or insecure infrastructure, and envisioning blockchain as an abstraction layer to run emerging software paradigms such as Serverless, Function-as-a-Service (FaaS), and microservice architectures. The students will have the opportunity to collaborate with senior team members on their selected projects.

    Requirements
    ♦   C/C++ programming experience
    ♦   Experience with database systems or blockchain fabrics
    ♦   Familiarity with computer networking and distributed systems
    ♦   Familiarity with Linux operating systems
    ♦   Basic familiarity with version control (Git)

  • Computational Geometry for Piecewise Linear Functions in Optimization
  • Faculty Member
    Matthias Koeppe

    Description
    Piecewise linear functions of several variables are a fundamental structure of optimization and data science. I am looking for Master’s students who are interested in a project to implement efficient geometric data structures for storing and querying piecewise linear functions. The goal is an open source library for Python or Julia. The immediate application is in cutting planes for integer programming, but no prior experience with this topic is necessary.

    Requirements
    ♦   Strong programming skills in Python and Cython, or in Julia
    ♦   Experience with data structures, computational geometry, or optimization

  • Deep Learning for Relating High-Dimensional Imaging and Genomic Data to the Health of the Human Brain
  • Faculty Member
    Gerald Quon

    Description
    The human brain is a highly complex organ. To better understand how the different regions of the brain function and change with age and disease, we have obtained high dimensional imaging and genomic measurements of cells across the brain.

    We are looking for 1-2 master’s students interested in building deep neural nets to integrate imaging and genomic data, in order to predict how disease affects brain function and behavior and, more broadly, organization of the brain. No prior experience in biology or genomics is needed, but students will be spending a significant amount of time relating their findings to the biological literature and testing different feature extraction methods to interpret their neural networks.

    Requirements
    ♦   Continuing or admitted student in the graduate program in Computer Science

  • Gunrock, Parallel Graph Analytics on GPUs
  • Faculty Member
    John Owens

    Description
    John Owens’ research group focuses on GPU computing and has a large project on parallel graph analytics called Gunrock. We have a large need for application development on Gunrock, writing interesting graph applications that use our framework (we have a long list of these from our funding agency). We would hope to train you in GPU computing and in using our framework. This could potentially lead to MS thesis opportunities but also could be a shorter project with an option of switching to another group if interested. We need talented students who can learn quickly and work independently. Funding may be available.

    Requirements
    ♦   Strong C/C++ skills are a must
    ♦   Experience with parallel computing would be terrific, but not required

  • Multiplayer Augmented Reality Quadcopter Game System
  • Faculty Member
    Nelson Max

    Description
    Dr. Max is looking for more master’s students to help with our multiplayer augmented reality quadcopter game system. The system includes for each game player a Solo 3DR quadcopter with a mounted GoPro 4 Black video camera, a computer with an NVIDIA GTX 1070 GPU, Oculus Rift VR goggles, Oculus Touch hand held controllers for flying the drone, and wireless communication links. Using markers in the environment, as seen by the video cameras, the computers determine the position of each quadcopter, and use the inertial sensors and quadcopter physics simulation to extrapolate to future frames to decrease VR latency. The games are written in Unity. The quadcopter positions are communicated to the master computer, and are used in the game physics calculations. The master computer receives the user control signals, and either sends them directly to the quadcopter, or modifies them according to the game physics and to avoid collisions. This centralized master server also contain the game logic, such as scoring.

    The video camera is fixed on the drone, with a wide angle lens so that the part of the image can be selected appropriate to the user head position and orientation. The computer graphics (CG) augmented elements are added in stereo onto the real video background, also accounting for the user head motion. Thus the game players feel as if they were looking through the windows of a real aircraft at the actual environment in which they are flying. We are using the Oculus Rift software development environment, which allows the video input and computer graphics elements to be supplied on separate layers, with different updates and motion extrapolation parameters. Using the known quadcopter positions, the images of the other quadcopters in the video background can be covered up with stereo CG models, so that they also appear in 3D.

    Our initial game was a pong-like paddleball game, with a paddle at each quadcopter, and a virtual ball, which we hope to replace with a third quadcopter. There are game displays showing top down and side views, either on the cockpit dashboard or in a heads-up display on its window, and sound effects when the ball is hit by the paddle, or hits the walls, floor, or ceiling of the game space. Our second game was a maze racing game, where two players start at opposite corners of a two-level maze like track, and attempt to overtake each other.

    We are now developing a shooting game, where each player has a gun to shoot opponents, and the controlling computer decides when an opponent has been hit, adding appropriate graphics like fire. The projectiles are shown in stereo CG. When a player’s quadcopter has been disabled, the computer will take control of its flight and bring it to a safe landing. We are also evolving the paddle-ball game into a 3D soccer game, with goal areas on two opposite walls, which will light up when there is a goal.

    Aspects of the system development which could lead to Master’s projects are:

    The computer vision system for Simultaneous Location and Mapping (SLAM)
    The control of the quadcopter, including anticipating and preventing collisions
    Creating new games, for example, 3D billiards

    Requirements
    ♦   Continuing or admitted Master’s student in the graduate program in Computer Science

  • Novel Deep Learning-Based Machine Translation Models
  • Faculty Member
    Gerald Quon

    Description
    Professor Gerald Quon is looking for Masters students interested in building novel deep learning-based machine translation models for translating sentences between pairs of languages. The goal is an open source library for Python.

    Requirements
    ♦   Continuing or admitted Master’s student in the graduate program in Computer Science
    ♦   Strong programming skills in Python, and preferably TensorFlow

  • Science of Self-Governing Institutions Through the Analysis of Large Text Corpora
  • Faculty Member
    Seth Frey

    Description
    Computational social science is the development of computational techniques in pursuit of big picture societal questions. In this project, the big picture questions have to do with rules, norms, governance, and laws. What is the difference between a good or bad policy? How should a set of rules be different for a small versus a large population? How do culture and written rules interact? Using recent developments in NLP, we will develop a tool that parses large volumes of policy texts, from many domains, and then classifies them according to recent rule taxonomies and other institutional characteristics. This project can involve a flexible mix of engineering (developing and validating the tool) and science (testing competing theories of institutional change).

    Requirements
    ♦   Continuing or admitted master’s student in the graduate program in Computer Science

  • Self-Supervised Deep Learning Models on Video for Personalized Medicine
  • Faculty Member
    Gerald Quon

    Description
    No biological/medical knowledge is required for this project. Professor Gerald Quon is looking for students interested in building and deploying deep neural nets to predict the success of in vitro fertilization experiments (IVF) from videos. The goals are to build an accurate predictor of future fertilization success of an embryo, given a video sequence of the early development of an embryo, and extract which features of the videos are being leveraged for prediction.

    Requirements
    ♦   Continuing or admitted Master’s student in the graduate program in Computer Science
    ♦   Strong programming skills in Python, and preferably TensorFlow

  • Wearable Technologies and the Conscious Use of Unconscious Behaviors
  • Faculty Member
    Katia Vega

    Description
    Normally, while someone enacts an unconscious behaviour such as touching her hair or crossing her arms, unconsciously she is bringing comfort to herself and at the same time is emitting a non-verbal message decodable by an observer. However, when devices sense those behaviours, they could trigger other devices. The aim of this project is to create seamless devices that recognizes auto-contact behaviors concealed to outside observers. This project applies different fields such as sensors development, human-computer interaction, and machine learning algorithms in order to recognize a user’s intentions. An example of a past project, Hairware, is available on YouTube.

    If you are interested in this project, please email Professor Katia Vega and include your CV/resume.

    Requirements
    ♦   Continuing or admitted student in the graduate program in Computer Science
    ♦   Interests in machine learning, wearable technologies, and human-machine interfaces
    ♦   Optional: Experience with Arduino, sensors and tensor flow

  • AI in Health Research
  • Faculty Member
    Chen-Nee Chuah

    Description
    I am recruiting students who are interested in the AI-in-Health domain. Please check out this recently funded project. This project is in collaboration with the UC Davis Medical Center, which involves analyzing new datasets (consisting of cardiac output, respiratory rate, and mechanical ventilation waveforms) and developing predictive models. For instance, different types of ventilation change the blood pressure and aortic flow waveforms during fluid boluses, and these waveforms can be used to predict responsiveness to larger fluid boluses. Students who are interested in this opportunity will be trained in health informatics and relevant physiological models. If you are interested in the program, please send an email to chuah@ucdavis.edu with the title [EPACC], along with your resume or CV.

    Requirements
    ♦   Experience with machine learning (supervised and unsupervised learning)
    ♦   Experience with reinforcement learning
    ♦   Experience with deep learning

  • Designing Chatbot-Based Interactions for Second Language Learning and Cross-Lingual Conversation
  • Faculty Member
    Hao-Chuan Wang

    Description
    In this master’s thesis project, students will investigate using today’s chatbot and speech user interface technologies as tools to support second language speakers’ language learning, especially in terms of the acquisition of skills of everyday conversations in a non-native language. The project will take a Human-Computer Interaction perspective, with a focus on employing state-of-art user research methods and interaction design techniques to understand what are the design principles and key factors to consider in designing successful chatbot-based interactions in the given scenarios. We’ll collaborate with natural language faculty to design and evaluate chatbot-based interactions.

    Requirements
    ♦   Continuing or admitted student in the graduate program in Computer Science

  • Gunrock, Social Conversational Systems
  • Faculty Member
    Zhou Yu

    Description
    Our team, Gunrock, just won the 2018 Amazon Alexa Prize to build social conversational systems. We won a $500,000 cash award by building the best social bot in the world. You can find more information on Amazon’s website.

    We are looking for 2-3 first-year masters students to join our team next year. We would like to recruit students with really strong engineering skills. We are mostly looking for students with at least two years of industry experience. You will be able to join Professor Yu’s group to learn more about natural language processing, machine learning, and AI. You will be able to work collaboratively with other students to build state-of-the-art product-level AI systems.

    If you are interested, please email Arbit Chen and Zhou Yu with your resume. Please put “Join Alexa Team” in the title.

    Requirements
    ♦   First-year master’s student in the Department of Computer Science
    ♦   Strong engineering skills
    ♦   At least two years of industry experience preferred

  • Interaction Concept Map Visualization for Remote Collaborative Knowledge Transfer
  • Faculty Member
    Hao-Chuan Wang

    Description
    Building shared understanding and knowledge among group members is known to be crucial to team collaboration. However, transferring knowledge from experts to novices often requires extensive co-located, face-to-face teamwork and tutoring. Remote teamwork that involves members distributed in different locations and times can result in poorer transfer of knowledge due to constraints in telecommunication. In this project, students will explore the system design space of interactive concept map visualization to allow distributed workers to see the domain concepts they possess, as well as compare and link their concepts to those of other people. We aim to improve the design of concept visualization so that the visualization is easy to learn and comprehend, and also allow people to build up shared knowledge through knowledge transfer.

    Requirements
    ♦   Continuing or admitted student in the graduate program in Computer Science

  • Predicting Changes to the Genome Three-Dimensional Structure as a Result of Genetic Variant
  • Faculty Member
    Fereydoun Hormozdiari

    Description
    Advances in biotechnology have provided researchers with the means to directly study the 3D structure of the genome and its modifications. This information (which is usually represented as a square matrix) can provide detailed information, such as enhancer-promoter interactions and their contribution to gene expression. Recent studies have shown variations which cause disruption of these genome 3D structures can cause various diseases, such as cancer and developmental disorders. We have very recently developed a novel combinatorial method to predict the effect of deletions of the genome 3D structure and score these variations. As part of this project, we want to extend the proposed method to other types of genetic variants (e.g., duplications and inversions). We would utilize both combinatorial approaches and deep learning models for solving this problem. The objective of this project is thus very clear:

    Improving the prediction model proposed (potentially using deep learning approaches)
    Extend the model to predict contribution of additional types of genetic variants (e.g., duplication or inversions) on 3D genome structure
    Build an online application for others to easily run the method
    If you are interested in this project, please email Dr. Fereydoun Hormozdiari and include your CV/resume.

    Requirements
    ♦   Continuing or admitted master’s student in the graduate program in Computer Science

  • Predicting Gene Expression Level from Genomic Sequence with Deep Learning
  • Faculty Member
    Fereydoun Hormozdiari

    Description
    Predicting gene expression/activity level from sequencing data is an essential problem in biology. In mammalian cells, gene expression is controlled by various biological factors. Recent advances in deep learning have opened a new approach to predict these factors from the available sequencing data. For example, approaches have been developed to use a deep neural network (DNN) to predict enhancer activity data which then can be used to estimate the activity of enhancer and promoter. In another study, authors proposed to use DNNs to predict the three-dimensional structure of genome which can be used to extract the interactions contributing to gene expression activity. In addition, other studies also used DNN and CNN approaches to solve the gene expression prediction problem. Therefore, a natural question here is that if we can utilize these works to develop a novel model by integrating these DNNs to predict the actual gene expression level from the genomic sequence. The objective of this project is thus very clear:

    ♦   Make a survey of state-of-the-art methods proposed in the literature to address the gene expression prediction problem and understand the key technique of each method.
    ♦   Evaluate the performance of these methods in different data sets (e.g. different cell lines).
    ♦   Integrate these networks in a unique framework to improve the prediction performance.

    If you are interested in this project, please email Dr. Fereydoun Hormozdiari and include your CV/resume.

    Requirements
    ♦   Continuing or admitted Master’s student in the graduate program in Computer Science

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 – 3 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 – 3 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.

  • 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 listserve. 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, both 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 specifes 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.