Computer Science and Engineering (CSE)

OFFICES:
Undergraduate Affairs Room 1200D
Graduate Affairs Room 1200D
Engineering Building Unit 3B, Warren College
http://www.cse.ucsd.edu

Professors

Courses

The Undergraduate Programs

The Department of Computer Science and Engineering offers computer science and computer engineering curricula leading to the degrees in B.S. in Computer Science, B.S. In Computer Engineering, B.A. In Computer Science, and B.S. In Computer Science with a specialization in Bioinformatics. These programs prepare students for graduate study in these fields as well as immediate employment. The B.A. degree is intended to provide a more flexible program of study allowing significant studies beyond computer science and engineering.

These degrees are four-year endeavors. Students in the B.S. programs need to enroll in no more than sixteen units per quarter during their junior and senior years to meet their major requirements. The B.A. program has fewer major requirements. In addition, each student must satisfy general-education course requirements determined by the student’s college.

B.S. Computer Science Program

The lower-division B.S. 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 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 admission to the program.

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

1. Lower-Division Requirements

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

Computer Science and Engineering: CSE 8B or 11, 12, 20 or Math. 15A, CSE 21 or Math. 15B, CSE 30, and CSE 91; twenty-one units.

Note: Students without any 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-B-C-D and 20F; twenty units.

Physics: Phys. 2A-B-C; 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.

Physics Lab: Phys. 2BL or 2CL or 2DL; two units. The lab course should be taken concurrently with the Phys. 2 or Phys. 4 sequence.

Introduction to Electrical Engineering: ECE 53A-B; eight units. ECE 53A-B are courses that give a comprehensive introduction to electrical engineering.

Probability and Statistics: Math.183; four units.

Science/Mathematics Elective: Students are required to take one of the following four-unit science/mathematics courses: Phys. 2D, Math. 20E(2F), Chem. 6A, BILD 1, 10, 12, 14, 30.

2. Upper-Division Requirements

All B.S. Computer science students are required to take CSE 100 or Math. 176, CSE 101 or Math. 188, CSE 105 or Math. 166, CSE 120, 130, 131A-B, 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

B.S. Computer science students are required to take six technical electives for a total of twenty-four units. Four electives must be computer science and engineering upper-division or graduate courses.

The remaining two 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. B.S. Computer Science, Sample Program

FALL

WINTER

SPRING

FRESHMAN YEAR

   

CSE 8A, CSE 8AL, or CSE 11

CSE 12

CSE 20 or Math. 15A

Math. 20A

Math. 20B

Math. 20C

GE

Phys. 2A

Phys. 2B

CSE 91

GE

GE

SOPHOMORE YEAR

   

CSE 21 or Math. 15B

Sci/Math. Elec.

CSE 30

Math. 20D

Math. 20F

Math. 183

GE

ECE 53A

Phys. 2BL or 2CL or 2DL

GE

Phys. 2C

ECE 53B

JUNIOR YEAR

   

CSE 100 or Math. 176

CSE 101 or Math. 188

CSE 120

CSE 140

CSE 141

CSE 130

CSE 140L

CSE 141L

CSE Tech. Elec.

CSE 105 or Math. 166

CSE Tech. Elec.

GE

GE

GE

 

SENIOR YEAR

   

CSE 131A

CSE 131B

CSE Tech. Elec.

CSE Tech. Elec.

Tech. Elec.

Tech. Elec.

GE

GE

GE

B.S. Computer Engineering Program

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

The B.S. 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 admission to the program.

B.S. Computer engineering program requires a total of 147 units (not including the general-education requirements). There are three varieties of requirements: lower-division, upper-division, and technical electives.

1. Lower-Division Requirements

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

Computer Science and Engineering: CSE 8B or 11, 12, 20 or Math. 15A, CSE 21 or Math. 15B, CSE 30, and CSE 91; twenty-one units.

Note: Students without any 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-B-C-D and 20F; twenty units.

Physics: Phys. 2A-B-C-D; sixteen 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-D for Phys. 2A-B-C-D.

Physics Lab: Phys. 2BL or 2CL or 2DL; two units. The lab courses should be taken concurrently with the Phys. 2 or Phys. 4 sequence.

Introduction to Electrical Engineering: ECE 53A-B; eight units. ECE 53A-B are courses that give a comprehensive introduction to electrical engineering.

Probability and Statistics: ECE 109; four units. This course can be taken in the sophomore year.

2. Upper-Division Requirements

All B.S. Computer engineering students are required to take CSE 100 or Math. 176, CSE 101 or Math. 188, CSE 105 or Math. 166, CSE 120, 131A-B, 140, 140L, 141, and 141L; thirty-six units.

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

Linear Systems: ECE 101, ECE 171A or 161A; eight units. The department recommends that these courses be taken in the junior year.

Electronic Circuits and Systems: ECE 102, ECE 108; eight 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, CSE 105 or Math. 166, and/or CSE 140 and 140L in the sophomore year.

3. Technical Electives

All B.S. Computer engineering students are required to take six technical electives for a total of twenty-four units. One of these courses must be either ECE 111 or ECE 118. Of the remaining five courses, four 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. B.S. Computer Engineering, Sample Program

FALL

WINTER

SPRING

FRESHMAN YEAR

   

CSE 8A, CSE 8AL, or CSE 11

CSE 12

CSE 20 or Math. 15A

Math. 20A

Math. 20B

Math. 20C

GE

Phys. 2A

Phys. 2B

CSE 91

GE

GE

SOPHOMORE YEAR

   

CSE 21 or Math. 15B

Math. 20F

CSE 30

Math. 20D

ECE 53A

ECE 53B

Phys. 2C

ECE 109

Phys. 2D

GE

GE

Phys. 2BL or 2CL or 2DL

JUNIOR YEAR

   

CSE 100 or Math. 176

CSE 101 or Math. 188

CSE 105 or Math. 166

CSE 140

CSE 141

CSE 120

CSE 140L

CSE 141L

(Req. Tech. Elec.-ECE 111 or ECE 118)

ECE 102

ECE 108

GE

GE

GE

 

SENIOR YEAR

   

CSE 131A

CSE 131B

ECE 171A or 161A

ECE 101

CSE/ECE Tech. Elec.

CSE/ECE Tech. Elec.

CSE/ECE Tech. Elec.

CSE/ECE Tech. Elec

Tech. Elec.

GE.

GE

GE

B.S. 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 will be offered by three other programs (Division of Biology, 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, 64 units: Students are expected to complete all lower-division requirements by the end of their sophomore year.

  1. Math. 20A, 20B, 20C, 20F, (16 units)
  2. Chemistry 6A, 6B, 6C, and one 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. Physics 2A, 2B, 2C (12 units)
2. Upper-Division Requirements

Upper-division requirements, 88 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. Chemistry 140A–140B (Organic Chemistry), (8 units)
  4. Chemistry 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 Chemistry 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 Chemistry 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, 134A
    Group II: CSE 105, 150, 151, Math. 184A
    Group III: CSE 132A, 132B, 133

    The bioinformatics series comprised of the following six courses, 24 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. B.S. Computer science with a specialization in bioformatics, 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

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

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

3 CSE 30 prerequisite will be waived.

4 New 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).

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

B.A. Computer Science Program

The B.A. 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 B.A. Computer science program serves those students desiring more time for undergraduate studies outside their major subject.

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

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 11, 12, 20 or Math. 15A, CSE 21 or Math. 15B, CSE 30, and CSE 91; twenty-one units.

Note: Students without any 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-B-C-D and 20F; twenty units.

Physics: Phys. 2A-B-C; 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.

2. Upper-Division Requirements

All B.A. Computer science students are required to take CSE 100 or Math. 176, CSE 101 or Math. 188, CSE 105 or Math. 166, CSE 120, 131A, 131B, 140, 140L, 141, and 141L; thirty-six 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

B.A. Computer science students are required to take four technical electives for a total of sixteen units. Of these four electives, at least two must be computer science and engineering upper-division or graduate courses.

The remaining two 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. B.A. Computer Science, Sample Program

FALL

WINTER

SPRING

FRESHMAN YEAR

   

CSE 8A, CSE 8AL, or CSE 11

CSE 12

CSE 20 or Math. 15A

Math. 20A

Math. 20B

Math. 20C

GE

Phys. 2A

Phys. 2B

CSE 91

GE

GE

SOPHOMORE YEAR

 

CSE 21 or Math. 15B

Math. 20F

CSE 30

Math. 20D

GE

GE

Phys. 2C

GE

GE

JUNIOR YEAR

   

CSE 100 or Math. 176

CSE 101 or Math. 188

CSE 120

CSE 140

CSE 141

CSE Tech. Elec.

CSE 140L

CSE 141L

GE

CSE 105 or Math. 166

GE.

GE

SENIOR YEAR

   

CSE 131A

CSE 131B

Tech. Elec.

CSE Tech. Elec.

Tech. Elec.

 

GE

   

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.

At most four units of CSE 197, 198, or 199 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 UCSD 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.

Mathematics: All upper-division courses except Math. 168A-B, 179A-B (Math. 183—Computer Engineering majors only), 184A-B, 189A-B, 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, Semantics 150, Language Comprehension 153, Natural and Artificial Symbolic Representational Systems 170, Neural Network Models of Cognition II 181, Artificial Intelligence Modeling II 182, Representation, Search, and the Web 188.

Students may not get credit for both CSE 150 and Advanced Programming Methods for Cognitive Science 108F or for both CSE 151 and Artificial Intelligence Modeling II 182.

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, Game Theory 109, Macroeconomics 110A-B, Mathematical Economics 113, Econometrics 120A-B-C, Applied Econometrics 121, Management Science Microeconomics 170A-B, 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.

At most 2 units of ENG 100 and 6 units of ENG 100L will be allowed.

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

Psychology: Engineering Psychology 161

Minor and Program of Concentration

The CSE minor requires successful completion of a total of nine CSE courses. To be admitted into the minor, students must have a 2.5 GPA and a C– or better in CSE 8B or 11, 12, 20, 21, 30. The remaining four CSE courses are CSE 100, CSE 101, and two additional CSE upper-division courses subject to enforcement of prerequisites. In order for the minor to be awarded students must receive an average 2.0 GPA in the upper-division courses.

Note: Students without any 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.

Students should consult their college provost’s office concerning the rules for the minor or program of concentration. Because our undergraduate program is highly impacted, winter or spring enrollment is recommended for CSE 8A or CSE 8B or CSE 11.

Effective Fall 2000, Mathematics/Computer Science Majors will not be allowed the Minor in Computer Science.

Computing Courses for Non-Majors

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

Freshman students who have excelled in high school and have declared CSE on their application will be directly admitted by the dean of the School of Engineering into their major. The only way to become a computer science (CS) or computer engineering (CE) major is to be directly admitted as an entering freshman (transfer students see TRANSFER STUDENTS section below) These students will be notified directly of their status.

Because of heavy student interest in departmental programs, and the limited resources available to accommodate this demand, maintenance of a high quality program makes it necessary to limit enrollments to the most qualified students.

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

TRANSFER STUDENTS

The B.S. or B.A. In Computer Science and the B.S. In Computer Engineering are heavily impacted majors and admission is limited to applicants who have demonstrated a high level of achievement commensurate with the prospect of success in these majors. Successful applicants must have completed substantial training at the community college and must have achieved a high level of academic performance there. For example, the required minimum of 90 quarter transfer units must include 18 quarter units of calculus, 12 quarter units of calculus-based physics, and the highest level computer science course offered at their community college.

Effective fall 2001 applicants seeking admission as transfer students will be considered for direct admission into the Computer Science (CS) or Computer Engineering (CE) majors in the Department of Computer Science & Engineering (CSE). The only way to become a computer science (CS) or computer engineering (CE) major is to be directly admitted as an entering transfer student. Although the actual required GPA cutoff depends on the number of openings, at least a 3.2 GPA in the community college transfer courses, and a 3.4 GPA in math, physics and computer science courses, are likely to be needed to gain admission. Transfer students who have declared pre-CSE will be considered for direct admission to the major.

Effective fall 2004, it is strongly recommended that transfer students complete the following course preparation for engineering majors*:

  • 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)
  • Linear Algebra (Math. 20F)
  • Complete calculus-based physics series with lab experience (Physics 2A-B-C)
  • Chemistry 6A (except computer science and computer engineering majors)
  • Highest level of introductory computer programming language course offerings at the community college**

*Effective fall 2006, these courses will be required preparation for all engineering transfer students.
**Refer to the UCSD General Catalog to select major prerequisite requirement for computer language courses.

CONTINUING UCSD STUDENTS
Exceptional Admission Program

The computer science and engineering department may periodically grant admission to the Computer Science (CS) or Computer Engineering (CE) majors to a small number of academically exceptional UCSD undergraduate students who were not admitted to these majors as entering students. Exceptional admission will be considered for students having an overall UCSD GPA of 3.5 or better who have taken at least two CSE, math, or science courses demonstrating special aptitude for the CS or CE curriculum. Applications for exceptional admission must include submission of a course plan demonstrating ability to satisfy graduation requirements and a personal statement addressing the applicant’s motivation to join the CS or CE major, in addition to other criteria established by the department. (For admission into the B.S. In Computer Science with specialization in Bioinformatics, please see the following section: Admission into B.S. In Computer Science with specialization in Bioinformatics).

Admission into B.S. In Computer Science with a specialization in Bioinformatics

Since the number of pre-majors and majors will be limited as described in the section on bioinformatics, student demand may exceed capacity. Therefore, admission to the specialization is not guaranteed and will be based on academic excellence, as described below. Since bioinformatics is an interdisciplinary major, a steering committee involving faculty from the participating departments will select among the best candidates applying and recommended through each department, while insuring active participation of the departments and divisions offering the major. The final decision on admission to the pre-major and major will be made by the Bioinformatics Steering Committee, in consultation with the departments. The application is found at http://www.cse.ucsd.edu/undergrad/admissions/admissionshome.html, or see the CSE department at EBU 3B, Room 1200D.

Freshmen and Continuing Students

Students (freshmen or continuing UCSD students) will be admitted into one of our existing undergraduate majors (B.A. Computer Science, B.S. Computer Science, and B.S. Computer Engineering) through the direct admission process or through the exceptional admission program. Students will then have the option of trying to enter the bioinformatics program by applying for the bioinformatics pre-major (while still retaining their current major status) once they complete the first four screening courses (Math 20B, Math 21C, BILD 1, Chem 6A). Students will then formally apply to the bioinformatics major upon completion of the remaining screening courses CSE 11 and CSE 12. If admitted, students will become bioinformatics majors in CSE. If not, they can continue in their current CSE major.

Transfer Students

Transfer students will be admitted into one of our existing undergraduate majors (B.A. Computer Science, B.S. Computer Science, and B.S. Computer Engineering) through the direct admission process or through the exceptional admission program. Effective fall 2003, CSE transfer students can directly apply to the bioinformatics major if they completed the following courses prior to transferring to UCSD.

  • A year of calculus (equivalent to Math 20A-B-C at UCSD)
  • A year of general chemistry, with lab (equivalent to Chem 6A, 6B/6BL and Chem 6C at UCSD)
  • The highest level programming course offered at the community college (equivalent to CSE 11 and CSE 12 at UCSD)
  • One semester of cell biology (equivalent to BILD 1 and BILD 2 at UCSD)

Those who have not completed the above courses may be admitted as bioinformatics pre-majors and will be allowed a maximum of three quarters to complete pre-major requirements. Students will then formally apply to the bioinformatics major upon completion of the remaining screening courses CSE 11 and CSE 12. If admitted, students will become bioinformatics majors in CSE. If not, they can continue in their current CSE major. Transfer students are encouraged to complete these requirements at the community college.

Enrollment in CSE courses

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

  1. CSE majors, CSE M.S., and CSE Ph.D. students.
  2. CSE pre-majors, and ECE CE majors and pre- majors, and Math-CS majors. CSE pre-major status is conferred to transfer students and to those students admitted prior to fall 1998.
  3. Students fulfilling a non-elective requirement in another program.
  4. CSE minors.
  5. All other majors or pre-majors in other SOE departments.
  6. All others, with permission of the department of Computer Science and Engineering.

Where these restrictions apply, the registrar will not enroll low-priority students in the course.

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.) Courses have enrollment restrictions which give priority in the following order: students admitted by the department to a major or minor curriculum; students fulfilling a requirement for another major; all others. Within these categories, priority is determined on the basis of graduation date and/or credits completed. Where these restrictions apply, the registrar will not enroll nonmajors except by department approval. Students who are undeclared will not be admitted to upper-division computer science and engineering courses.

Those students not in compliance with the above restrictions should be forewarned that they will automatically be dropped from course rosters (at any time during the quarter) when it comes to the attention of the department that a student is enrolled in a course without being eligible because of restrictions and/or the performance standards have not been met. Admission to all computer science and engineering courses will require obtaining either authorization through StudentLink or department stamps on an add/drop card, and it will be given only by the student affairs personnel.

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

Five-year Bachelor’s—Master’s Program

Undergraduate students in the Department of Computer Science and Engineering who are enrolled in the B.S. Or B.A. Computer science or B.S. Computer engineering degree programs, and who have a cumulative GPA of a 3.4 and also a GPA of 3.4 in at least seven core courses, are eligible to apply for the Five Year Bachelor’s-Master’s Degree Program. The deadline to apply is the fourth week of the fourth quarter before graduation. Acceptance into this program is an honor which carries with it practical benefits—the graduate application process is simplified (no GREs required), students accepted into this program can be admitted fall, winter, and spring quarter, based upon availability of openings in the program. Advanced students are given access to graduate level courses and have the opportunity to do graduate level research earlier under the direct supervision of UCSD’s faculty, and students are able to complete the B.A., B.S., and M.S. degree within a five-year time period. Courses taken can be used toward either the B.A., B.S., Or M.S. degree, but not counted toward both degrees. Additional information and applications can be obtained by contacting the CSE Student Affairs Office, EBU 3B, Room 1200D.

The Graduate Program

The graduate program offers master of science and doctor of philosophy degrees in computer science and computer engineering. To be accepted into either course of study, a student must have a B.A./B.S. Degree in computer science, computer engineering, or a related area.

The graduate program is concerned with fundamental aspects of computation; emphasis is divided among the areas of theory, hardware, software systems, and artificial intelligence. The computer engineering specialization places a greater emphasis on hardware and the design of computer systems.

Admission to the graduate program is done through the Office of Graduate Admissions, Department of CSE. Deadline for application is January 3. Admissions are always effective the following fall quarter. For admission requirements, please refer to the departmental Web page: http://www-cse.ucsd.edu/graduate/

Admission decisions for the M.S. and Ph.D. Programs are made separately. An M.S. student who wishes to enter the Ph.D. Program must submit a new application to the CSE admissions committee.

Computer Science Program

Master of Science Program

The department offers the master of science degree in computer science. The degree can be pursued under either the Thesis Plan I or the Comprehensive Examination Plan II. Each plan requires forty-nine units of work. For full-time students, all the requirements must be completed within two years. Students with an adequate background in computer science can complete the M.S. program within four to five quarters of full-time study.

Thesis or Comprehensive Exam

There are two plans of study for the master’s degree: Plan I, in which the student writes a thesis, and Plan II, in which the student takes a set of comprehensive exams.

Plan I: Thesis Option, No Comprehensive Exam

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

Plan II: Comprehensive Examination, No Thesis

Under this plan, the student must pass a written comprehensive examination designed to test the student’s knowledge in basic computer science material. The examination can normally be passed with a thorough knowledge of topics covered in the undergraduate and first-year graduate computer science programs. It is offered every year in the first few weeks of the fall quarter and in the first few weeks of the spring quarter. Each student is allowed three attempts to pass the examination. The student must secure at least a master’s-level pass in the written comprehensive examination. More information regarding the comprehensive examination can be found in a separate document provided by the CSE graduate office.

In particular, the written examination is structured around the three CSE core areas: algorithms and data structures; operating systems; and computer architecture and digital logic design.

Required Courses

Students entering the M.S. Program in Computer Science will choose an area of concentration from among fourteen areas. Each concentration is an area in which the faculty has significant research expertise.

The typical concentration is a collection of three courses which are designed to give the student in-depth training in the chosen field. Additionally, to ensure breadth, all students are required to take four core courses.

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

CSE 202. Algorithms Design and Analysis
CSE 221. Operating Systems
CSE 240A. Principles of Computer Architecture
CSE 292. Faculty Research Seminar

The department expects to offer concentrations in the following areas:

Artificial Intelligence
Communication Networks
Computer Architecture and Compilers
Computer Graphics and Vision
Cryptography and Security
Databases
Design Automation for Microelectronic Designs
Distributed and Fault-Tolerant Computing
Embedded Systems and Software
Multimedia Systems
Parallel and Scientific Computing
Software Engineering
Storage Systems
Ph.D. Preparation

The specific courses involved in each of the concentrations are detailed in a separate bulletin which is available in the Graduate Student Affairs Office, 3402 AP&M.

Project

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

Electives

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

Computer Engineering Program

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

Master of Science Program

The degree can be pursued under either the Thesis Plan I or the Comprehensive Examination Plan II. Each plan requires forty-nine units of work. For full-time students, all the requirements must be completed within two years. Students with an adequate background in computer engineering can complete the M.S. program within four to five quarters of full-time study.

Plan I: Thesis Option, No Comprehensive Exam

This plan of study involves both course work and research, culminating in the preparation of a thesis. A total of forty-nine units of credit is required, as follows:

Core Courses

The following core courses must be completed with an average grade of B and no grade below B–:

Three Software Courses:

CSE 202
CSE 221
CSE 231

Three Hardware Courses:

CSE 240A
ECE 260A
CSE 243A or CSE 244A or CSE 244B or ECE 251A

Two Analysis Courses:

CSE 200
CSE 222A or ECE 257A

and:

CSE 292

Electives

Students must elect at least four technical units among graduate courses within the Departments of AMES, CSE, ECE, Mathematics, and Physics.

Thesis

Twelve units of CSE 298 must be taken with a faculty member in CSE or ECE who agrees to act as adviser for the thesis to fulfill the research requirement.

A thesis based on research must be written and subsequently reviewed by a committee, consisting of three faculty members, with at least two members from within the CSE department. The committee is appointed by the dean of Graduate Studies.

Plan II: Comprehensive Examination, No Thesis

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

The written examination is structured around the following three CSE core areas: algorithms and data structures; operating systems; and computer architecture and digital logic design.

Core Courses

Three Software Courses:

CSE 202
CSE 221
CSE 231

Three Hardware Courses:

CSE 240A
ECE 260A
CSE 243A or CSE 244A or CSE 244B or ECE 251A

Two Analysis Courses:

CSE 200
CSE 222A or CSE 257A

and

CSE 292

Electives

Students must elect at least twelve technical units among graduate courses within the Departments of MAE, CSE, ECE, Mathematics, and Physics.

Project

Four units of CSE 293.

Comprehensive Examination

The comprehensive examination is designed to test the student’s knowledge in basic computer science and engineering material. The examination can normally be passed with a thorough knowledge of topics covered in the undergraduate and the first-year graduate computer science or computer engineering programs.

It is offered every year in the first few weeks of the fall quarter and in the first few weeks of the spring quarter. If fewer than seven people sign up, then the department may cancel the examination in the spring quarter. Each student is allowed three attempts to pass the examination. The student must secure at least a master’s-level pass in the written comprehensive examination.

This examination is the same for both the computer science and the computer engineering graduate programs. More information about the comprehensive examination can be obtained in a separate document from the CSE graduate office.

Doctoral Programs

Ph.D. Degree Programs in Computer Science and Computer Engineering

CSE offers doctor of philosophy degrees in computer science and in computer engineering, providing a research-oriented education in preparation for a research, industrial, or entrepreneurial career. These programs explore both the fundamental aspects and application of computation, spanning theory, software, hardware, and applications. Our particular areas of research expertise include:

  • algorithms
  • artificial intelligence
  • bioinformatics
  • complexity theory
  • computer architecture/compilers
  • VLSI/CAD and embedded systems
  • databases and information management
  • distributed systems and networking
  • graphics and vision
  • high performance computing
  • mobile computing
  • security and cryptography
  • software engineering
COMPETENCY REQUIREMENT

We consider command of the materials covered in the following courses to be an adequate background for the Ph.D. Program The competency requirement is intended to ensure that Ph.D. Students already have or acquire this undergraduate background. Students, who do not have this background at the time of entry, may be asked to either enroll in the following undergraduate class or to study it independently and demonstrate their knowledge by obtaining a B+ or better in the class or in the final exam.

CSE 101 (Algorithms)
CSE 105 (Theory of Computation)
CSE 120 (Principles of Computer Operating Systems)
Two of the following three courses:
CSE 130, 131A-B (Programming Languages/Compilers)
CSE 141 (Introduction to Computer Architecture)

COURSE REQUIREMENTS

The course requirement is intended to ensure that students are exposed to fundamental concepts and tools (core requirement), a deep up-to-date view of their research area (depth requirement), and advanced, up-to-date view of the some topics outside their area (breadth requirement). Ph.D. Students are expected to complete the core, depth, and breadth requirements in the first two years of the program. All required coursework must be taken for a letter grade except for CSE 291 (Topics in CSE), CSE 292 (Faculty Research Seminar), CSE 299 (Research), and CSE 500 or CSE 501 (Teaching Assistantship) for which only S/U grades are allowed.

Units obtained from a single course cannot count more than once towards satisfying the requirement in each of the core, depth, breadth, and elective areas. Ph.D. Students who have taken similar courses elsewhere may petition for a waiver of the required courses or for substitution by alternative courses.

Core Requirements

The core requirements ensure that the Ph.D. Students share knowledge of fundamental concepts and tools. Each Ph.D. student must take these courses for letter grade and maintain an overall core course GPA of 3.4 with no grade lower than a B- (except for CSE 292, for which a letter grade is not assigned). A student will typically complete all the core courses within the first year of graduate study, and must complete all core courses within two years of entry.

CSE 202 (Algorithms)
CSE 221 (Operating Systems)
CSE 240A (Architecture)
CSE 200 (Complexity) for Computer Science
or CSE 241A (Introduction to Computing Circuitry) for Computer Engineering
CSE 292 (Faculty Research Seminar)

Depth Requirements

The depth requirement ensures that a Ph.D. Student has, early on in his or her career, acquired some depth of knowledge in a general research area. Each Ph.D. Student must select one of the following areas as his or her major area. The student must take three courses (12 units) from this major area. The student must take these courses for letter grade and maintain an overall depth course GPA of 3.4 with no grade lower than B- in these courses. One of these three courses can be Topics in CSE (CSE 291) or Independent Study (CSE 299), which are not taken for a letter grade. The department will maintain a list of appropriate courses for each major area.

The major areas are:
Theoretical Computer Science
Programming Languages, Compilers, and Software Engineering
Computer Systems
Database Systems
Computer Engineering
Artificial Intelligence

Breadth Requirements

Research in computer science and engineering is increasingly interdisciplinary, and acquiring a broader view of the field in general is important. Each Ph.D. Student must take three courses (12 units) from at least two other areas different from the major area. Courses must be taken for letter grade and students must maintain an overall breadth course GPA of 3.0 with no grade lower than B- in these courses. Units obtained in CSE 209 series, 229 series, 239 series, 249 series, 259 series, 269 series, 279 series, 289 series, 290, 292, 293, 294, 298, 291, 299, 500, 501, and 599 do not count toward the breadth requirement.

Electives

In addition to the above required course work, each student is expected to take two additional courses (8 units). Students must obtain no grade lower than C- in these courses. Undergraduate upper-division courses, CSE 291, and CSE 299 may fulfill this requirement. Units obtained in CSE 209 series, 229 series, 239 series, 249 series, 259 series, 269 series, 279 series, 289 series, 290, 292, 293, 294, 298, 500, 501, and 599 do not count toward the elective requirement.

RESEARCH EXAM REQUIREMENT

The research exam is intended to verify three components of the student’s preparation for Ph.D. research: (1) breadth of comprehension sufficient to enable computer science research in areas beyond the topic(s) of the research exam and thesis; (2) ability to perform critical study, analysis, and writing in a focused area; and (3) research experience.

The research exam has both an oral part and a written part. The oral part of the research exam is distinct from, and cannot be combined with the University Qualifying Exam. Grading criteria for each part, and standards for passing, are available from the CSE department graduate office.

The research exam is conducted by a committee of three faculty members approved by the Graduate Committee and the chair of the department. At least two committee members must be CSE senate faculty, and the student’s adviser must be a member of the committee. The normative time for passing the research exam is by the end of the second year of study; the exam must be passed by the end of the third year if the student is to continue in the Ph.D. Program Passing the research exam enables a Ph.D. Student to receive the M.S. degree. Ph.D. Students who do not pass the exam after two attempts will be given the opportunity to write a thesis in order to receive a terminal M.S. degree. The M.S. degree is only granted to those students who do not already hold an M.S. degree prior to entering the CSE department at UCSD.

TEACHING ASSISTANT REQUIREMENT

All students enrolled in the Ph.D. Program must have one quarter of training as a teaching assistant. This is a formal degree requirement and must be completed before the student is permitted to graduate. The requirement is met by serving as a 50 percent teaching assistant and taking either CSE 500 or CSE 501(Teaching Assistantship).

QUALIFYING EXAMINATION AND ADVANCEMENT TO CANDIDACY

The qualifying examination is a requirement for advancement to candidacy. Prior to taking the qualifying examination a student must have satisfied the departmental competency, course, and research exam requirements and must have been accepted by a CSE faculty member as a Ph.D. thesis candidate. All doctoral students are expected to advance to candidacy by the end of their third year, and advancement is mandatory by the end of the fourth year. The examination is administered by a doctoral committee appointed by the dean of Graduate Studies and Research and consists of faculty from CSE and other departments. More information on the composition of the committee can be obtained from the CSE graduate office. The examination is taken after the student and his or her adviser have identified a topic for the dissertation and an initial demonstration of feasible progress has been made. The candidate is expected to describe his or her accomplishments to date as well as future work.

DISSERTATION

The dissertation defense is the final Ph.D. examination. A candidate for the Ph.D. is expected to write a dissertation and defend it in an oral examination conducted by the doctoral committee.

DEPARTMENTAL Ph.D. TIME LIMIT POLICIES

Students must be advanced to candidacy by the end of four years. Total university support cannot exceed seven years. Total registered time at UCSD cannot exceed eight years.

FINANCIAL AID

Financial support is available to qualified graduate students in the form of fellowships, loans, and assistantships. Anticipated stipends for half-time research assistantships are $1573 per month, with the possibility of full-time employment during the summer months. For a half-time teaching assistantship, the anticipated stipend will be $1571 per month. Requests for application forms for admission and financial support should be directed to the Department of Computer Science and Engineering.

Computer Science and Engineering (CSE)