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 MS and PhD programs are made separately. A current MS student who wishes to enter the PhD 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. 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 Interdisciplinary Comprehensive Option. Each plan requires forty-nine units of work. For full-time students, all the requirements can be completed within two years.

Required Courses

Students entering the MS program in computer science will choose an area of concentration. Each concentration is an area in which the faculty has significant research expertise. A typical concentration is a collection of three courses that are designed to give the student in-depth training in the chosen field. Additionally, to ensure breadth, all students are required to take four core courses.

Core courses must be completed with an average grade of B. The four core courses required of all students are as follows:

CSE 202. Algorithms Design and Analysis

CSE 221. Operating Systems

CSE 240A. Principles of Computer Architecture

CSE 292. Faculty Research Seminar

The department expects to offer concentrations in the following areas:

Artificial Intelligence

Bioinformatics

Communication Networks

Computer Architecture and Compilers

Computer Graphics and Vision

Cryptography and Security

Databases

Design Automation for Microelectronic Designs

Distributed and Fault-Tolerant Computing

Embedded Systems and Software

Human-Computer Interaction

Parallel and Scientific Computing

Software Engineering

Storage Systems

PhD Preparation

The specific courses involved in each of the concentrations are detailed in a separate bulletin that is available in the Graduate Student Affairs Office, EBU 3B 1234 or on the web at http://www-cse.ucsd.edu/graduate-education/advising/new-student-info/masters-concentration-areas-ucsd-cse-graduate-program.html.

Electives

In addition to completing the required core courses and fulfilling either the thesis or comprehensive examination requirements described above, the student must also complete additional approved courses to bring the total number of units to forty-nine. The number of units of electives depends upon whether the student chooses Plan I or Plan II. The electives consist of other CSE graduate courses or courses from a list of approved electives. Units obtained in the courses CSE 293, 298, 299, 500, 501, 599, and any of the seminar courses CSE 209, 229, 259, 269, 290, and 294 do not count toward the elective requirement.

Plan I: Thesis Option

This plan involves both course work and research, culminating in the preparation of a thesis. The student must take twelve units of CSE 298 (Independent Study) to fulfill the research requirement, and a thesis based on research must be written and subsequently reviewed by the thesis committee. This committee, which is appointed by the dean of Graduate Studies, consists of three faculty members, with at least two members from within the CSE department.

Computer Science—Thesis, Plan I
Forty-nine units

Core: CSE 202, CSE 221, CSE 240A, CSE 292

Concentration: twelve units in one of the concentration areas designated by the department. Concentration courses must be taken for a letter grade

Technical electives: twelve units (minimum of two courses in CSE, minimum of two courses graduate)

Research: twelve units of CSE 298

Capstone: thesis

Plan II: Comprehensive Examination

Under this plan, the student must pass the comprehensive examination designed to test the student’s knowledge in basic computer science material. The examination can normally be passed with a thorough knowledge of topics covered in the undergraduate and first-year graduate computer science programs. Each student is allowed three attempts to pass the examination. The student must secure at least a master’s-level pass in the comprehensive examination. More information regarding the comprehensive examination can be found in a separate document provided by the CSE graduate office. In particular, the comprehensive examination is structured around the three CSE core areas: algorithms and data structures; operating systems; and computer architecture and digital logic design.

Project

Students electing Plan II are required to execute a project with an adviser while enrolled in four units of CSE 293.

Computer Science, Comprehensive Exam, Plan II
Forty-nine units

Standard option:

Core: CSE 202, CSE 221, CSE 240A, CSE 292

Primary concentration: twelve units in one of the concentration areas designated by the department (current list is appended to this document). Concentration courses must be taken for a letter grade.

Technical electives: twenty units (minimum of three courses in CSE, minimum of three graduate level courses)

Project: four units of CSE 293

Capstone: comprehensive exam

Interdisciplinary option:

Core: CSE 202, CSE 221, CSE 240A, CSE 292

Primary concentration: twelve units in one of the concentration areas designated by the department (current list is appended to this document). Concentration courses must be taken for a letter grade.

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

Technical electives: eight units (within CSE, graduate level)

Project: four units of CSE 293

Capstone: comprehensive exam

Computer Engineering Program

The CSE computer engineering program offers master of science and doctoral degrees with the degree title computer science and engineering (computer engineering). Computer engineering explores the engineering analysis and design aspects of algorithms and technology. Specific research areas include computer systems, signal processing systems, architecture, networks, computer-aided design, fault tolerance, and data storage systems.

Master of Science Program

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 Interdisciplinary Comprehensive Option. Each plan requires forty-nine units of work. For full-time students, all the requirements must be completed within two years. Students with an adequate background in computer engineering can complete the MS program within four to five quarters of full-time study.

Plan I: Thesis Option

This plan of study involves both course work and research, culminating in the preparation of a thesis. A thesis based on research must be written and subsequently reviewed by a committee consisting of three faculty members, with at least two members from within the CSE department. The committee is appointed by the dean of Graduate Studies. Twelve units of CSE 298 must be taken with a faculty member in CSE who agrees to act as adviser for the thesis to fulfill the research requirement. A total of forty-nine units of credit are required, as follows:

Computer Engineering—Thesis, Plan I
Forty-nine units

Core: core courses must be completed with an average grade of B. The four core courses required of all students are as follows:

CSE 292

Three of the following courses: CSE 202, CSE 221, CSE 237A, CSE 240A, CSE 241A

Concentration courses: twelve units from a list of computer engineering courses maintained by the department

Electives: twelve units (minimum of eight units taken within CSE, minimum of eight units graduate level)

Research: twelve units of CSE 298

Capstone: thesis

Plan II: Comprehensive Examination

There are two options for the computer engineering Comprehensive Exam Plan II: the Standard Comprehensive Option or Interdisciplinary Comprehensive Option.

In order to receive the MS degree in computer engineering under this plan, a student must complete the course requirements listed below and pass the comprehensive examination.

The comprehensive examination is designed to test the student’s knowledge in basic computer science and engineering material. The examination can normally be passed with a thorough knowledge of topics covered in the undergraduate and the first-year graduate computer science or computer engineering programs. Each student is allowed three attempts to pass the examination. The student must secure at least a master’s-level pass in the comprehensive examination. This examination is the same for both the computer science and the computer engineering graduate programs. More information about the comprehensive examination can be obtained in a separate document from the CSE graduate office.

Computer Engineering—Comprehensive, Plan II
Forty-nine units

Core: core courses must be completed with an average grade of B. The four core courses required of all students are as follows:

CSE 292

Three of the following courses: CSE 202, CSE 221, CSE237A, CSE 240A, CSE 241A

Standard option:

Interdisciplinary option:

Master of Advanced Studies

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.

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. Our particular areas of research expertise include

Competency Requirement

The competency requirement ensures that PhD students already have or will acquire the necessary undergraduate background for PhD 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.

PhD 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). PhD 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. PhD 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 PhD students share knowledge of fundamental concepts and tools from across broad areas of computer science and computer engineering. Each PhD 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 PhD student acquires some depth of knowledge in a general research area early in his or her career. Each PhD 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 PhD 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 PhD program. Passing the research exam may enable PhD students to receive the MS if they have otherwise met their MS requirements concurrently. PhD 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 MS. The MS is only granted to those students who do not already hold an MS 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 PhD 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 PhD 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 Graduate Studies and Research 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 PhD examination. A candidate for the PhD 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.