Computer Science and Engineering (2024)

  1. HOME
  2. curric
  3. Computer Science and Engineering

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

Computer Science and Engineering (2024)

FAQs

What does computer science and engineering do? ›

In the simplest terms: computer engineers work with firmware and hardware, while computer scientists innovate complex software systems, machine learning based algorithms, and more. Computer science is the study of all modern aspects of computers, mainly focused on software.

Is computer science and engineering a good major? ›

Majoring in computer science can be an excellent opportunity to strengthen valuable skills while leading to several in-demand career possibilities. Computer science can be a good major when you're looking for strong career prospects after graduation and opportunities to develop numerous skills.

Who gets paid more, computer science or computer engineering? ›

Which pays more, computer science or computer engineering? It depends on your title, but both career tracks have high earning potential. According to the BLS, the median pay for computer and information research scientists as of May 2022 was $136,620. Computer hardware engineers earned $132,360.

Which is better, computer science or computer engineering? ›

Neither degree is inherently better than the other. The choice depends on your career goals and interests. Computer science is ideal for those interested in software, programming, and algorithms, while computer engineering is suited for those who prefer working with hardware and system design.

Which engineering has the highest salary? ›

11 Highest-Paying Engineering Jobs
  • Biomedical Engineer. ...
  • Environmental Engineer. ...
  • Materials Engineer. ...
  • Nuclear Engineer. ...
  • Aeronautical Engineer. ...
  • Chemical Engineer. ...
  • Aerospace Engineers. ...
  • Petroleum Engineer. Petroleum engineers focus on the extraction of oil and gas resources from underground reservoirs.
Aug 14, 2024

Is computer science engineering hard? ›

Learning the discipline of Computer Science is a hard and difficult endeavor for most students. However, if you are willing to invest the time and learn serious time management skills, most students can successfully learn the discipline and pursue successful careers in Computer Science fields.

Which is harder, IT or computer science? ›

You may find yourself comparing computer information systems vs computer science. While the two degrees do overlap, computer science programs generally give students a more thorough and complex knowledge of the design of computers and computational processes.

Is computer engineering oversaturated? ›

In summary, the field may seem oversaturated to entry-level applicants or those with only basic front-end development skills. However, demand still exceeds supply for specialized engineering and soft skills, presenting abundant opportunities for qualified candidates.

Are computer science engineers in high demand? ›

Is computer engineering in demand? Although not growing as fast as other computer-related careers, the BLS projects a 5% job growth for computer engineers between 2021-2031.

What field of computer science makes the most money? ›

Highest Paying Computer Science Jobs By Qualification
  • Full Stack Developer.
  • Principal Software Engineer.
  • Software Development Manager.
  • Site Reliability Engineer.
  • Software Engineering:
  • Security Engineering:
  • UX Design.
  • Video Games Development.
Jan 30, 2023

How many years is computer engineering? ›

Computer Engineering is a four-year degree program that deals with the study of computer systems. The curriculum covers both software and hardware and develops the student's ability to analyze computer systems, designs, construction of electronic equipment and its peripherals.

How many years is computer science? ›

The length of an online computer science degree will depend on the credential. Typically, associate degrees take about two years, bachelor's degrees about four years, master's degrees about two years, and doctorates about five years. Accelerated online programs may offer shorter timeframes.

Can you become a computer engineer with a computer science degree? ›

Getting started in hardware or software engineering requires at least a bachelor's in computer science or computer engineering. Computer engineers design and test computer systems and hardware. They create and write code for circuits and other computer components.

Is engineering in computer science worth it? ›

You'll have a well-paid job, and your salary will increase with experience. Computer Engineering jobs are also safe from the automation process, which looks likely to take out many work opportunities in the future.

Computer Science vs Computer Engineering ...University of the Peoplehttps://www.uopeople.edu ›

If you're interested in the world of computers, systems, networks, hardware, and software, then these two majors could be very well suited for you. But how ...
With salaries and workforce demand for STEM (science, technology, engineering and mathematics) graduates at an all-time high, two red-hot majors that prospectiv...
Unlike software engineers, computer engineers are more likely to spend time in a lab than they are writing code. Your computer engineering degree may cover a wi...

What is the job description of a computer science engineer? ›

Computer Engineer duties and responsibilities

Researching current and new technologies and programming solutions. Using the development plans and designs from other team members to build software and hardware. Writing and creating programs for specific uses per company or client needs.

What is the role of computers in science and engineering? ›

Powerful computers are used to simulate dynamic processes in the practice of Science and Engineering. ➠ Super computers have numerous applications in Chemistry, Physics ,structural engineering and weather forecasting. ➠ Physicians use computers to understand human body and to diagnose disorders.

What does computer science and engineering deals with? ›

Computer science engineers are involved in many aspects of computing, from the design of individual microprocessors, personal computers, and supercomputers to circuit designing and writing software that powers them.

Does computer engineering require math? ›

Since math is the language of computers, computer engineers must have a strong understanding of math. As a result, they are required to take advanced math courses in college, including calculus, linear algebra, and differential equations.

References

Top Articles
Latest Posts
Article information

Author: Pres. Lawanda Wiegand

Last Updated:

Views: 6487

Rating: 4 / 5 (71 voted)

Reviews: 86% of readers found this page helpful

Author information

Name: Pres. Lawanda Wiegand

Birthday: 1993-01-10

Address: Suite 391 6963 Ullrich Shore, Bellefort, WI 01350-7893

Phone: +6806610432415

Job: Dynamic Manufacturing Assistant

Hobby: amateur radio, Taekwondo, Wood carving, Parkour, Skateboarding, Running, Rafting

Introduction: My name is Pres. Lawanda Wiegand, I am a inquisitive, helpful, glamorous, cheerful, open, clever, innocent person who loves writing and wants to share my knowledge and understanding with you.