Skip to main content

Computer Science and Engineering (CSE)

[ undergraduate program | courses | faculty ]

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

All courses, faculty listings, and curricular and degree requirements described herein are subject to change or deletion without notice.

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:

  • algorithms and complexity
  • artificial intelligence
  • bioinformatics
  • computer architecture and compilers
  • computer graphics and computer vision
  • databases and information management
  • embedded systems and software
  • high-performance computing
  • human-computer interaction
  • programming systems
  • security and cryptography
  • software engineering
  • systems and networking
  • ubiquitous computing
  • VLSI/CAD (computer-aided design)

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://cse.ucsd.edu/graduate/admissions.

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://cse.ucsd.edu/graduate/degree-programs.

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 categorized into ten areas and are listed here alphabetically:

  • artificial intelligence
  • bioinformatics
  • computer engineering
  • computer systems and security
  • database systems
  • graphics and vision
  • human-computer interaction
  • programming languages, compilers, and software engineering
  • robotics
  • theoretical computer science
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. A maximum of one upper-division undergraduate course may count toward the electives requirement, per the approved department list. 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 complete a practical comprehensive examination designed to evaluate the student’s ability to integrate knowledge and understanding as well as utilize associated skills. The exam will be supervised by a faculty committee responsible for the content, evaluation, and administration of the exam. Each question of the exam requires the student to produce one or more artifacts representing a solution. Artifacts may include, but are not limited to, source code, design documentation, formal reasoning expressed via one or more proofs or mathematical models, and/or expository prose. Due to the nature of the exam, with each question taking the form of a project, the exam will normally be completed over multiple quarters. 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

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 DSE Program. Declaration of any disability information is not part of the admissions review and will not factor into admission decisions.

Information concerning accommodation requests is available at: http://osd.ucsd.edu/students/registering.html.

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.

Course Requirements

The 37-unit course work 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 elective requirement). Doctoral students are expected to complete the breadth and elective 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 292. Faculty Research Seminar, which is only offered S/U.

Units obtained from a single course cannot count toward both the breadth and the elective requirements; they may only be applied toward one or the other. 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 ten areas and are listed here alphabetically:

  • artificial intelligence
  • bioinformatics
  • computer engineering
  • computer systems and security
  • database systems
  • graphics and vision
  • human-computer interaction
  • programming languages, compilers, and software engineering
  • robotics
  • theoretical computer science

To fulfill the breadth requirement, students will select four of the ten areas and take a single course from each of these four areas.
For courses approved to fulfill the breadth requirement, please see the CSE graduate course structure for PhD students.

Additionally, students are required to take CSE 292, a one-unit faculty research seminar, where CSE faculty present one-hour seminars of their current research work in their areas of interest. This course is offered S/U only.

Elective Requirement

The elective requirement ensures that doctoral students acquire some depth of knowledge in a general research area early in their career, but it does not preclude them from pursuing a breadth of topics if this serves their research interests. The elective requirement is designed to be flexible and nimble enough to respond to the rapidly and constantly evolving dynamic disciplines of computer science and computer engineering.

The elective requirement is also designed with heavy faculty mentorship in mind. Students will consult with their faculty advisers to develop an academic plan that will include four courses from the abovementioned four separate breadth areas and five elective courses that may be selected from an approved set of courses featured in the CSE graduate course structure for PhD students.

Units obtained in the CSE 209 series, 229 series, 239 series, 249 series, 259 series, 269 series, 279 series, 289 series, 219, 290, 292, 293, 294, 298, 299, 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.

Obtaining an MS Degree

PhD students may obtain an MS degree along the way or a terminal MS degree by completing the PhD course work requirements (See details in Doctoral Degree Program.); AND completing four units of CSE 299/298/293 OR an additional four-unit, letter-grade approved course from the CSE graduate course structure; AND passing the PhD research exam. Please note that completion of CSE 292 is not required for PhD students to earn the MS along the way or a terminal MS.

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/graduate/financial-opportunities.

Specialization in Human-Centered Design

The graduate specialization is a set of courses students can choose to take that fits into their home degree program requirements. It is analogous to receiving a minor, but at the graduate level. As such, the specialization does not alter home program requirements. Instead, the courses fit into their home program as either electives or as courses that were already part of their core requirements. The graduate specialization is created so that it can be integrated into a master’s program or a PhD program.

All students who seek the specialization are required to take:

DSGN 201 (four units)

DSGN 219 (one unit)

CSE students should take two courses from this list:

CSE 210. Principles of Software Engineering

CSE 216. Interaction Design Research (Cross-listed with COGS 230)

CSE 218. Advanced Topics in Software Engineering—Ubiquitous Computing

CSE 276B. Human-Robot Interaction

CSE 276D. Healthcare Robotics

CSE students should take one course to meet the power, privilege, and ethical response requirement from this list:

FMPH 258C. Ethics in Public Health Research and Practice

FMPH 460. Design and Public Health

FMPH 270. Cultural Perceptions about Health and Disease

COGR 275. Design and Politics

COGR 275. Mediated Ability: Media, Technology, and [Dis]ability

COGR 275. Ability/Cultures of Care

COMM 275. Advanced Topics in Communication: Designing for Access

COMM 275. Advanced Topics in Communication: Disabling Modernism

All other requirements (e.g., projects such as theses/dissertations, teaching requirements, support) are set in accordance with a student’s home degree program. Just as a minor does not alter a student’s major as an undergraduate, the specialization does not alter any of CSE’s home degree program requirements. It simply offers a collection of classes that, if taken, represents sufficient training in human-centered design.

If any questions or concerns arise related to the above classes (e.g., requesting permission to take a course, scheduling of courses [particularly those outside of CSE], support on selecting a course from the list), please contact Dr. Nadir Weibel, the CSE faculty member on the Design Specialization Steering Committee, who provides all student advising and support for the specialization.