# Computer Science and Engineering (CSE)

[ graduate 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 Undergraduate Program

#### Computer Science and Engineering Undergraduate Admissions

Because of the large number of students interested in computer science undergraduate programs, and the limited resources available to accommodate this demand, the university has declared all majors in the Department of Computer Science and Engineering as “capped”: BA computer science, BS computer science, BS computer engineering, and BS computer science with specialization in bioinformatics.

Admission directly into one of CSE’s capped majors is limited for freshmen, effective fall 2013. Students will be selected by the UC San Diego Office of Undergraduate Admissions based on the students’ holistic review scores and availability of slots in the Department of Computer Science and Engineering. All potential freshmen must indicate on the UC application if they wish to major in computer science or computer engineering.

Admission directly into one of CSE’s capped majors is limited for transfer students, effective fall 2015. New transfer students will be selected by the UC San Diego Office of Undergraduate Admissions based on the students’ holistic review scores and availability of slots in the Department of Computer Science and Engineering. All potential transfer students must indicate on the UC application if they wish to major in computer science or computer engineering.

Admission to CSE’s capped majors is limited for all continuing UC San Diego students, effective fall 2015.

#### Continuing Students

UC San Diego students who wish to change from another major into one of CSE’s capped majors may apply to the Department of Computer Science and Engineering for admission into the BA computer science, BS computer science, BS computer engineering, or BS computer science with specialization in bioinformatics major.

##### Eligibility requirements:

- Minimum of eight units of courses completed at UC San Diego for a letter grade, drawn from the following courses: CSE 8B or CSE 11, CSE 12, CSE 15L, CSE 20, CSE 21, CSE 30, and CSE 100.
- All of the following courses (or their accepted equivalent) must have been completed prior to application: CSE 8B or 11, CSE 12, CSE 15L, and CSE 20.

##### Application process:

Students may apply in any quarter after they have completed the above eligibility requirements. They will be ranked according to grades received in the UC San Diego courses from the above list. All courses will be weighted equally.

Applicants will be chosen from this ranking until all open slots in the major are filled.

##### Transfer Student Preparation for Success

To reduce the amount of time needed to complete degree requirements, transfer students should complete as many prerequisite courses as possible before starting at UC San Diego. A 3.0 GPA in these courses is recommended.

- Calculus I—for Science and Engineering (Math 20A)
- Calculus II—for Science and Engineering (Math 20B)
- Calculus and Analytic Geometry (Math 20C)
- Differential Equations (Math 20D)—required for BS computer engineering only
- Linear Algebra (Math 20F)
- Complete calculus-based physics series (Phys 2A-B-C)—required for BS computer engineering only
- Highest level of introductory computer programming language (i.e. Java, C or C++) course offerings at the community college

#### Degree and Program Options

The Department of Computer Science and Engineering (CSE) offers four degree programs: the BS degree in computer science, the BA degree in computer science, the BS degree in computer engineering, and the BS degree in computer science with a specialization in bioinformatics.

All CSE programs of study provide a broad and rigorous curriculum and are designed to provide students with the strong academic education and technical training necessary for placement in the competitive high-tech job market as well as for advanced studies in graduate school.

The CSE department encourages students to explore opportunities outside the classroom. Students may apply to be tutors and readers in CSE courses, which are excellent opportunities to interact more closely with faculty and gain communication and training skills. Independent research is recommended, and CSE students participate in research projects with graduate students and faculty from CSE, the San Diego Supercomputer Center, Calit2’s Qualcomm Institute, and other departments across campus. The department has strong ties with the local and national high-tech industry, where students can earn course credit through internship positions that allow them to apply their academic knowledge toward exciting commercial technologies.

### BS Computer Science Program

The lower-division course requirements are designed to provide a strong foundation in mathematics, physics, programming methodology and skills, and computer organization. Upper-division core courses deal with the theory and design of algorithms, hardware, and software. Electives allow students to gain additional breadth and/or depth in computer science and engineering.

Recommended high school preparation includes mathematics courses so that students can take freshman calculus in their first quarter. Courses in high school physics and computer programming are helpful preparation but are not required.

The BS in computer science requires a total of 124 units for the BS computer science program (not including the general-education requirements).

#### 1. Lower-Division Requirements

Students are expected to complete the following 52 units by the end of their sophomore year.

CSE 8B or CSE 11, CSE 12, CSE 15L, CSE 20 or Math 15A, CSE 21 or Math 15B, and CSE 30 (22 units)**Computer Science and Engineering:**minimum of two units chosen from CSE 3, CSE 4GS, CSE 5A, CSE 6GS, CSE 7, CSE 8A, MAE 8, MAE 9, COGS 10, COGS 18, ECE 15, NANO 15, CENG 15, CSE 80, CSE 86, CSE 90, CSE 91, CSE 95, CSE 99, or any CSE upper-division course not used to fulfill other degree requirements. Students who choose to take a four-unit course for this requirement will be required to complete 126 units for the BS computer science program (not including the general-education requirements)*Computer Science and Engineering:*Math 20A, Math 20B, Math 20C, and Math 20F (16 units)*Mathematics:*Two courses chosen from Phys 2A, Phys 2B, Phys 4A, Phys 4B, Chem 6A or Chem 6AH, Chem 6B or Chem 6BH, BILD 1, BILD 2, BILD 3, and BICD 100 (8 units)*General Science:*Math 183 or ECE 109 or Econ 120A or CSE 103 (4 units)*Probability and Statistics:*

#### 2. Upper-Division Requirements

Students must complete 72 upper-division units: 44 units of core courses and 28 units of cluster and elective courses.

*Core Courses**:*- Data structures and programming: CSE 100
- Algorithms/theory: CSE 101 and CSE 105
- Software engineering: CSE 110
- Hardware/architecture: CSE 140 and CSE 141, along with CSE 140L and CSE141L
- Systems/networks: CSE 120 or CSE 123 or CSE 124
- PL/databases: CSE 130 or CSE 132A
- Security/cryptography: CSE 107 or CSE 127
- Learning/vision/graphics: CSE 150 or CSE 151 or CSE 152 or CSE 158 or CSE 167
Seven courses (28 units) subject to the following constraints:*Electives:*

- A minimum of 20 units of CSE upper-division or graduate courses, which may include courses listed under “Requirements” but not used by the student to satisfy the requirement area.
- A maximum of twelve units of P/NP courses may count, chosen from: a maximum of eight units of CSE 198 or 199 or 199H; a maximum of four units of CSE 197.
- A maximum of two courses (8 units) of non-CSE courses, referred to as technical electives on the student’s degree audit. An approved list of technical electives may be found on the CSE website. Students may petition for other courses not on the list.

Students are expected to complete the majority of these courses by the end of their junior year.

##### Notes for Selecting and Scheduling Classes for BS Computer Science

- All courses must be taken for a letter grade, except those offered P/NP only.
- See the CSE website for a sample four-year plan of study.
- Students should read “CSE Course Placement Advice” on the CSE website for assistance in determining which CSE course to take first, CSE 8A, CSE 8B, or CSE 11.
- Computer Science Advanced Placement Credit: A Exam (Java Programming), two units. Score of 4 exempts CSE 8A, and students should take CSE 11.
- CSE 8B or CSE 11 may be taken concurrently with CSE 20/Math 15A. Please obtain department approval for enrollment permission for CSE 20/Math 15A by sending e-mail to csepeeradviser@eng.ucsd.edu.
- CSE 15L must be taken concurrently with CSE 12.
- CSE 140 must be taken concurrently with CSE 140L.
- CSE 141 must be taken concurrently with CSE 141L.
- Once a graduate course is used for an undergraduate degree, that course may not be reused for a graduate degree.

### BS Computer Engineering Program

The BS computer engineering program is jointly administered by the Departments of Computer Science and Engineering and Electrical and Computer Engineering. The curriculum is the same in both departments. Students wishing to take the computer engineering program must be admitted to one of the departments.

The lower-division computer engineering program is designed to provide a strong foundation in mathematics, physics, electrical engineering, programming methodology and skills, and computer organization. Upper-division core courses deal with the theory and design of algorithms, hardware and software, as well as electronic systems. Students can gain additional breadth and/ or depth in computer science and engineering by an appropriate selection of technical electives.

Recommended high school preparation includes mathematics courses so that students can take freshman calculus in their first quarter. Courses in high school physics and computer programming are helpful preparation but are not required.

The BS computer engineering program requires a total of 136 units (not including the general-education requirements).

#### 1. Lower-Division Requirements

Students are expected to complete the following 68 units by the end of their sophomore year.

CSE 8B or CSE 11, CSE 12, CSE 15L, CSE 20 or Math 15A, CSE 21 or Math 15B, and CSE 30 (24 units)**Computer Science and Engineering:**minimum of two units chosen from CSE 3, CSE 4GS, CSE 5A, CSE 6GS, CSE 7, CSE 8A, MAE 8, MAE 9, COGS 10, COGS 18, ECE 15, NANO 15, CENG 15, CSE 80, CSE 86, CSE 90, CSE 91, CSE 95, CSE 99, or any CSE upper-division course not used to fulfill other degree requirements. Students who choose to take a four-unit course for this requirement will be required to complete 138 units for the BS computer science program (not including the general-education requirements).*Computer Science and Engineering:*Math 20A, Math 20B, Math 20C, Math 20D, and Math 20F (20 units)*Mathematics:**Physics**:*Phys 2A, Phys 2B, Phys 2C (12 units). Math 20A is a prerequisite for Phys 2A. Students whose performance on the Department of Mathematics placement test permits them to start with Math 20B or a higher course may take Phys 2A in the fall quarter of the freshman year; all others will take Phys 2A in the winter quarter of the freshman year. Students who received high grades in both calculus and physics in high school may substitute the major’s sequence, Phys 4A-B-C, for Phys 2A-B-C.*Electrical Engineering**:*ECE 35, ECE 45, and ECE 65 (12 units)

#### 2. Upper-Division Requirements

Students must complete 68 upper-division units: 28 units of CSE core courses, 2 units of ECE core courses, and 28 units of elective courses.

CSE 100 or Math 176, CSE 101 or Math 188, CSE 110, CSE 120, 140, 140L, 141, and 141L (28 units)*Core CSE Courses*:*Core ECE Courses**:*ECE 101, ECE 108, and ECE 109 (12 units)*Electives**:*Seven courses (28 units) must be completed.- One elective must be either ECE 111 or ECE 118 (4 units)
- Minimum of four courses (20 units) chosen from ECE or CSE upper-division or graduate courses.
- A maximum of twelve units of P/NP courses may count, chosen from: a maximum of eight units of CSE 198 or 199 or 199H; a maximum of four units of CSE 197.
- A maximum of four units of non-CSE courses, referred to as technical electives on the student’s degree audit. An approved list of technical electives may be found on the CSE website. Students may petition for other courses not on the list

##### Notes for Selecting and Scheduling Classes for BS Computer Engineering

- All courses must be taken for a letter grade unless they are offered P/NP only.
- See the CSE website for a sample four-year plan of study.
- Students should read “CSE Course Placement Advice” on the CSE website for assistance in determining which CSE course to take first: CSE 3A, CSE 8A, CSE 8B, or CSE 11.
- Effective fall 2014, CSE 8A (3 units) and 8AL (1 unit) were combined into one course: CSE 8A (4 units).
- Computer Science Advanced Placement Credit: A Exam (Java Programming) (2 units). Score of 4 exempts CSE 8A; students should take CSE 11.
- CSE 8B or CSE 11 may be taken concurrently with CSE 20/Math 15A. Please obtain department approval for enrollment permission for CSE 20/Math 15A by sending e-mail to csepeeradviser@eng.ucsd.edu.
- CSE 15L must be taken concurrently with CSE 12.
- CSE 140 must be taken concurrently with CSE 140L.
- CSE 141 must be taken concurrently with CSE 141L.

### BS Computer Science with a Specialization in Bioinformatics

The explosion in biological knowledge spawned by the various genome projects has created entirely new fields and industries, and a need for trained computational biologists who are familiar with biology, mathematics, and computer sciences. The computer science and engineering department offers rigorous, interdisciplinary training in the new and rapidly evolving field of bioinformatics.

Bioinformatics refers to advanced computational and experimental methods that model the flow of information (genetic, metabolic, and regulatory) in living systems to provide an integrated understanding of the system properties of organisms.

This interdisciplinary major also is offered by the Division of Biological Sciences and the Department of Bioengineering.

The BS computer science with a specialization in bioinformatics program requires a total of 153 units (not including the general-education requirements).

#### 1. Lower-Division Requirements

Students are expected to complete the following fifty-six units by the end of their sophomore year. All classes must be taken for a letter grade.

CSE 8B or 11, CSE 12, CSE 15L, CSE 21, and CSE 30 (18 units)*Computer Science and Engineering*:Math 18, Math 20A-B-C (16 units)*Mathematics*:Chem 6A-B, (8 units)*Chemistry*:BILD 1, BILD 3, and BILD 4 (12 units)*Biology*:Phys 2A (4 units)*Physics*:

#### 2. Upper-Division Requirements

Students must complete seventy-two upper-division units. All courses must be taken for a letter grade unless offered P/NP only.

- CSE 100 or Math 176 (4 units)
- CSE 101 or Math 188 (4 units)
- Chem 140A (4 units)
- Chem 114A or BIBC 102 (4 units)
- BICD 100 (4 units)
- BIMM 100 (4 units)
- BIMM 101 (4 units)
- Six additional upper-division electives (24 units) chosen from:
- Group I (4 units): CSE 110, 130, 131
- Group II (8 units): CSE 105, 150, 151, 158; Math 184A; COGS 185
- Group III (4 units): CSE 132A, 132B, 134, 135
- Group IV (8 units): Additional electives chosen from four-unit upper-division CSE courses or Chem 140B or ENG 100D or ENG 100L. A maximum of four units of P/NP course work may count, including CSE 197, 197, and 199.
- The bioinformatics series, comprising the following five courses (20 units):
- CSE 181 or BIMM 181 or BENG 181 (4 units)
- CSE 182 or BIMM 182 or BENG 182 or Chem 182 (4 units)
- BENG 183 (4 units)
- BIMM 185 (4 units)
- Math 186 (4 units)

##### Notes for Selecting and Scheduling Classes for Bioinformatics Specialization

- See the CSE website for a sample four-year plan of study.
- Students should read “CSE Course Placement Advice” on the CSE website for assistance in determining which CSE course to take first: CSE 3A, CSE 8A, CSE 8B, or CSE 11.
- Effective fall 2014, CSE 8A (3 units) and 8AL (1 unit) were combined into one course: CSE 8A (4 units).
- Computer Science Advanced Placement Credit: A Exam (Java Programming) (2 units). Score of 4 exempts CSE 8A; students should take CSE 11.
- CSE 8B or CSE 11 may be taken concurrently with CSE 20/Math 15A. Students may enroll in SE 20 after they are enrolled in CSE 8B or CSE 11; students on the wait list for CSE 8B or CSE 11 will not be allowed to add CSE 20.

### BA Computer Science Program

The BA computer science program gives students more latitude in designing their course of study. The lower-division program is designed to provide a strong foundation in mathematics, physics, programming methodology and skills, and computer organization. Upper-division core courses deal with the theory and design of algorithms, hardware, and software. Students can gain additional breadth and/or depth in computer science and engineering by an appropriate selection of electives. By requiring fewer electives, the BA computer science program serves those students desiring more time for undergraduate studies outside their major subject.

The department requires a total of 116 units for the BA computer science program (not including the general-education requirements).

#### 1. Lower-Division Requirements

Students are expected to complete the following forty-eight units by the end of their sophomore year.

CSE 8B or CSE 11, CSE 12, CSE 15L, CSE 20 or Math 15A, CSE 21 or Math 15B, and CSE 30 (22 units)*Computer Science and Engineering*:Two units chosen from CSE 3, CSE 4GS, CSE 5A, CSE 6GS, CSE 7, CSE 8A, MAE 8, MAE 9, COGS 10, COGS 18, ECE 15, NANO 15, CENG 15, CSE 80, CSE 86, CSE 90, CSE 91, CSE 95, CSE 99, or any CSE upper-division course not used to fulfill other degree requirements. Students who choose to take a four-unit course for this requirement will be required to complete 118 units for the BS computer science program (not including the general-education requirements).*Computer Science and Engineering*:Math 20A, Math 20B, Math 20C, and Math 20F (16 units)*Mathematics*:: Two courses chosen from Phys 2A, Phys 2B, Phys 4A, Phys 4B, Chem 6A or Chem 6AH, Chem 6B or Chem 6BH, BILD 1, BILD 2, BILD 3, and BICD 100 (8 units)*General Science*

#### 2. Upper-Division Requirements

Students must complete 68 upper-division units: 40 units of core courses and 28 units of elective courses.

CSE 100 or Math 176; CSE 101 or Math 188; CSE 105 or Math 166; CSE 110; CSE 120, 130, 131, 140, 140L, 141, and 141L (40 units). Students are expected to complete the majority of these courses by the end of their junior year.*Core Courses:*(28 units):*Electives*- A minimum of twenty units of CSE upper-division or graduate courses, depending on the cluster
- A maximum of twelve units of P/NP courses may count, chosen from: a maximum of eight units of CSE 198 or 199 or 199H; a maximum of four units of CSE 197.
- A maximum of eight units of non-CSE courses, referred to as technical electives on the student’s degree audit. An approved list of technical electives may be found on the CSE website. Students may petition for other courses not on the list.

##### Notes for Selecting and Scheduling Classes for BA Computer Science

- All courses must be taken for a letter grade, except those offered P/NP only.
- Students should read “CSE Course Placement Advice” on the CSE website for assistance in determining which CSE course to take first: CSE 8A, CSE 8B or CSE 11.
- Computer Science Advanced Placement Credit: A Exam (Java Programming) (2 units). Score of 4 exempts CSE 8A, and students should take CSE 11.
- CSE 8B or CSE 11 may be taken concurrently with CSE 20/Math 15A. Please obtain department approval for enrollment permission for CSE 20/Math 15A by sending e-mail to csepeeradviser@eng.ucsd.edu.
- CSE 15L must be taken concurrently with CSE 12.
- CSE 140 must be taken concurrently with CSE 140L.
- CSE 141 must be taken concurrently with CSE 141L.
- Once a graduate course is used for an undergraduate degree, that course may not be reused for a graduate degree.

### Electives

The discipline of computer science and engineering interacts with a number of other disciplines in a mutually beneficial way. These disciplines include mathematics, electrical engineering, and cognitive science. The following is a list of upper-division courses from these and other disciplines that can be counted as technical electives.

#### Restrictions

- At most four units of CSE 197 may be used towards technical elective requirements.
- CSE 195 cannot be used towards course requirements.
- Undergraduate students must get instructor’s permission and departmental stamp to enroll in a graduate course.
- Students may not get duplicate credit for equivalent courses.
- The UC San Diego General Catalog should be consulted for equivalency information and any restrictions placed on the courses.
- Additional restrictions are noted below. Any deviation from this list must be petitioned.

##### Computer Science with a Specialization in Bioinformatics

Students must petition department for technical elective credit not on approved list.

##### Mathematics

All upper-division courses except Math 168A (Math 183—Computer Engineering majors only), 184A, and 195–199.

If a student has completed CSE 167, then he or she cannot get elective credit for Math 155A. Students may receive elective credit for only one of the following courses: CSE 164A, Math 174, Math 173, Phys 105A-B, CENG 100, MAE 107. No credit for any of these courses will be given if Math 170A-B-C is taken. Students may receive credit for either one of the following: Math 166 or CSE 105 (but not both), Math 188 or CSE 101 (but not both), Math 176 or CSE 100 (but not both).

Credit will be given for only one of the following: ECE 109 or Math 183 or Econ 120A.

##### Electrical and Computer Engineering

All ECE upper-division courses except 195–199.

Students may not get credit for both CSE 123A and ECE 158A or CSE 143 and ECE 165. Credit will be given for only one of the following: ECE 109 or Math 183 or Econ 120A.

##### Cognitive Science

Sensation and Perception 101A, Learning, Memory, and Attention 101B, Language 101C, Distributed Cognition 102A, Cognitive Ethnography 102B, Cognitive Engineering 102C, Neuroanatomy and Physiology 107A, Systems Neuroscience 107B, Cognitive Neuroscience 107C, Programming Methods for Cognitive Science 108D, Neural Network Models of Cognitive I 108E, Advanced Programming Methods for Cognitive Science 108F, Human Computer Interaction 120, Human Computer Interaction Programming 121, Natural and Artificial Symbolic Representational Systems 170, Neural Network Models of Cognition II 181, Representation, Search, and the Web 188.

Students may not get credit for both CSE 150 and Advanced Programming Methods for Cognitive Science 108F.

##### Mechanical and Aerospace Engineering

All upper-division MAE courses except MAE 140 (ONLY Computer Science majors may take MAE 140) and 195–199.

Students may receive elective credit for only one of the following courses: CSE 164A, Math 174, Math 173, Phys 105A-B, CENG 100, MAE 107. Students may only get credit for one of the two courses, CSE 167 or MAE 152.

##### Economics

Microeconomics 100A-B-C, Game Theory 109, Macroeconomics 110A-B-C, Mathematical Economics 113, Econometrics 120A-B-C, Applied Econometrics 121, Decisions Under Uncertainty 171, Introduction to Operations Research 172A-B-C, Economic and Business Forecasting 178.

Credit will be given for only one of the following: ECE 109 or Math 183 or Econ 120A.

##### Linguistics

Phonetics 110, Phonology I 111, Phonology II 115, Morphology 120, Syntax I 121, Syntax II 125, Semantics 130, Mathematical Analysis of Language 160, Computers and Language 163, Computational Linguistics 165, Principles of Discourse and Dialog 169, Psycholinguistics 170, Language and the Brain 172, and Sociolinguistics 175.

##### Engineering

Principles of Team Engineering 100A and Team Engineering Laboratory 100L. Students are eligible to receive eight units of technical elective credit for completing a combination of ENG 100A (two units) and ENG 100L (two units). Students must complete one quarter of ENG 100 for two units, and two quarters of ENG 100L for a total of four units. Students may complete two more ENG 100L courses (four units) to receive one more technical elective.

##### Music

Computer Music II 172, Audio Production: Mixing and Editing 173.

##### Psychology

Introduction to Engineering Psychology 161.

**Rady School of Management**

Product Marketing and Management 103, Business: Enterprise Creations and Management 110, Innovation to Market A 121A, Organizational Leadership 164, Ethic and Corporate Responsibility 166, Business Project Management 172, Supply Chain & Operations Management 174, and Enterprise Finance 181.

### CSE Honors Program

The CSE Honors Program encourages eligible undergraduate students to perform advanced study in their major. Students in the honors program work closely with faculty on an undergraduate research project, typically completed over two quarters. As a result, the honors program is excellent preparation for further study in a graduate program. Students who complete the honors program also have an honors distinction officially bestowed upon them upon graduation.

The CSE Honors Program does not increase the units required for graduation in a CSE major. Students participating in the Honors Program may apply eight units in CSE 199H for the equivalent of two elective courses for their major. Students may also apply unit credit in CSE 199H toward the cluster requirement in the undergraduate program.

#### Admission

In accordance with university Honors Program guidelines, to apply for the CSE Honors Program students must meet the following prerequisites:

- Junior-level standing in a CSE major
- 3.5 GPA in CSE major courses, 3.25 GPA overall
- Completion of CSE 101, CSE 105, and CSE 110
- Completion of at least twelve units of upper-division CSE courses at UC San Diego

The honors application form is available on the CSE website and from the CSE Student Affairs office. Students should submit the application no later than fall quarter of the senior year; submission during spring quarter of the junior year is strongly encouraged.

Admission to the honors program will be formally approved by the CSE honors committee based upon the materials provided in the application.

#### Completion Requirements

In accordance with university Honors Program guidelines, to complete the CSE Honors Program students must meet the following requirements upon graduation:

- 3.25 GPA in a CSE major
- Eight units of CSE 199H with a GPA of 3.0 (letter grade of B) or higher
- Written honors thesis
- Presentation of honors project
- Signature from faculty adviser on an honors completion form
- Completion of requirements by the end of the quarter of graduation

Depending on students’ performance on their honors project, students are eligible to receive the following honors designations on their diploma:

- “With distinction”: Complete the eight units of CSE 199H with a GPA of 3.0 or higher
- “With high distinction”: Complete the eight units of CSE 199H with a GPA of 3.5 or higher
- “With highest distinction”: Complete the eight units of CSE 199H with a GPA of 3.8 or higher

Students must write a thesis describing their honors research project. The thesis must have the content, rigor, and format of scholarly publications in computer science and engineering. The faculty adviser must have reviewed and approved the honors thesis prior to submission by the student.

Students must orally present their project as a requirement for the honors program. Options are available on the CSE website. The faculty adviser can also provide an alternative presentation opportunity.

### Graduation Requirements

All major requirements and upper-division electives except CSE 91, 197, 198, or 199 must be taken for a letter grade. To graduate, a minimum grade point average of 2.0 will be required in upper-division courses in the major, including upper-division electives. In addition to satisfying requirements for the major, students must satisfy the general-education course requirements of their colleges. The six colleges at UC San Diego require widely different general-education courses. Students should choose a college carefully, considering the special nature of the college and breadth of education.

### Minor and Program of Concentration

The computer science minor is designed to provide basic proficiency in computer science. The requirements focus on programming methodology and skills, computer organization, relevant mathematical skills, structure techniques, laboratory courses with programming projects, and design and analysis of algorithms. Completing these requirements provides a strong foundation in computer science.

#### Lower-Division and Upper-Division Requirements

The CSE minor requires successful completion of a total of eight CSE courses (32 units) taken for a letter grade.

- Lower-division: Four courses (16 units): CSE 8B or CSE 11, CSE 12, CSE 20, and CSE 21
- Upper-division: Four courses (16 units)
- CSE 100 (4 units)
- Electives: Three additional courses (12 units) chosen from CSE upper-division courses. Note that enrollment in courses is subject to enforcement of prerequisites. For instance, to meet CSE 100 prerequisites, students must complete CSE 12, 15L, CSE 21 (which has a CSE 20 prerequisite), and CSE 5A or CSE 30 or ECE 15 or MAE 9.

##### Policies and Restrictions

- All courses taken for the minor must be completed with a letter grade.
- Students must achieve at least a 2.0 GPA in the upper-division courses in order for the minor to be awarded.
- Students in the Jacobs School of Engineering cannot minor in computer science.
- Mathematics/computer science majors will not be allowed the minor in computer science.
- Students are recommended to begin courses for the minor by their sophomore year.
- Students should consult their college provost’s office concerning the rules for the minor or program of concentration.

#### UC Education Abroad Program (EAP) and UC San Diego’s Opportunities Abroad Program (OAP)

CSE majors are encouraged to participate in the UC Education Abroad Program (EAP) or UC San Diego’s Opportunities Abroad Program (OAP). Subject to approval by the faculty director of the major, courses taken through EAP/OAP will be accepted for credit toward the major. Students interested in studying abroad should contact a CSE undergraduate program adviser to discuss appropriate courses and programs for their plan of study at the Virtual Advising Center. A list of approved transferrable courses can be found on the CSE website.

Information on EAP/OAP is given in the “Education Abroad Program” section of the *UC San Diego General Catalog*. Interested students should contact the Study Abroad UC San Diego Office in the International Center and visit its website at http://studyabroad.ucsd.edu/. Financial aid can be used for EAP/OAP study, and special study-abroad scholarships are also available.