Computer Science and Engineering (CSE)
[ graduate program  courses  faculty ]
Earl Warren College
Engineering Building, Unit 3B
Undergraduate Affairs, Room 1200
http://cse.ucsd.edu
All courses, faculty listings, and curricular and degree requirements described herein are subject to change or deletion without notice.
The Undergraduate Program
Degree and Program Options
The Department of Computer Science and Engineering (CSE) offers three degree programs: the BS in computer science, the BS in computer engineering, and the BS in computer science with a specialization in bioinformatics. All major requirements for each degree program must be completed with a C– or better, except for courses offered Pass/No Pass only.
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 hightech 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 hightech industry, where students can earn course credit through internship positions that allow them to apply their academic knowledge toward exciting commercial technologies.
Please note that DS25, MA30, and any majors within the Jacobs School of Engineering may not double major in any CSE major, nor may they minor in CSE.
BS Computer Science Program
The lowerdivision course requirements are designed to provide a strong foundation in mathematics, physics, programming methodology and skills, and computer organization. Upperdivision 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 firstyear calculus in their first quarter. Courses in high school physics and computer programming are helpful preparation but are not required.
The BS computer science requires a total of 124 units for the BS computer science program (not including the generaleducation requirements).
1. LowerDivision Requirements
Students are expected to complete the following fiftytwo units by the end of their sophomore year.
 Computer Science and Engineering: CSE 8B or CSE 11, CSE 12, (CSE 15L or CSE 29), CSE 20 (or MATH 15A or MATH 31CH or MATH 109), CSE 21 (or MATH 154 or MATH 184), and CSE 30 (twentytwo or twentyfour units)
 Computer Science and Engineering: minimum of four units chosen from CSE 3, CSE 4GS, CSE 6R, CSE 6GS, CSE 8A, CSE 42, CSE 86, CSE 90, CSE 91, CSE 95, CSE 99, CSE 180, CSE 180R, MAE 8, MAE 9, COGS 9, COGS 10, COGS 18, ECE 15, ENG 10, ENG 15, NANO 15, CENG 15, or any CSE upperdivision course not used to fulfill other degree requirements
 Mathematics: MATH 20A, MATH 20B, MATH 20C (or MATH 31BH), and MATH 18 (or MATH 31AH) (sixteen units)
 General Science: One course 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, BICD 100, BIMM 101, BIMM 121, COGS 107A, COGS 107B, COGS 115, ESYS 101, HDS 110, SIO 126, or SIO 128 (four units)
 Probability and Statistics: MATH 181A or MATH 183 or ECE 109 or ECON 120A or CSE 103 (four units)
2. UpperDivision Requirements
Students must complete seventytwo upperdivision units: twelve units of core courses and sixty units of elective courses.
 Core Courses
 Data structures and programming: CSE 100
 Algorithms: CSE 101
 Software engineering: CSE 110
 Electives: Almost all upperdivision CSE courses that are not core courses or special studies courses are tagged with the programlevel outcome(s) (Systems, Theory/Abstraction, and Applications of Computing) with which they align. Electives must give sufficient breadth within these outcomes:
 At least twelve units of courses tagged with Systems.
 At least twelve units of courses tagged with Theory/Abstraction.
 At least twelve units of courses tagged with Applications of Computing.
 Also, a minimum of twentyfour units of CSE upperdivision or graduate courses or nonCSE classes that are tagged with one of the three tags (which are not used to satisfy the core or breadth elective requirements). The following courses may be used as electives:
 Computer Science and Engineering
 Any CSE upperdivision course between CSE 100–194 that is not being used for another major requirement, with the exception of CSE 180/180R and CSE 191 which are not allowed to meet CSE upperdivision CSE elective requirements.
 Undergraduate students may petition to use graduatelevel course work toward their elective requirements.
 Students may use twelve units of CSE 190 toward CSE elective credit. CSE 190 topics may vary from quarter to quarter. May be repeated for credit a maximum of three times (maximum of twelve units; courses must be taken for a different topic). The graduate analogue, CSE 291, applies to this twelveunit maximum, as well.
 Cognitive Science
 Applications of Computing: COGS 108, COGS 109, COGS 118AC, COGS 120, COGS 120127, COGS 160, COGS 181, COGS 185, COGS 187AB, COGS 189
 Data Science
 Systems: DSC 102
 Economics
 Applications of Computing: ECON 172AB
 Electrical and Computer Engineering
 Systems: ECE 140AB
 Applications of Computing: ECE 140AB
 Education Studies
 Applications of Computing: EDS 124AR, EDS 124BR
 Engineering (Global Ties)
 Applications of Computing: Students may use up to eight units of ENG 100D/L courses toward upperdivision CSE elective credits (as part of the twelveunit maximum of special studies courses—CSE 197, 198, 199, 199H)
 Students must take ENG 100L twice (two units each time) to receive credit for one elective credit (not exceeding the twelve units of special studies courses); students may no longer combine this course with another two or sixunit course
 Students may request to have their degree audit updated by contacting the Virtual Advising Center.
 Linguistics
 Applications of Computing: LIGN 165, LIGN 167
 Mathematics
 Theory/Abstraction: MATH 170ABC, MATH 171AB
 Applications of Computing: MATH 155A, MATH 189
 Computer Science and Engineering
 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. Students who wish to exceed the twelveunit special studies limit will need to submit a petition for faculty review (faculty will be reviewing the rigor of the special studies being completed).
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 fouryear 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 3, CSE 8A, 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 submitting a course preauthorization request.
 CSE 15L should be taken concurrently with CSE 12.
 CSE 140 should be taken concurrently with CSE 140L.
 CSE 141 should be taken concurrently with CSE 141L.
 CSE 142 should be taken concurrently with CSE 142L.
 Once a graduate course is used for an undergraduate degree, that course may not be reused for a graduate degree.
 Students are responsible for verifying their degree audit is accurate and uptodate before submitting their Degree and Diploma Application (DDA). Changes will not be made to degree audits once the degree has been conferred.
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 lowerdivision computer engineering program is designed to provide a strong foundation in mathematics, physics, electrical engineering, programming methodology and skills, and computer organization. Upperdivision 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 firstyear 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 generaleducation requirements).
1. LowerDivision Requirements
Students are expected to complete the following sixtyeight units by the end of their sophomore year.
 Computer Science and Engineering: CSE 8B or CSE 11, CSE 12, (CSE 15L or CSE 29), CSE 20 (or MATH 15A or MATH 109), CSE 21 (or MATH 154 or MATH 184), and CSE 30 (twentytwo or twentyfour units)
 Mathematics: MATH 20A, MATH 20B, MATH 20C (or MATH 31BH), MATH 20D, and MATH 18 (or MATH 31AH) (twenty units)
 Physics: PHYS 2A, PHYS 2B, PHYS 2C (twelve 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 first year; all others will take PHYS 2A in the winter quarter of the first year. Students who received high grades in both calculus and physics in high school may substitute the major’s sequence, PHYS 4ABC, for PHYS 2ABC.
 Electrical Engineering: ECE 35, ECE 45, and ECE 65 (twelve units)
2. UpperDivision Requirements
Students must complete sixtyeight upperdivision units: twentyeight units of CSE core courses, twelve units of ECE core courses, and twentyeight units of elective courses.
 Core CSE Courses: CSE 100, CSE 101, CSE 110, CSE 120, CSE 140, CSE 140L, and (CSE 141 and CSE 141L) or (CSE 142 and CSE 142L) (twentyeight units)
 Core ECE Courses: ECE 101, ECE 108, and ECE 109 (twelve units)
 Electives: Seven courses (twentyeight units) must be completed

 One elective must be either ECE 111 or ECE 140B (four units)
 Remaining electives may be chosen from ECE or CSE upperdivision courses not already being used to meet other major requirements. Please note that CSE 180/180R/191 may not be used to fulfill this requirement.
 The following courses may also be applied to the twentyeightunit minimum:
 Computer Science and Engineering
 Undergraduate students may petition to use graduatelevel course work toward their elective requirements.
 Students may use twelve units of CSE 190 or ECE 180 toward CSE elective credit. CSE 190/ECE 180 topics may vary from quarter to quarter. CSE 190 may be repeated for credit a maximum of three times (maximum of twelve units; courses must be taken for a different topic). The graduate analogues, CSE 291/ECE 289, apply to this twelveunit maximum, as well.
 Cognitive Science
 COGS 108, COGS 109, COGS 118AC, COGS 120, COGS 120127, COGS 160, COGS 181, COGS 185, COGS 187AB, COGS 189
 Data Science
 DSC 102
 Education Studies
 EDS 124AR, EDS 124BR
 Engineering (Global Ties)
 Students may use up to eight units of ENG 100D/L courses toward upperdivision CSE elective/technical elective credits (as part of the twelveunit maximum of special studies courses—CSE 197, 198, 199, 199H).
 Students must take ENG 100L twice (two units each time) to receive credit for one elective credit [technical elective or upperdivision CSE elective (not exceeding the twelve units of special studies courses)]; students may no longer combine this course with another two or sixunit course.
 Students may request to have their degree audit updated by contacting the Virtual Advising Center.
 Linguistics
 LIGN 165, LIGN 167
 Computer Science and Engineering
 A maximum of twelve units of P/NP courses may count, chosen from: a maximum of eight units of CSE 198 or 199 (or ECE 198/199) or CSE 199H; a maximum of four units of CSE 197. Students who wish to exceed the twelveunit special studies limit will need to submit a petition for faculty review (faculty will be reviewing the rigor of the special studies being completed).
 A maximum of one course (four units) of nonCSE courses, referred to as technical electives on the student’s degree audit. An approved list of technical electives may be found at the end of this catalog or on the CSE website. Students may petition for other courses not on the list if they are in line with their career/professional goals.

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 fouryear 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, or CSE 11.
 Computer science advanced placement credit: A Exam (Java Programming) (two 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 submitting a course preauthorization request.
 CSE 15L should be taken concurrently with CSE 12.
 CSE 140 should be taken concurrently with CSE 140L.
 CSE 141 should be taken concurrently with CSE 141L.
 CSE 142 should be taken concurrently with CSE 142L.
 Once a graduate course is used for an undergraduate degree, that course may not be reused for a graduate degree.
 Students are responsible for verifying their degree audit is accurate and uptodate before submitting their Degree and Diploma Application (DDA). Changes will not be made to degree audits once the degree has been conferred.
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 School of Biological Sciences and the Department of Bioengineering.
The BS computer science with a specialization in bioinformatics program requires a total of 128 units (not including the generaleducation requirements).
1. LowerDivision Requirements
Students are expected to complete the following sixtytwo or sixtyfour units by the end of their sophomore year. All classes must be taken for a letter grade unless offered P/NP only.
 Computer Science and Engineering: CSE 8B or 11, CSE 12, (CSE 15L or CSE 29), CSE 21, and CSE 30 (eighteen or twenty units)
 Computer Science and Engineering: minimum of two units chosen from CSE 3, CSE 4GS, CSE 6R, CSE 6GS, CSE 8A, CSE 42, CSE 86, CSE 90, CSE 91, CSE 95, CSE 99, CSE 180, CSE 180R, MAE 8, MAE 9, COGS 9, COGS 10, COGS 18, ECE 15, ENG 10, ENG 15, NANO 15, CENG 15, or any CSE upperdivision course not used to fulfill other degree requirements (two units)
 Mathematics: MATH 20A, MATH 20B, MATH 20C (or MATH 31BH), and MATH 18 (or MATH 31AH) (sixteen units)
 Chemistry: CHEM 6AB, (eight units)
 Organic Chemistry: CHEM 40A or CHEM 41A (four units)
 Biology: BILD 1, BILD 3, and BILD 4 (ten units)
 Physics: PHYS 2A (four units)
2. UpperDivision Requirements
Students must complete sixtyfour upperdivision units. All courses must be taken for a letter grade unless offered P/NP only.
 CSE 100 (four units)
 CSE 101 (four units)
 CHEM 114A or BIBC 102 (four units)
 BICD 100 (four units)
 BIMM 100 (four units)
 BIMM 101 (four units)
 The bioinformatics series, comprising the following five courses (twenty units):
 CSE 181 or BIMM 181 or BENG 181 (four units)
 CSE 182 or BIMM 182 or BENG 182 (four units)
 BENG 183 (four units)
 CSE 185 (four units)
 MATH 186 (four units)
 Five upperdivision electives: The following courses may also be applied to the twentyfourunit minimum:
 Computer Science and Engineering
 Undergraduate students may petition to use graduatelevel course work toward their elective requirements.
 Students may use twelve units of CSE 190 toward CSE elective credit. CSE 190 topics may vary from quarter to quarter. May be repeated for credit a maximum of three times (maximum of twelve units; courses must be taken for a different topic). The graduate analogue, CSE 291, applies to this twelveunit maximum, as well.
 Cognitive Science
 COGS 108, COGS 109, COGS 118AC, COGS 120, COGS 120127, COGS 160, COGS 181, COGS 185, COGS 187AB, COGS 189
 Data Science
 DSC 102
 Electrical and Computer Engineering
 ECE 140A, ECE 140B
 Education Studies
 EDS 124AR, EDS 124BR
 Engineering (Global Ties)
 Students may use up to eight units of ENG 100D/L courses toward upperdivision CSE elective/technical elective credits (as part of the twelveunit maximum of special studies courses—CSE 197, 198, 199, 199H).
 Students must take ENG 100L twice (two units each time) to receive credit for one elective credit [technical elective or upperdivision CSE elective (not exceeding the twelve units of special studies courses)]; students may no longer combine this course with another two or sixunit course.
 Students may request to have their degree audit updated by contacting the Virtual Advising Center.
 Linguistics
 LIGN 165, LIGN 167
 Computer Science and Engineering
 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. Students who wish to exceed the twelveunit special studies limit will need to submit a petition for faculty review (faculty will be reviewing the rigor of the special studies being completed).
 A maximum of four units of special studies course work may count from the following: CSE 197, CSE 198, CSE 199, CSE 199H, ENG 100D, or ENG 100L.
Notes for Selecting and Scheduling Classes for Bioinformatics Specialization
 See the CSE website for a sample fouryear 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.
 Computer science advanced placement credit: A Exam (Java Programming) (two 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.
 Students are responsible for verifying their degree audit is accurate and uptodate before submitting their Degree and Diploma Application (DDA). Changes will not be made to degree audits once the degree has been conferred.
Restrictions
 At most four units of CSE 197 may be used toward technical elective requirements.
 CSE 195 cannot be used toward course requirements.
 Undergraduate students must get instructor’s permission and departmental approval (via the Enrollment Authorization System) 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.
Technical Electives for all CSE Majors
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 upperdivision courses from these and other disciplines that can be counted as technical electives.
Cognitive Science
All COGS upperdivision courses 100–189.
Students may not receive credit for both CSE 151A and COGS 188.
Students may only receive credit for one of the following: CSE 151B, CSE 154, or COGS 181.
Students may not receive credit for both CSE 170 and COGS 120.
Communication
COMM 105G. Computer Game Studies, COMM 106I. Internet Industry.
Data Science
DSC 102. Systems for Scalable Analytics, DSC 120. Signal Processing for Data Analysis.
Economics
ECON 100AB. Microeconomics, ECON 109. Game Theory, ECON 110AB. Macroeconomics, ECON 113. Mathematical Economics, ECON 120ABC. Econometrics, ECON 121. Applied Econometrics and Data Analysis, ECON 171. Decisions Under Uncertainty, ECON 172AB. Introduction to Operations Research, ECON 178. Economic and Business Forecasting.
Credit will be given for only one of the following: ECE 109 or MATH 183 or ECON 120A.
Education Studies
EDS 124AR. Teaching and Computation in the Digital World, EDS 124BR. Teaching and Computational Thinking for Everyone.
Electrical and Computer Engineering
All fourunit ECE upperdivision courses from ECE 100–ECE 189 and ECE 196.
Students may not get credit for both CSE 123 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.
Engineering
Students may use up to eight units of ENG 100D/L courses toward upperdivision CSE elective/technical elective credits (as part of the maximum of special studies courses allowed by their major—CSE 197, 198, 199, 199H). Students must take ENG 100L twice (two units each time) to receive credit for one elective credit.
Linguistics
LIGN 110. Phonetics, LIGN 111. Phonology I, LIGN 120. Morphology, LIGN 121. Syntax I, LIGN 130. Semantics, LIGN 160. Pragmatics, LIGN 165. Computational Linguistics, LIGN 167. Deep Learning for Natural Language Understanding, LIGN 170. Psycholinguistics, and LIGN 175. Sociolinguistics.
Mathematics
All upperdivision courses from 100–194 except MATH 168A, 184. (CS25 computer engineering majors only: MATH 183 is not allowed for a technical elective).
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: MATH 174, MATH 173, PHYS 105AB, CENG 100, MAE 107. No credit for any of these courses will be given if MATH 170ABC is taken.
Credit will be given for only one of the following: ECE 109 or MATH 183 or ECON 120A.
Mechanical and Aerospace Engineering
All fourunit upperdivision MAE courses from MAE 100–MAE 189, except MAE 140 (ONLY CS26 computer science majors may take MAE 140).
Students may receive elective credit for only one of the following courses: MATH 173, MATH 174, PHYS 105AB, CENG 100, MAE 107.
Music
MUS 170. Musical Acoustics, MUS 171. Computer Music I, MUS 172. Computer Music II, MUS 173. Electronic Music Production and Composition, MUS 177. Music Programming.
Physics
PHYS 105A. Mathematical and Computation Physics I, PHYS 105B. Mathematical and Computation Physics II.
Psychology
PSYC 161. Engineering Psychology.
Rady School of Management
MGT 103. Product Marketing and Management, MGT 110. Business: Enterprise Creations and Management, MGT 121A. Innovation to Market A, MGT 127. Innovation and Technology Strategy, MGT 164. Business and Organizational Leadership, MGT 164GS. Business and Organizational Leadership Global Seminar, MGT 166. Business Ethics and Corporate Responsibility, MGT 167. Social Entrepreneurship, MGT 171. Operations Management, MGT 172. Business Project Management, MGT 175. Supply Chain Management, MGT 176. Strategic Cost Management, and MGT 181. Enterprise Finance.
Visual Arts
VIS 141A. Computer Programming for the Arts I, VIS 141B. Computer Programming for the Arts II, VIS 142. Practices in Computing for the Arts II, VIS 143. Virtual Environments, VIS 147A. Electronic Technologies for Art I, VIS 147B. Electronic Technologies for Art II.
Warren College Technical Writing
WCWP 160. Technical Writing for Scientists and Engineers.
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. Please note that CSE 199H does count toward the special studies limit of twelve units.
Admission
In accordance with university Honors Program guidelines, to apply for the CSE Honors Program students must meet the following prerequisites:
 Junior or seniorlevel 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 upperdivision 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 upperdivision electives except CSE 91, 95, 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 upperdivision courses in the major, including upperdivision electives. In addition to satisfying requirements for the major, students must satisfy the generaleducation course requirements of their colleges. The colleges at UC San Diego require widely different generaleducation 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.
LowerDivision and UpperDivision Requirements
The CSE minor requires successful completion of a total of eight CSE courses (thirtytwo units) taken for a letter grade.
 Lowerdivision: Four courses (sixteen units): CSE 8B or CSE 11, CSE 12, CSE 20 (or MATH 15A or MATH 31CH or MATH 109), and CSE 21 (or MATH 154 or MATH 184).
 Upperdivision: Four courses (sixteen units)
 CSE 100 (four units)
 Electives: Three additional courses (twelve units) chosen from CSE upperdivision 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 30 or ECE 15.
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 upperdivision CSE minor courses in order for the minor to be awarded.
 Students in the Jacobs School of Engineering cannot minor in computer science.
 Mathematics/computer science (MA30) majors will not be allowed to minor in computer science.
 Data science majors may not 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.
 CS26 minors do not receive priority over nonCSE majors or nonCSE minors in CSE courses.
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 at Matthews Quad and visit its website at http://studyabroad.ucsd.edu/. Financial aid can be used for EAP/OAP study, and special studyabroad scholarships are also available.
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 18)
 Complete calculusbased physics series (PHYS 2ABC)—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
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”: BS computer science, BS computer engineering, and BS computer science with specialization in bioinformatics.
Prospective students are 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 firstyear students must indicate on the UC application if they wish to major in any of the CSE department majors.
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 any of the CSE department majors.
Admission to CSE’s majors is limited for all continuing UC San Diego students.
Continuing Students: Capped Major Application
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 BS computer science, BS computer engineering, or BS computer science with specialization in bioinformatics major.
Each year the CSE department will determine the total number of spots available in CSE majors, based on available resources. Most of these spots will be used for direct admissions. Most years, we do not forecast there being any spots available beyond those used for these direct admissions to fill through the capped major application.
The CSE capped major application will be open once per year in the summer.
Eligibility Requirements
 A minimum of eight units of screening courses must have been completed at UC San Diego prior to application: CSE 8B or 11, CSE 12, CSE 15L, CSE 20 (MATH 15A or MATH 109 may be substituted for CSE 20 if taken first), CSE 21 (or MATH 154 or MATH 184), CSE 30, and CSE 100. Courses must be completed with a letter grade. Equivalent transfer course work will not count toward the eligibility requirement.
 All of the previously listed screening courses (or their accepted equivalent) must have been completed prior to application.
 Must have a minimum of a 3.0 UC San Diego GPA in the screening courses completed at UC San Diego. All screening courses taken at UC San Diego will be used toward the CSE screening GPA calculation (as long as the course carries units of credit awarded, e.g., not retaking courses the student has equivalent credit for already).
 Applicants may only apply to CSE capped admissions once. Any subsequent applications will be deemed ineligible. Students who apply without meeting all eligibility requirements will be disqualified (application will be flagged as ineligible) and the application will count as their one CSE capped admissions application.
Application Process
 After completing the above eligibility requirements, students may apply in the summer using the MyJSOE Major Change Application.
 Eligible students who have not exceeded the onetime application limit and meet the 3.0 GPA cutoff for screening courses, UC San Diego eightunit residency requirement in CSE courses, and approved quarterbyquarter plan (QXQ plan needed for students with 150+ units) will be populated onto an Excel sheet.
 Eligible students will then be sorted into two subgroups:
 Students who did not declare a computingrelated major and who have never been in a computingrelated major at UC San Diego. We define a computingrelated major to be any of the following majors: CS25, CS26, CS27, EC26, BI34, BE28, CG33, CG35, DS25, and MA30. We define a student declaring a major to mean that major was declared on their application to UC San Diego as their first or second choice.
 All other students.
 Within each subgroup, each student is then assigned a number using Excel’s random number generator. Students are then sorted by their assigned number from highest to lowest number. The CSE department will offer spots to students until all available spots are filled, starting with the highest numbered students in subgroup one. In the rare case that spots are still available after all subgroup one students have been extended an offer, the CSE department will offer a spot to students in subgroup two, starting with the highest number until all available spots are filled.