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

The Undergraduate Program

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. The BA degree in computer science is a flexible program that allows comprehensive studies beyond computer science and engineering.

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

CSE offers courses in the following areas:

In addition, CSE seniors can participate in challenging project-courses in software systems, where teams create multiplayer games; Internet systems, where students create sophisticated web transaction systems; and mobile wireless computing, where teams create applications for handheld devices.

The CSE department supports and encourages students to explore opportunities outside the classroom. Students assist in many CSE courses as paid lab tutors and readers, getting an excellent opportunity to interact more closely with faculty and other students. In addition, CSE students participate in research projects with graduate students and faculty in CSE, the San Diego Supercomputer Center, and the California Institute for Telecommunications and Information Technology (Calit2). Under the direction of our faculty, CSE students may also earn credit by participating in independent research projects. The CSE department has strong ties with local and national high-tech industry, where students can earn course credit while applying their academic knowledge toward exciting commercial technologies in paid internships.

BS Computer Science Program

The lower-division BS computer science 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. Students can gain additional breadth and/or depth in computer science and engineering by an appropriate selection of upper-division technical electives.

Students should have sufficient background in high school mathematics so that they can take freshman calculus in their first quarter. Courses in high school physics and computer programming, although helpful, are not required for the program.

The department requires a total of 128 units for the BS computer science program (not including the general-education requirements). There are three varieties of requirements: lower-division, upper-division, and technical electives.

Advisory placement exam for CSE 3, CSE 8A/8AL and CSE 11: An advisory placement test is encouraged of all CSE majors to help accurately place students into the right starting point in the CSE undergraduate curriculum. This information is found at http://www-cse.ucsd.edu/undergraduate-education.html. Contact the CSE student affairs advising office at ugradinfo@cs.ucsd.edu if further assistance is needed.

1. Lower-Division Requirements

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

Computer Science and Engineering

CSE 8B or CSE 11, CSE 12, CSE 15L, CSE 20 or Math 15A, CSE 21 or Math 15B, CSE 30, and CSE 91; twenty-four units.

Note: Students with little computer experience are encouraged to take CSE 3. Students without prior programming experience are advised to take CSE 8A, CSE 8AL, and then CSE 8B, instead of CSE 11. CSE 11 is a faster-paced version of CSE 8A, CSE 8AL, and CSE 8B, and requires experience in programming with a compiled language.

Mathematics

Math 20A, Math 20B, Math 20C, and Math 20F; sixteen units.

General Science

Phys 2A. and Phys 2B, or Chem 6A and Chem 6B, or Chem 6AH and Chem BH, or BILD 1 and BILD 2, or BILD 3 and BICD 100; eight units.

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.

Probability and Statistics

Math 183 or CSE 103; four units.

2. Upper-Division Requirements

All BS computer science students are required to take 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; forty units.

Students are expected to complete almost all of these courses by the end of their junior year. If students want to accelerate their program, they should consider taking CSE 100 or Math 176, CSE 105, and/or CSE 140 and 140L in the sophomore year.

3. Technical Electives

BS computer science students are required to complete one upper-division cluster of three to five CSE courses. The three to five CSE courses are part of the nine technical electives required for a total of thirty-six units. The purpose of the clusters is to help students identify groups of complementary courses, thus improving their education. Clusters are designed by the CSE faculty by grouping existing courses. Students who wish can also design their own clusters, with approval by the CSE Undergraduate Committee. For a complete list of clusters, visit http://www.ucsd.edu or see an adviser in the CSE advising offices.

  1. Choose one upper-division cluster consisting of three to five CSE courses. A three-course cluster is permitted when the cluster is a natural extension of one of the core upper-division requirements.
  2. A five-course cluster will be permitted when an additional foundational course may be required by other courses in the cluster.
  3. Within a cluster there can be choices, such as “take four of the five” or a choice between two course alternatives.
  4. May use up to eight units of CSE 198, CSE 199, or CSE 199H to meet the CSE upper-division technical requirement.
  5. Twelve credits of non-198, CSE 199, or CSE 199H must be completed.

Two technical electives (of the required nine technical electives) can be chosen from the wider set of courses that includes computer science and engineering upper-division courses, graduate courses, and other electives as listed under the section titled “Electives.” Other restrictions in the selection of technical electives are also given in the section “Electives.”

4. BS Computer Science, Sample Program starting with CSE 3

FALL WINTER SPRING
FRESHMAN YEAR
CSE 3 CSE 8A and 8AL CSE 8B
Math 20A CSE 91 (2 units) CSE 20 or Math 15A
GE Math 20B Math 20C
  GE GE
SOPHOMORE YEAR
CSE 12 CSE 30 CSE 110
CSE 15L (2 units) CSE 100 or Math 176 CSE 140
CSE 21 or Math 15B Major General Science CSE 140L (2 units)
Major General Science GE GE
JUNIOR YEAR
CSE 101 or Math 188 CSE 105 or Math 166 CSE 103 or Math 183
CSE 141 CSE 120 CSE Tech Elec
CSE 141L (2 units) Math 20F CSE Tech Elec
GE GE GE
SENIOR YEAR
CSE 130 CSE 131 CSE Tech Elec
CSE Tech Elec CSE Tech Elec CSE Tech Elec
CSE Tech Elec CSE Tech Elec CSE Tech Elec
GE GE GE

BS Computer Science, Sample Program starting with CSE 8A/8AL

FALL WINTER SPRING
FRESHMAN YEAR
CSE 8A and CSE 8AL CSE 8B CSE 12
CSE 91 (2 units) CSE 20 or Math 15A CSE 15L (2 units)
Math 20A Math 20B Math 20C
GE GE GE
SOPHOMORE YEAR
CSE 30 CSE 100 or Math 176 CSE 101 or Math 188
CSE 21 or Math 15B CSE 110 Math 20F
Major General Science Major General Science CSE Tech Elec
GE GE GE
JUNIOR YEAR
CSE 105 or Math 166 CSE 120 CSE 103 or Math 183
CSE 140 CSE 141 CSE Tech Elec
CSE 140L (2 units) CSE 141L (2 units) CSE Tech Elec
GE GE GE
SENIOR YEAR
CSE 130 CSE 131 CSE Tech Elec
CSE Tech Elec CSE Tech Elec CSE Tech Elec
CSE Tech Elec CSE Tech Elec GE
GE GE  

BS Computer Science, Sample Program starting with CSE 11

FALL WINTER SPRING
FRESHMAN YEAR
CSE 11 CSE 12 CSE 30
CSE 91 CSE 15L (2 units) CSE 20 or Math 15A
Math 20A Math 20B Math 20C
GE GE GE
SOPHOMORE YEAR
CSE 21 or Math 15B CSE 100 or Math 176 CSE 101 or Math 188
CSE 140 CSE 110 CSE 141
CSE 140L CSE Tech Elec CSE 141L (2 units)
GE Major General Science Major General Science
JUNIOR YEAR
CSE 105 or Math 166 CSE 130 CSE 131
CSE 120 CSE Tech. Elec CSE 103 or Math 183
CSE Tech Elec CSE Tech Elec GE
GE GE GE
SENIOR YEAR
CSE Tech Elec CSE Tech Elec CSE Tech Elec
CSE Tech Elec CSE Tech Elec GE
GE GE GE
GE GE GE
Notes for Selecting and Scheduling Classes for BS Computer Science

(All courses must be taken for a letter grade.)

  1. Advisory placement exam: Students may self-select which course they wish to take and are encouraged to take the advisory placement exam to help decide. Students with little computer experience are encouraged to take CSE 3. Students without experience in programming in a compiled language are advised to take CSE 8A and CSE 8AL, and then CSE 8B, instead of CSE 11. CSE 11 is a faster-paced version of CSE 8A, CSE 8AL, and CSE 8B. CSE 8B or CSE 11 must be taken before CSE 12.
  2. Computer Science Advanced Placement Credit: A Exam (Java Programming) two units
    • Score of 4 exempts CSE 8A and CSE 8AL. Student should take CSE 11.
    • Score of 5 exempts CSE 11. Student should take CSE 12.
  3. CSE 8A/8AL, or 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 at ugradinfo@cs.ucsd.edu.
  4. CSE 15L and CSE 70 were new courses as of fall 2007.
  5. Effective fall 2010, CSE 70 was renumbered to CSE 110.
  6. CSE 15L must be taken prior to or concurrently with CSE 12.
  7. The CSE Undergraduate Committee would like students to start taking technical electives as soon as possible after completing CSE 30. Effective fall 2010, students must complete nine technical electives. Students must complete one cluster consisting of three to five courses. Students may use a CSE graduate course for technical elective credit with approval. Once a graduate course is used for an undergraduate degree, that course may not be reused for a graduate degree. In addition, only four units of CSE 197 may be used toward technical elective credit.
  8. Students may take use up to eight units of CSE 198, CSE 199, or CSE 199H to meet the CSE upper-division technical requirement.
  9. Twelve credits of non-198, CSE 199, or CSE 199H must be completed. Two of the technical electives may be chosen from a list of approved electives. This list is at http://www.cse.ucsd.edu/undergrad/degreeprograms/electives.html. If you want to deviate from this list of approved electives, you must petition the CSE student adviser at ugradinfo@cs.ucsd.edu.

BS Computer Engineering Program

(Curriculum is the same in both the CSE and ECE departments.)

The BS computer engineering program is jointly administered by the Departments of Computer Science and Engineering and Electrical and Computer Engineering. 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.

Students should have sufficient background in high school mathematics so that they can take freshman calculus in their first quarter. Courses in high school physics and computer programming, although helpful, are not required for the program.

The BS computer engineering program requires a total of 136 units (not including the general-education requirements). There are three varieties of requirements: lower-division, upper-division, and technical electives.

Advisory placement exam for CSE 3, CSE 8A/8AL, and CSE 11: An advisory placement test is encouraged of all CSE majors to help accurately place students into the right starting point in the CSE undergraduate curriculum. This information is found at http://www-cse.ucsd.edu/undergraduate-education.html. Contact the CSE student affairs advising office at ugradinfo@cs.ucsd.edu if further assistance is needed.

1. Lower-Division Requirements

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

Computer Science and Engineering

CSE 8B or CSE 11, CSE 12, CSE 15L, CSE 20 or Math 15A, CSE 21 or Math 15B, CSE 30, and CSE 91; twenty-four units.

Note: Students with little computer experience are encouraged to take CSE 3. Students without prior programming experience are advised to take CSE 8A, CSE 8AL, and then CSE 8B, CSE 8AL, instead of CSE 11. CSE 11 is a faster-paced version of CSE 8A and CSE 8B, and requires experience in programming with a compiled language.

Mathematics

Math 20A, Math 20B, Math 20C, Math 20D, and Math 20F; 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 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.

Introduction to Electrical Engineering

ECE 35, 45, 65; twelve units. These courses give a comprehensive introduction to electrical engineering.

2. Upper-Division Requirements

All BS Computer engineering students are required to take CSE 100 or Math 176, CSE 101 or Math 188, CSE 110, CSE 120, 140, 140L, 141, and 141L; twenty-eight units.

In addition, all BS Computer engineering students have to fulfill the following upper-division ECE requirements.

Probability and Statistics

ECE 109; four units. This course can be taken in the sophomore year.

Linear Systems

ECE 101; four units. The department recommends that this course be taken in the junior year.

Electronic Circuits and Systems

ECE 108; four units. The department recommends that these courses be taken in the junior year.

If students want to accelerate their program, they should consider taking CSE 100 or Math 176, and/or CSE 140 and 140L in the sophomore year.

3. Technical Electives

All BS Computer engineering students are required to take seven technical electives for a total of twenty-eight units. One of these courses must be either ECE 111 or ECE 118. Of the remaining six courses, five must be computer science and engineering or electrical and computer engineering upper-division or graduate courses.

The remaining course can be any computer science and engineering or electrical and computer engineering upper-division or graduate course, or any other course listed under the section titled Electives. Other restrictions in the selection of technical electives are also given in the section “Electives.”  

4. BS Computer Engineering, Sample Program

FALL WINTER SPRING
FRESHMAN YEAR
CSE 8A, CSE 8AL, or CSE 11 CSE 15L CSE 21 or Math 15B
Math 20A CSE 12 Math 20C
GE Math 20B CSE 30
CSE 91 CSE 20 or Math 15A GE
SOPHOMORE YEAR
CSE 100 or Math 176 CSE 110 CSE 140
Math 20D CSE 101 or Math 188 CSE 140L
Phys 2A ECE 45 ECE 65
ECE 35 Phys 2B Phys 2C
JUNIOR YEAR
CSE 105 or Math 166 CSE 120 CSE 110
CSE 141   (Req. Tech Elec-
ECE 111 or
ECE 118)
CSE 141L   ECE 108
ECE 101 Math 20F CSE/ECE Tech Elec
SENIOR YEAR
CSE/ECE Tech Elec   CSE/ECE Tech Elec
CSE/ECE Tech Elec CSE/ECE Tech Elec ECE 109
GE CSE/ECE Tech Elec GE
GE
Notes for Selecting and Scheduling Classes for BS Computer Engineering

(All courses must be taken for a letter grade.)

  1. First Programming Course: CSE 11 is a faster-paced version of CSE 8A, CSE 8AL and CSE 8B. CSE 8B or CSE 11 must be taken before CSE 12.* Students may self-select which course they wish to take. Students without experience in programming in a compiled language are advised to take CSE 8A and CSE 8AL, and then CSE 8B, instead of CSE 11.

  2. CSE 11, and CSE 20/Math 15A, can be taken in the same quarter. Please obtain department approval for enrollment permission at ugradinfo@cs.ucsd.edu.

  3. CSE 15L and CSE 70 were new courses as of fall 2007.

  4. CSE 15L must be completed before CSE 12.

  5. Effective fall 2006, ECE 35 and ECE 45 were new courses in computer engineering. These courses replace ECE 35A and 35B, respectively.

  6. Effective fall 2010, CSE 70 was renumbered to CSE 110 and is required for all CE majors. If a student completes CSE 70, they do not have to take CSE 110.

  7. Effective fall 2011, students no longer must take PHYS 2D, CSE 105, CSE 130, CSE 131 and ECE 102.

  8. For students admitted before fall 2011, CSE 105, CSE 130, CSE 131 and ECE 102 may be taken for upper-division technical elective credit.

  9. Students must complete seven technical electives for a total of twenty-eight units. Five of the seven technical electives must be CSE or ECE upper division courses. Students must obtain approval to use a CSE graduate course for technical elective credit. Once a graduate course is used for an undergraduate degree, that course may not be reused for a graduate degree. In addition, only four units of CSE 197 may be used toward technical elective credit.

  10. Furthermore, students may take up to eight units of only CSE 198, or 199, or 199H toward technical elective credit.

  11. Two of the technical electives may be chosen from a list of approved electives. This list is at http://www.cse.ucsd.edu/undergrad/degreeprograms/electives.html. If you want to deviate from this list of approved electives, you must petition the CSE student adviser at ugradinfo@cs.ucsd.edu.

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 is offered by three other programs (Division of Biological Sciences, Department of Chemistry and Biochemistry, and Department of Bioengineering). The computer science and engineering requirements comprise of 152 units to be taken from the divisions of physical sciences, biology, and engineering.

1. Lower-Division Requirements

Lower-division requirements, sixty-four units: Students are expected to complete all lower-division requirements by the end of their sophomore year.

  1. Math 20A, Math 20B, Math 20C, and Math 20F, (16 units)
  2. Chem 6A, Chem 6B, Chem 6C, and one Chem lab (15 units)
  3. BILD 1, BILD 2, and BILD 94 (9 units)
  4. CSE 11, CSE 12, and CSE 21 or Math 15B (12 units)
  5. Phys 2A, Phys 2B, and Phys 2C (12 units)

2. Upper-Division Requirements

Upper-division requirements, eighty-eight units (includes five CSE technical electives)

  1. CSE 100 or Math 176 (Data Structures), (4 units)
  2. CSE 101 or Math 188 (Algorithms), (4 units)
  3. Chem 140A–140B (Organic Chemistry), (8 units)
  4. Chem 114B (Biochemical Energetics and Metabolism) or BIBC 102 (Structural and Metabolic Biochemistry), (4 units)
  5. BIBC 103 (Biochemical Techniques), (4 units)
  6. BICD 100 (Genetics), (4 units)
  7. BIMM 100 (Molecular Biology) or Chem 114D (Molecular and Cellular Biochemistry), (4 units)
  8. BIMM 101 (Recombinant DNA Lab), (4 units)
  9. BICD 110 (Cell Biology), (4 units)
  10. BIBC 110 (Physical Biochemistry) or Chem 127 (Physical Chemistry), (4 units)
  11. Five additional CSE upper-division electives (electives 1, 2, 3, 4, and 5).

    At least one course from each of the three groups for a total of five electives

    • Group I: CSE 30, 111, 131A, 131B

    • Group II: CSE 105, 150, 151, Math 184A

    • Group III: CSE 132A, 132B, 133

    The bioinformatics series comprises the following six courses, twenty-four units:

  12. CSE 181 or BIMM 181 or BENG 181 (Molecular Sequence Analysis), (4 units)
  13. CSE 182 or BIMM 182 or BENG 182 or Chem 182 (Biological Databases), (4 units)
  14. BENG 183 (Applied Genomic Technologies), (4 units)
  15. CSE 184 or BIMM 184 or BENG 184 (Computational Molecular Biology), (4 units)
  16. BIMM 185 (Bioinformatics lab), (4 units)
  17. Math 186 (Probability and Statistics), (4 units)

3. BS Computer science with a specialization in bioinformatics, sample program

FALL WINTER SPRING
FRESHMAN YEAR
CSE 8A/8AL +
8B or 111
CSE 12 BILD 942
Math 20A Math 20B Math 20C
Chem 6A Chem 6B Chem 6C
GE 1 BILD 1 Chem 6BL
GE 2 GE 3
SOPHOMORE YEAR
CSE 21 or
Math 15B
Math 20F Chem 140B
BILD 2 Phys 2B BIBC 103
Phys 2A Chem 140A Phys 2C
GE 4 GE 5 GE 6
JUNIOR YEAR
CSE 100 or
Math 1763
CSE 101 or
Math 188
CSE 1814
BICD 100 Math 186 BIMM 101 or
Chem 112B
GE 7 BIBC 102 or
Chem 114B
BICD 110
GE 8 BIMM 100 or
Chem 114D
Chem 127
SENIOR YEAR
CSE 182 CSE 184 BIMM 185
BENG 183 Elec 2 Elec 4
Elec 15 Elec 3 Elec 5
GE 9 GE 10 GE 11

1Students may take the slower paced version, CSE 8A + CSE 8AL + CSE 8B, instead of CSE 11.

2BILD 94 (1 unit seminar) is recommended in students first spring quarter of study at UC San Diego. This course gives an overview of issues and topics in bioinformatics.

3CSE 30 prerequisite will be waived.

4New courses for the bioinformatics program: CSE 181 is cross-listed with BIMM 181 and BENG 181; CSE 182 is cross-listed with BIMM 182, Chem 182, and BENG 182; CSE 184 is cross-listed with BIMM 184 and BENG 184; and (BENG 183, BIMM 185, and Math 186 are not cross-listed with any other courses).

5Students must complete five CSE technical electives from the approved list.

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 technical electives. By requiring fewer technical 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). There are three varieties of requirements: lower-division, upper-division, and technical electives.

Advisory placement exam for CSE 3, CSE 8A/8AL, and CSE 11: An advisory placement test is encouraged of all CSE majors to help accurately place students into the right starting point in the CSE undergraduate curriculum. This information is found at http://www-cse.ucsd.edu/undergraduate-education.html. Contact the CSE student affairs advising office at ugradinfo@cs.ucsd.edu if further assistance is needed.

1. Lower-Division Requirements

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

Computer Science and Engineering

CSE 8B or CSE 11, CSE 12, CSE 15L, CSE 20 or Math 15A, CSE 21 or Math 15B, CSE 30, and CSE 91; twenty- four units.

Note: Students with little computer experience are encouraged to take CSE 3. Students without prior programming experience are advised to take CSE 8A, CSE 8AL, and then CSE 8B, instead of CSE 11. CSE 11 is a faster-paced version of CSE 8A, CSE 8AL, and CSE 8B, and requires experience in programming with a compiled language.

Mathematics

Math 20A, Math 20B, Math 20C, and Math 20F; sixteen units.

General Science

Phys 2A and Phys 2B, or Chem 6A and Chem 6B, or Chem 6AH and Chem BH, or BILD 1 and BILD 2, or BILD 3 and BICD 100; eight units.

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.

2. Upper-Division Requirements

All BA computer science students are required to take CSE 100 or Math 176, CSE 101 or Math 188, CSE 105 or Math 166, CSE 110, CSE 120, 131, 140, 140L, 141, and 141L; forty units.

Students are expected to complete almost all of these courses by the end of their junior year. If students want to accelerate their program, they should consider taking CSE 100 or Math 176, CSE 105 or Math 166, and/or CSE 140 and 140L in the sophomore year.

3. Technical Electives

BA computer science students are required to take seven technical electives for a total of twenty-eight units. Five technical electives must be computer science and engineering upper-division or graduate courses.

Two technical electives (of the required seven technical electives) can be chosen from a wider set of courses that includes computer science and engineering upper-division courses, graduate courses, and other electives as listed under the section titled “Electives.” Other restrictions in the selection of technical electives are also given in the section “Electives.”

4. BA Computer Science, Sample Program starting with CSE 3

FALL WINTER SPRING
FRESHMAN YEAR
CSE 3 CSE 8A and 8AL CSE 8B
Math 20A CSE 91 (2 units) CSE 20 or Math 15A
GE Math 20B Math 20C
  GE GE
SOPHOMORE YEAR
CSE 12 CSE 30 CSE 110
CSE 15L (2 units) CSE 100 or Math 176 CSE 140
CSE 21 or Math 15B Major General Science CSE 140L (2 units)
Major General Science GE GE
JUNIOR YEAR
CSE 101 or Math 188 CSE 105 or Math 166 CSE 120
CSE 141 CSE Tech Elec CSE Tech Elec
CSE 141L (2 units) Math 20F CSE Tech Elec
GE GE GE
SENIOR YEAR
CSE 130 CSE 131 CSE Tech Elec
CSE Tech Elec CSE Tech Elec CSE Tech Elec
GE GE GE

BA Computer Science, Sample Program starting with CSE 8A/8AL

FALL WINTER SPRING
FRESHMAN YEAR
CSE 8A and 8AL CSE 8B CSE 12
CSE 91 (2 units) CSE 20 or Math 15A CSE 15L (2 units)
Math 20A Math 20B Math 20C
GE GE GE
SOPHOMORE YEAR
CSE 21 or Math 15B CSE 100 or Math 176 CSE 101 or Math 188
CSE 30 CSE 110 CSE 140
Major General Science Major General Science CSE 140L (2 units)
GE GE GE
JUNIOR YEAR
CSE 105 or Math 166 CSE 120 CSE Tech Elec
CSE 141 CSE Tech Elec CSE Tech Elec
CSE 141L (2 units) Math 20F GE
GE GE  
SENIOR YEAR
CSE 130 CSE 131 CSE Tech Elec
CSE Tech Elec CSE Tech Elec CSE Tech Elec
GE GE GE

BA Computer Science, Sample Program starting with CSE 11

FALL WINTER SPRING
FRESHMAN YEAR
CSE 11 CSE 12 CSE 20 or Math 15A
CSE 91 CSE 15L (2 units) CSE 30
Math 20A Math 20B Math 20C
GE GE GE
SOPHOMORE YEAR
CSE 21 or Math 15B CSE 100 or Math 176 CSE 141
Math 20F CSE 140 CSE 141L (2 units)
Major General Science CSE 140L (2 units) CSE Tech Elec
GE Major General Science GE
JUNIOR YEAR
CSE 105 CSE 130 CSE 131
CSE 120 CSE Tech Elec CSE Tech Elec
CSE Tech. Elec GE GE
GE    
SENIOR YEAR
CSE Tech. Elec CSE Tech Elec CSE Tech Elec
GE GE GE
GE GE GE
Notes for Selecting and Scheduling Classes for BA Computer Science

(All courses must be taken for a letter grade.)

  1. Advisory placement exam: Students may self-select which course they wish to take and are encouraged to take the advisory placement exam to help decide. Students with little computer experience are encouraged to take CSE 3. Students without experience in programming in a compiled language are advised to take CSE 8A and CSE 8AL, and then CSE 8B, instead of CSE 11. CSE 11 is a faster-paced version of CSE 8A, CSE 8AL, and CSE 8B. CSE 8B or CSE 11 must be taken before CSE 12.
  2. Computer Science Advanced Placement Credit: A Exam (Java Programming) two units
    • Score of 4 exempts CSE 8A and CSE 8AL. Student should take CSE 11.
    • Score of 5 exempts CSE 11. Student should take CSE 12.
  3. CSE 8A/8AL, or CSE 8B, or CSE 11 may be taken concurrently with CSE 20/Math 15A, Please obtain department approval for enrollment permission in CSE 20/Math 15A at ugradinfo@cs.ucsd.edu.
  4. CSE 15L and CSE 70 were new courses as of fall 2007.
  5. CSE 15L must be taken prior to or concurrently with CSE 12.
  6. Effective fall 2010, CSE 70 was renumbered to CSE 110.
  7. Effective fall 2010, students must complete seven technical electives. Four of the seven technical electives must be CSE upper-division courses. Students can use a CSE graduate course for technical elective credit with approval. Once a graduate course is used for an undergraduate degree that course may not be reused for a graduate degree. In addition, only four units of CSE 197 may be used toward technical elective credit.
  8. Students may take use up to eight units of CSE 198, CSE 199, or CSE 199H to meet the CSE upper-division technical requirement.
  9. Two of the technical electives may be chosen from a list of approved electives. This list is at http://www.cse.ucsd.edu/undergrad/degreeprograms/electives.html. If you want to deviate from this list of approved electives, you must petition the CSE student adviser at ugradinfo@cs.ucsd.edu.

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

  1. At most four units of CSE 197 may be used towards technical elective requirements.
  2. CSE 195 cannot be used towards course requirements.
  3. Undergraduate students must get instructor’s permission and departmental stamp to enroll in a graduate course.
  4. Students may not get duplicate credit for equivalent courses.
  5. The UC San Diego General Catalog should be consulted for equivalency information and any restrictions placed on the courses.
  6. 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 100, Team Engineering Laboratory 100L, Team Engineering 101.

Computer Science and Computer Engineering

Students are eligible to receive six units of technical elective credit for completing a combination of ENG 100 (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. With this combination, students will get credit for one technical elective. To receive credit for two technical electives, students must complete one more quarter of ENG 100L. This credit can be applied to fulfill the technical elective requirements.

Music

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

Psychology

Introduction to Engineering Psychology 161.

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.

Eligibility for Admission

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

Application Procedure

To apply for admission to the CSE Honors Program, students must submit a formal application that includes the following information:

The application form is available online from the CSE department website and from the CSE undergraduate advising office. 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:

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

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. Students have many opportunities for fulfilling this requirement:

The faculty adviser can also provide an alternative presentation opportunity.

Unit Considerations

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 technical elective courses for their major. Students may also apply unit credit in CSE 199H towards the cluster requirement in the undergraduate program.

Minor and Program of Concentration

Program Description

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.

The CSE minor requires successful completion of a total of eight CSE courses taken for a letter grade. Lower-division courses are CSE 8B or CSE 11, CSE 12, CSE 20, and CSE 21.The remaining four CSE courses are CSE 100, and three additional CSE upper-division courses subject to enforcement of prerequisites.

CS Minor

Three-year plan for students starting with CSE 8A

FALL WINTER SPRING
1st Year
CSE 8A and
CSE 8AL
CSE 8B CSE 12
2nd Year
CSE 20 CSE 21  
3rd Year
CSE 100 CSE Elective CSE Elective
CSE Elective    
CS Minor

Three-year plan for students starting with CSE 11

FALL WINTER SPRING
1st Year
CSE 11 CSE 20 CSE 12
2nd Year
CSE 21   CSE 100
3rd Year
CSE Elective CSE Elective CSE Elective
Scheduling Notes

Students without any programming experience are advised to take CSE 3 and CSE 5A before taking CSE 8A and CSE 8AL. Concurrent enrollment is required in CSE 8A and CSE 8AL. Students may also start with CSE 11, but they should be aware that CSE 11 is a faster-paced version of CSE 8A, CSE 8AL, and CSE 8B, and requires experience in programming with a compiled language.

Students should consult their college provost’s office concerning the rules for the minor or program of concentration.

Restriction

Effective fall 2000, mathematics/computer science majors will not be allowed the minor in computer science.

Computing Courses for Nonmajors

The department offers a slow-pace course providing a practical introduction to computers, computation, and programming: CSE 5A—an introduction to structured programming using the C/Java programming language. We also offer an introduction in fluency in information technology: CSE 3—an introduction to basic information students need to deal with information technology. It is more of a concepts course than a programming course, but some simple programming will be done as part of the teaching of concepts.

Admission to Major

Freshmen Students

Freshmen students are invited to declare the CSE computer science, computer engineering, or computer science with a specialization in bioinformatics major. Starting fall 2008 the Department of CSE removed the “Impacted/Closed Status” and admission restrictions for freshmen applicants. This means the Department of CSE will accept all students that apply to the Department of CSE and are admitted by the UC San Diego Admissions Office.

Furthermore, freshmen students that start at UC San Diego as undeclared or in another major may also switch into a computer science or computer engineering major. Students may use the Major/Minor link under Tools at http://tritonlink.ucsd.edu to make this change.

Major choices for your selection

BA Computer Science (CS28)

BS Computer Science (CS26)

BS Computer Science with a Specialization in Bioinformatics (CS27)

BS Computer Engineering (CS25)

Admission to the department as a major, transfer, or minor is in accordance with the general requirements established by the Jacobs School of Engineering.

Transfer Students

Transfer students are invited to declare the CSE computer science, computer engineering, or computer science with a specialization in bioinformatics majors. Starting fall 2008 the Department of CSE removed the “Impacted/Closed Status” and admission restrictions for transfer applicants. This means the Department of CSE will accept all students that apply to the Department of CSE and are admitted by the UC San Diego Admissions Office.

Furthermore, transfer students that start at UC San Diego as undeclared or in another major may also switch into a computer science or computer engineering major. Students may use the Major/Minor link under Tools at http://tritonlink.ucsd.edu to make this change.

Major choices for your selection

BA Computer Science (CS28)

BS Computer Science (CS26)

BS Computer Science with a Specialization in Bioinformatics (CS27)

BS Computer Engineering (CS25)

Preparation for Success

To reduce the amount of time needed to complete degree requirements, transfer students should try to complete as many prerequisite courses they can take at a community college before starting at UC San Diego.

Recommended courses and recommended 3.0 GPA

BS in Computer Science with a Specialization in Bioinformatics

Freshmen and transfer students are invited to declare the CSE bioinformatics major. Starting fall 2008 the Department of CSE has removed the “Impacted/Closed Status” and admission restrictions for freshman and transfer applicants. This means the Department of CSE will accept all students that apply to the Department of CSE and are admitted by the UC San Diego Admissions Office.

Furthermore, freshmen and transfer students that start at UC San Diego as undeclared or in another major may also switch into the BS in Computer Science with a Specialization in Bioinformatics major (major code CS27). Students may use the Major/Minor link under Tools at http://tritonlink.ucsd.edu to make this change.

It is strongly recommended that students meet with an adviser in the Department of CSE to discuss requirements for the bioinformatics program.

Advanced Placement Credit: Application to Major Requirements

Effective January 14, 2005, the following CSE advanced placement equivalencies have been approved (a four-unit maximum for both tests).

Enrollment in CSE courses

All CSE and non-CSE majors may enroll in lower- and upper-division CSE courses. Students must meet course prerequisites.

Please note: Student demands exceed capacity in many CSE graduate courses. Accordingly, many CSE graduate courses may have enrollment restrictions, which give priority to students in the following order:

  1. CSE MS and CSE PhD students.
  2. All others, with permission of the Department of Computer Science and Engineering.

Enrolling in Upper-Division Courses

The Department of Computer Science and Engineering will attempt to provide sufficient sections of all lower-division courses. Students will, however, be screened to ensure that they meet all course enrollment restrictions.

Admission to upper-division courses will be restricted to students having completed all prerequisites with a C– or better (or consent of the instructor.) You may also contact ugradinfo@cs.ucsd.edu for more information.

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 see a CSE undergraduate program adviser to discuss appropriate courses and programs for their plan of study. The advising office is located in Engineering Building Unit #3 (EBU 3B), Room 1231.

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

Graduation Requirements

All major requirements and technical electives except CSE 197, 198, or 199 must be taken for a letter grade. To graduate, a grade-point average of 2.0 will be required in upper-division courses in the major, including technical electives. In addition, each student must satisfy general-education course requirements determined by the student’s college, as well as major requirements determined by the department. The five colleges at UC San Diego require widely different numbers of general-education courses. Each student should choose his or her college carefully, considering the special nature of the college and breadth of education, realizing that some colleges require considerably more courses than others.