Computer Science and Engineering (CSE)

[ undergraduate program | courses | faculty ]

Undergraduate Affairs Room 1200D
Graduate Affairs Room 1200D
Engineering Building Unit 3B, Warren College
http://www.cse.ucsd.edu

All courses, faculty listings, and curricular and degree requirements described herein are subject to change or deletion without notice. Updates may be found on the Academic Senate website: http://senate.ucsd.edu/catalog-copy/approved-updates/.

The Graduate Program

The graduate program offers master of science and doctor of philosophy degrees in computer science and computer engineering. To be accepted into either course of study, a student should have a BA/BS in computer science, computer engineering, or a related area, or be able to demonstrate an equivalent competency.

The graduate program is concerned with fundamental aspects of computation. The computer science specialization is divided among the following areas:

The computer engineering specialization places a greater emphasis on hardware and the design of computer systems.

Admission to the graduate program is done through the Office of Graduate Admissions, Department of Computer Science and Engineering (CSE). The application deadline is in December. Admissions are always effective the following fall quarter. For admission deadline and requirements, please refer to the departmental web page: http://www.cse.ucsd.edu/gradedu/admissions/graduateadmissions.html.

Admission decisions for the master’s and doctoral programs are made separately. A current master’s student who wishes to enter the doctoral program must submit a petition, including a new statement of purpose and three new letters of recommendation, to the CSE admissions committee.

Five-Year Bachelor’s-Master’s Program

Undergraduate students in the Department of Computer Science and Engineering who are enrolled in the BS or BA computer science or BS computer engineering programs, and who have a cumulative GPA of a 3.4 and also a GPA of 3.4 in at least seven core courses, are eligible to apply for the Five-Year Bachelor’s-Master’s Degree Program. Students must apply four quarters before graduation. Acceptance into this program is an honor that carries with it practical benefits—the graduate application process is simplified (no GREs required), and students accepted into this program can be admitted fall, winter, and spring quarter, based upon availability of openings in the program. Advanced students are given access to graduate level courses and have the opportunity to do graduate level research earlier under the direct supervision of UC San Diego’s faculty, and students are able to complete the BA, BS, and MS within a five-year time period. Courses taken can be used toward either the BA, BS, or MS, but not counted toward both degrees. Additional information and applications can be obtained by contacting the CSE Student Affairs Office, EBU 3B, Room 1234. For an application, visit http://www.cse.ucsd.edu/gradedu/degreeprograms/bachelormasterscombined.html.

Computer Science Program

Master of Science Program

Thesis or Comprehensive Exam

The department offers the master of science degree in computer science and in computer engineering. The degree can be pursued under either the Thesis Plan I or the Comprehensive Examination Plan II. There are two options for the Comprehensive Exam Plan II: the Standard Comprehensive Option or the Interdisciplinary Comprehensive Option. For full-time students, all the requirements can be completed within one to two years. Students must register for a minimum of three quarters for residency requirements. To maintain good academic standing, students must be making timely and satisfactory progress toward completion of degree requirements and must maintain a minimum overall GPA of 3.0 at UC San Diego.

Course Requirements

There are breadth, depth, and elective and research requirements for each master’s program. These course requirements are intended to ensure that students are exposed to (1) fundamental concepts and tools, (2) advanced, up-to-date views in topics outside their area (the breadth requirement), and (3) a deep, current view of their research or specialization area (the depth requirement). The interdisciplinary option requires additional course work in another department. Courses may not fulfill more than one requirement.

Breadth Requirement

The breadth requirement ensures that master’s students share knowledge of fundamental concepts and tools from across broad areas of computer science and computer engineering. Students must complete three graduate courses (twelve units) to satisfy this requirement. Courses must be taken for a letter grade and completed with a grade of B- or higher. Breadth courses are categorized into three areas: theory, systems, and applications. Please refer to the department’s website for a current list of courses that satisfy the breadth requirement.

Depth Requirement

The depth requirement ensures that master’s students acquire expertise in a general research or specialization area.  Students choose a depth area from the list below; students pursuing the computer engineering degree must choose that as the depth area. Students must complete three graduate courses (twelve units) from this list. Courses must be taken for a letter grade. Please refer to the department’s website for a current list of courses that satisfy the depth requirement.

The depth areas are:

Electives and Research

The number of elective and research units required varies by degree (see below). Electives are chosen from graduate courses in CSE, ECE, and mathematics, or from other departments as approved, such as cognitive science. Please refer to the department’s website for a list of approved electives. Courses must be completed for a letter grade, except research units that are taken on a Satisfactory/Unsatisfactory basis. Seminar and teaching units may not count toward the electives and research requirement, although both are encouraged.

Plan I: Thesis Option
Computer Science or Computer Engineering
Forty units

Breadth: twelve units as described above

Depth: twelve units as described above. Students pursuing the computer engineering degree must choose that area to fulfill the depth requirement. Electives and research: sixteen units as described above. A minimum of eight and maximum of twelve units of CSE 298 (Independent Research) is required.

Capstone: A thesis based on the student’s research must be written and subsequently reviewed by the master’s thesis committee. It is then submitted as described in the general university requirements. The master’s committee, appointed by the dean of the Graduate Division, consists of three faculty members, with at least two members from within the CSE department.

Plan II: Comprehensive Examination

Under this plan, the student must pass the comprehensive examination designed to test the student’s knowledge in fundamental computer science material. The examination covers a wide range of material across the breadth areas of theory, systems, and applications, enabling students to demonstrate the cumulative knowledge they have gained. The student must secure at least a master’s-level pass and is allowed two attempts. More information regarding the comprehensive examination can be found in a separate document provided by the department.

Research

Students electing Plan II may choose to execute a research project with an adviser while enrolled in four units of CSE 293. A maximum of four units of CSE 293 may be applied to the electives and research requirement.

Computer Science or Computer Engineering, Comprehensive Exam, Plan II

Standard option: Forty units

Breadth: twelve units as described above

Depth: twelve units as described above. Students pursuing the computer engineering degree must choose that area to fulfill the depth requirement.

Electives and research: sixteen units as described above. A maximum of four units of CSE 293 may count (see  project above).
 
Capstone: comprehensive exam

Interdisciplinary option: Forty-eight units

Breadth: twelve units as described above

Depth: twelve units as described above. Students pursuing the computer engineering degree must choose that area to fulfill the depth requirement.

Secondary depth: twelve units in one of the approved areas outside of CSE. The twelve units of the secondary depth must be taken from only one area and approved by the master’s committee: the Departments of Cognitive Science, Electrical and Computer Engineering, Mechanical and Aerospace Engineering, and Structural Engineering, or the Rady School of Management.

Electives and research: twelve units as described above. A maximum of four units of CSE 293 may count (see project above).

Capstone: comprehensive exam

Master of Advanced Studies

Architecture-Based Enterprise Systems Engineering

The Department of Computer Science and Engineering offers the master of advanced studies (MAS) degree in architecture-based enterprise systems engineering. The degree requires forty-two units of work and a capstone team project. For full-time students with an adequate background in engineering, all the requirements can be completed within four quarters of full-time study.

Final Project Capstone Requirement, No Thesis

In the AESE program, an “alternative plan” requirement is satisfied by a three-unit capstone project requirement.

Required Courses

Students entering the MAS program in computer science for a degree in architecture-based enterprise systems engineering will undertake courses in engineering and management.

This program requires nine four-unit core courses totaling thirty-six units; three team project courses (one unit each for a total of three units) and one capstone team project course of three units, for a total of forty-two units.

All courses must be completed with an average grade of B and no grade below B–. The courses required of all students are as follows:

MGT 291. Essentials for Business Practice

MGT 406. Leadership Skills, Values, and Teamwork in Technology Firms (Workshop)

AESE 241. Decision and Risk Analysis

AESE 261. Managing Stakeholder Relationships (Workshop)

AESE 278A. Complexity and Large-Scale Systems

AESE 278B. Enterprise Architecting

AESE 278C. Modeling, Simulation, and Analysis

AESE 278D. Engineering Essentials for Open, Distributed Systems (Workshop)

AESE 278E. Patterns for Enterprise Architecting

AESE 279A. AESE Quarterly Team Project (taken fall, winter, spring quarters; one unit each)

AESE 279B. AESE Capstone Team Project (final project; summer; three units)

The specific courses are detailed in a separate bulletin, which is available in the Graduate Student Affairs Office, EBU 3B 1234 or on the web at http://www.cse.ucsd.edu/gradedu/advising/newstudentinfo/mastersconcentration.html.

Project

Students are required to execute a project with an adviser while enrolled in AESE 279A-B.

Data Science and Engineering

The Department of Computer Science and Engineering offers the master of advanced studies (MAS) degree in data science and engineering. The degree requires thirty-eight units of work including a capstone team project. For full-time students with an adequate background in engineering and science, all requirements can be completed within six quarters of part-time study.

Final Project Capstone Requirement, No Thesis

In the data science and engineering program, an “alternative plan” requirement is satisfied by a four-unit capstone project requirement.

Required Courses

Students entering the MAS program for a degree in data science and engineering will undertake courses in programming, analysis, and applications management and visualization. This program requires three foundational courses, four core courses, and two electives totaling thirty-four units, plus a capstone team project course of four units, for a total of thirty-eight units.

Foundational Courses

DSE 200. Python for Data Analysis

DSE 201. SQL Database Management Systems

DSE 210. Statistics and Probability Using Python

Core Courses

DSE 203. Data Integration and ETL

DSE 220. Machine Learning

DSE 230. Data Analysis Using Hadoop, and Spark

DSE 290. Case Studies in Data Science

Elective Courses

A subset of these courses will be offered each year.

DSE 221. Data Analysis Using R

DSE 232. Performance Measurement

DSE 240. Online Analytics Applications

DSE 241. Data Visualization

DSE 250. Beyond Relational Data Models

DSE 251. Managing Large-Scale Graph Data

Capstone Course

DSE 260. Data Science Capstone Design Project

Capstone Project

Students are required to execute a team project with an adviser while enrolled in DSE 260. The project will require a combination of in-class, laboratory, and off-campus work. It culminates with a final report and an oral presentation of the capstone project. In addition, there might be a demonstration of the working prototype.

Distance Learning

There is an opportunity for taking some courses in the program via distance learning. Distance learning courses are taught in a conventional manner with some students participating from a location outside of UC San Diego, connected to the instructor and classmates via a synchronous, two-way video and audio link. Participation in this mode is very limited and can only be granted to a few groups of applicants. Consideration for enrollment in distance learning courses will be based on the student group’s size and qualifications. The available equipment at the distance learning site must be discussed with the program directors at the time of application. It must support synchronous video and audio transmission with the ability for students to engage in conversations and answer questions as any student located on-site for the program. The Workshops (i.e., MGT 406, AESE 278D, AESE 261, and the Capstone Team Project 279B) must be attended by all students in person. The other six courses can be taken through distance learning.

Student with Disabilities

In order for the program to respond, a student requiring accommodation for disability must make a request for accommodation upon submission of the student’s intent to apply to the MAS AESE Leadership Program.
Information concerning accommodation requests is available at: http://disabilities.ucsd.edu/students/obtainaccommodations.html. Distance learning sites must confirm their ability to support students with disabilities.

Doctoral Programs

PhD Programs in Computer Science and Computer Engineering

CSE offers doctor of philosophy degrees in computer science and in computer engineering, providing a research-oriented education in preparation for a research, industrial, or entrepreneurial career. These programs explore both the fundamental aspects and application of computation, spanning theory, software, hardware, and applications.

Competency Requirement

The competency requirement ensures that doctoral students already have or will acquire the necessary undergraduate background for doctoral studies. Competency at the advanced undergraduate level may be demonstrated by any of the following methods:

  1. providing evidence of previous undergraduate or graduate course work; or
  2. taking an undergraduate course at UC San Diego; or
  3. taking the corresponding graduate course with consent of instructor; or
  4. passing the final exam of an undergraduate course at UC San Diego.

Doctoral students must demonstrate competency with respect to the following six undergraduate courses at UC San Diego. The corresponding graduate courses are listed in parentheses.

CSE 101. Design and Analysis of Algorithms
(CSE 202. Algorithm Design and Analysis)

CSE 105. Theory of Computability
(no corresponding graduate course)

CSE 120. Principles of Computer Operating Systems
(CSE 221. Operating Systems)

CSE 130. Programming Languages: Principles and Paradigms
(CSE 230. Principles of Programming Languages)

CSE 131. Compiler Construction
(CSE 231. Advanced Compiler Design)

CSE 141. Introduction to Computer Architecture
(CSE 240A. Principles of Computer Architecture)

A graduate course taken to satisfy the competency requirement may also be used to satisfy the breadth, depth, or elective course requirement.

Course Requirements

The course requirement is intended to ensure that students are exposed to (1) fundamental concepts and tools, (2) advanced, up-to-date views in topics outside their area (the breadth requirement), and (3) a deep, up-to-date view of their research area (the depth requirement). Doctoral students are expected to complete the breadth and depth requirements within the first three years of the program. All required course work must be taken for a letter grade, with the exception of CSE 291 (Topics in CSE), CSE 292 (Faculty Research Seminar), CSE 299 (Research), and CSE 500 (Teaching Assistantship), for which only S/U grades are allowed.

Units obtained from a single course cannot count more than once towards satisfying the requirement in each of the breadth, depth, or elective areas. Doctoral students who have taken similar courses elsewhere may petition for a waiver of the required courses or for substitution by alternative courses.

Breadth Requirement

The breadth requirement ensures that doctoral students share knowledge of fundamental concepts and tools from across broad areas of computer science and computer engineering. Each doctoral student must take each of these courses for a letter grade and maintain an overall breadth course GPA of 3.3 (except for CSE 292, for which a letter grade is not assigned). A student will typically complete all breadth courses within the first two years of graduate study.

Breadth courses are categorized into three areas: theory, systems, and applications.

Students in computer science must take six (courses in the areas of theory, systems, and applications: two in theory, two in systems, and two in applications

Students in computer engineering must take six courses in the areas of theory, systems, and applications following one of two plans:

Plan A: one in theory, three in systems, and two in applications

or

Plan B: two in theory, three in systems, and one in applications

Please refer to the department website for a complete list of all eligible courses by breadth area.

Depth Requirement

The depth requirement ensures that a doctoral student acquires some depth of knowledge in a general research area early in his or her career. Each doctoral student must select one of the following areas as his or her depth area. The student must take three courses (twelve units) from this depth area. The student must take each of these courses for a letter grade and maintain an overall depth course GPA of 3.4. However, one of these three courses can be a CSE Topics course (CSE 291) or an Independent Study (CSE 299), which are not taken for a letter grade. The department will maintain a list of appropriate courses for each depth area.

The depth areas are

Electives

In addition to the above, each student must take three additional courses (twelve units) including at most eight units of 299, with no grade lower than C–. Upper-division undergraduate courses satisfying the competency requirement may be used as electives. Undergraduate upper-division courses CSE 291 and CSE 299 may also be used to fulfill this requirement. Units obtained in the CSE 209 series, 229 series, 239 series, 249 series, 259 series, 269 series, 279 series, 289 series, 290, 292, 293, 294, 298, and 500, and 599 do not count toward the elective requirement.

Research Exam Requirement

The emphasis of doctoral studies is research, and having a research adviser is essential to a student’s ability to make adequate progress toward the degree. Students usually begin research in their first year. The research exam is intended to verify three components of the student’s preparation for doctoral research: (1) breadth of comprehension sufficient to enable computer science research in areas beyond the topic(s) of the research exam and thesis; (2) ability to perform critical study, analysis, and writing in a focused area; and (3) research experience.

The research exam has both an oral part and a written part. The oral part of the research exam is distinct from, and cannot be combined with the University Qualifying Exam. Grading criteria for each part, and standards for passing, are available from the CSE department graduate office.

The research exam is conducted by a committee of three faculty members approved by the graduate committee and the chair of the department. At least two committee members must be CSE senate faculty. The student’s adviser is not a member of the committee, but is free to attend the research examination. The normative time for passing the research exam is by the end of the second year of study. A petition to the CSE graduate committee is required to take the research examination after the student’s seventh quarter of study. The research exam must be passed by the end of the third year if the student is to continue in the doctoral program. Passing the research exam may enable doctoral students to receive the master’s degree if they have otherwise met their master’s degree requirements concurrently. Doctoral students who do not pass the exam after two attempts will be given the opportunity to write a thesis in order to receive a terminal master’s degree. The master’s degree is only granted to those students who do not already hold a master’s degree prior to entering the CSE department at UC San Diego.

Teaching Assistant Requirement

Teaching is an important part of a doctoral student’s training. All students enrolled in the doctoral program must have one quarter of training as a teaching assistant. This is a formal degree requirement and must be completed before the student is permitted to graduate. The requirement is met by serving as a 50 percent teaching assistant and taking CSE 500 (Teaching Assistantship). CSE 599 (Teaching Methods in Computer Science) examines theoretical and practical communication and teaching techniques particularly appropriate to computer science, and students usually take it prior to or concurrent with the teaching assistantship. 

Qualifying Examination and Advancement to Candidacy

The qualifying examination is a requirement for advancement to candidacy. Prior to taking the qualifying examination a student must have satisfied the departmental competency, course, and research exam requirements and must have been accepted by a CSE faculty member as a doctoral thesis candidate. All doctoral students are expected to advance to candidacy by the end of their third year, and advancement is mandatory by the end of the fourth year. The examination is administered by a doctoral committee appointed by the dean of the Graduate Division and consists of faculty from CSE and other departments. More information on the composition of the committee can be obtained from the CSE graduate office. The examination is taken after the student and his or her adviser have identified a topic for the dissertation and an initial demonstration of feasible progress has been made. The candidate is expected to describe his or her accomplishments to date as well as future work.

Dissertation

The dissertation defense is the final doctoral examination. A candidate for the doctoral degree is expected to write a dissertation and defend it in an oral examination conducted by the doctoral committee.

Departmental PhD Time Limit Policies

Students must be advanced to candidacy by the end of four years. Total university support cannot exceed seven years. Total registered time at UC San Diego cannot exceed eight years.

Financial Aid

Financial support is available to qualified graduate students in the form of fellowships, loans, and assistantships. For questions about financial support, please see our website: http://cse.ucsd.edu/node/31.