Yannis Papakonstantinou, Ph.D. Computer Engineering, and the B.S. degree in
Dean M. Tullsen, Ph.D. Computer Science with a Specialization in
and Engineering M. Amin Vahdat, Ph.D.
Geoffrey Voelker, Ph.D.
Bioinformatics. The B.A. degree in Computer
Science is a flexible program that allows com-
(CSE) Assistant Professors prehensive studies beyond Computer Science
Vineet Bafna, Ph.D.
All CSE programs of study provide a broad
OFFICES: Serge J. Belongie, Ph.D.
and rigorous curriculum and are designed to
Undergraduate Affairs Room 1200D Sanjoy Dasgupta, Ph.D.
provide students with the strong technical
Graduate Affairs Room 1200D Alin Deutsch, Ph.D.
education necessary for placement in the com-
Engineering Building Unit 3B Eleazar Eskin, Ph.D. (In-Residence)
petitive high-tech job market as well as for
Warren College Ranjit Jhala, Ph.D.
advanced studies in graduate school.
http://www.cse.ucsd.edu Ingolf Krueger, Ph.D. (In-Residence)
Sorin Lerner, Ph.D. CSE offers courses in the following areas:
Professors Tajana S. Rosing, Ph.D. • Theory
Donald W. Anderson, Ph.D., Emeritus Stefan Savage, Ph.D. • Artificial intelligence
Scott B. Baden, Ph.D. Alex M. Snoeren, Ph.D.
Mihir Bellare, Ph.D. Michael Taylor, Ph.D.
Francine D. Berman, Ph.D. Matthias Zwicker, Ph.D. • Hardware
Walter A. Burkhard, Ph.D. Adjunct Faculty • Computer security and cryptography
Bradley G. Calder, Ph.D. • Computer vision and graphics
Samuel R. Buss, Ph.D.
J. Lawrence Carter, Ph.D., Emeritus
Walter H. Ku, Ph.D. • Databases and XML
Chung-Kuan Cheng, Ph.D.
Alon Orlitsky, Ph.D. • Systems and networking
Andrew Chien, Ph.D.
George Polyzos, Ph.D.
Garrison W. Cottrell, Ph.D. • Bioinformatics
Jeffrey B. Remmel, Ph.D.
Charles P. Elkan, Ph.D. • Software engineering
J. Benjamin Rosen, Ph.D.
Jeanne Ferrante, Ph.D.
Terrence J. Sejnowski, Ph.D. In addition, CSE seniors can participate in
Yoav Freund, Ph.D.
Allan Snavely, Ph.D. challenging project-courses in: software sys-
Joseph A. Goguen, Ph.D.
Research Faculty tems, where teams create multiplayer games;
Fan Chung Graham, Ph.D.
Philip Papadopoulos, Ph.D., Associate Research Internet systems, where students create sophis-
Ronald L. Graham, Ph.D.
Professor ticated Web transaction systems; and mobile
William G. Griswold, Ph.D.
wireless computing, where teams create appli-
Rajesh Gupta, Ph.D.
Leturers with Security of Employment cations for handheld devices.
William E. Howden, Ph.D.
Paul Kube, Ph.D. The CSE department supports and encour-
T. C. Hu, Ph.D.
Elizabeth Simon, Ph.D. ages students to explore opportunities outside
Russell Impagliazzo, Ph.D.
the classroom. Students assist in many CSE
Ramesh Jain, Ph.D., Emeritus
Continuing Lecturers courses as paid lab tutors and readers, getting
Andrew B. Kahng, Ph.D.
Gary Gillespie, Ph.D. an excellent opportunity to interact more
Sidney Karin, Ph.D. (In-Residence)
Susan Marx, Ph.D. closely with faculty and other students. In
David Kriegman, Ph.D.
Richard Ord, M.S. addition, CSE students participate in research
Keith Marzullo, Ph.D., Chair
projects with graduate students and faculty in
Alex Orailoglu, Ph.D. Academic Coordinator CSE, the San Diego Supercomputer Center, and
Joseph Pasquale, Ph.D.
Paul Kube, Ph.D., Lecturer with Security the California Institute for Telecommunications
Ramamohan Paturi, Ph.D.
of Employment and Information Technology (Calit2). Under the
Pavel Pevzner, Ph.D.
direction of our faculty, CSE students may also
Walter J. Savitch, Ph.D., Emeritus
earn credit by participating in independent
Larry L. Smarr, Ph.D. The Undergraduate Program research projects. The CSE department has
George Varghese, Ph.D.
strong ties with local and national high-tech
Victor D. Vianu, Ph.D.
DEGREE AND PROGRAM OPTIONS industry, where students can earn course credit
S. Gill Williamson, Ph.D., Emeritus
The Department of Computer Science and while applying their academic knowledge
Associate Professors toward exciting commercial technologies in
Engineering (CSE) offers four degree programs:
Henrik Wann Jensen, Ph.D. paid internships.
the B.S. degree in Computer Science, the B.A.
Daniele Micciancio, Ph.D.
degree in Computer Science, the B.S. degree in
B.S. Computer Science Program Introduction to Electrical Engineering: ECE SENIOR YEAR
53A-B; eight units. ECE 53A-B are courses that CSE 131A CSE 131B CSE Tech. Elec.
The lower-division B.S. computer science pro- CSE Tech. Elec. Tech. Elec. Tech. Elec.
give a comprehensive introduction to electrical
gram is designed to provide a strong foundation GE GE GE
in mathematics, physics, electrical engineering,
programming methodology and skills, and com- Probability and Statistics: Math.183; four units. B.S. Computer
puter organization. Upper-division core courses Science/Mathematics Elective: Students are Engineering Program
deal with the theory and design of algorithms, required to take one of the following four-unit
hardware, and software. Students can gain addi- (Curriculum is the same in both the CSE and
science/mathematics courses: Phys. 2D, Math.
tional breadth and/or depth in computer science ECE departments.)
20E, Chem. 6A, BILD 1, 10, 12, 14, 30.
and engineering by an appropriate selection of The B.S. computer engineering program is
technical electives. 2. UPPER-DIVISION REQUIREMENTS jointly administered by the Departments of
Students should have sufficient background All B.S. computer science students are Computer Science and Engineering and Electrical
in high school mathematics so that they can take required to take CSE 100 or Math. 176, CSE 101 and Computer Engineering. Students wishing to
freshman calculus in their first quarter. Courses or Math. 188, CSE 105 or Math. 166, CSE 120, 130, take the computer engineering program must be
in high school physics and computer program- 131A-B, 140, 140L, 141 and 141L; forty units. admitted to one of the departments.
ming, although helpful, are not required for Students are expected to complete almost The lower-division computer engineering pro-
admission to the program. all of these courses by the end of their junior gram is designed to provide a strong foundation
The department requires a total of 135 units year. If students want to accelerate their pro- in mathematics, physics, electrical engineering,
for the B.S. computer science program (not gram, they should consider taking CSE 100 or programming methodology and skills, and com-
including the general-education requirements). Math. 176, CSE 105, and/or CSE 140 and 140L puter organization. Upper-division core courses
There are three varieties of requirements: lower- in the sophomore year. deal with the theory and design of algorithms,
division, upper-division, and technical electives. hardware and software, as well as electronic sys-
3. TECHNICAL ELECTIVES tems. Students can gain additional breadth and/
1. LOWER-DIVISION REQUIREMENTS or depth in computer science and engineering
B.S. computer science students are required
Students are expected to complete the following to take six technical electives for a total of by an appropriate selection of technical electives.
seventy units by the end of their sophomore year. twenty-four units. Four electives must be com- Students should have sufficient background
puter science and engineering upper-division in high school mathematics so that they can take
Computer Science and Engineering: CSE 8B
or graduate courses. freshman calculus in their first quarter. Courses
or 11, 12, 20 or Math. 15A, CSE 21 or Math. 15B,
The remaining two technical electives can in high school physics and computer program-
CSE 30, and CSE 91; twenty-one units.
be chosen from the wider set of courses that ming, although helpful, are not required for
Note: Students without any programming admission to the program.
includes computer science and engineering upper-
experience are advised to take CSE 8A, CSE 8AL, B.S. computer engineering program requires
division courses, graduate courses, and other elec-
and then CSE 8B, instead of CSE 11. CSE 11 is a a total of 147 units (not including the general-
tives as listed under the section titled Electives.
faster paced version of CSE 8A, CSE 8AL, and CSE education requirements).There are three varieties
Other restrictions in the selection of technical elec-
8B, and requires experience in programming with of requirements: lower-division, upper-division,
tives are also given in the section Electives.
a compiled language. and technical electives.
4. B.S. COMPUTER SCIENCE, SAMPLE
Mathematics: Math. 20A-B-C-D and 20F;
PROGRAM 1. LOWER-DIVISION REQUIREMENTS
FALL WINTER SPRING Students are expected to complete the fol-
Physics: Phys. 2A-B-C; 12 units. Math. 20A is a
FRESHMAN YEAR lowing seventy units by the end of their sopho-
prerequisite for Phys. 2A. Students whose per-
CSE 8A, CSE 8AL, CSE 12 CSE 20 or more year.
formance on the Department of Mathematics
or CSE 11 Math. 20B Math. 15A
placement test permits them to start with Math. Math. 20A Phys. 2A Math. 20C
Computer Science and Engineering: CSE 8B or
20B or a higher course may take Phys. 2A in the GE GE Phys. 2B 11, 12, 20 or Math. 15A, CSE 21 or Math. 15B, CSE
fall quarter of the freshman year; all others will CSE 91 GE 30, and CSE 91; twenty-one units.
take Phys. 2A in the winter quarter of the fresh- SOPHOMORE YEAR Note: Students without any programming
man year. Students who received high grades CSE 21 or Math. 15B Sci/Math. Elec. CSE 30
Math. 20D Math. 20F Math. 183
experience are advised to take CSE 8A, CSE 8AL,
in both calculus and Physics in high school may GE ECE 53A Phys. 2BL or and then CSE 8B, instead of CSE 11. CSE 11 is a
substitute the major’s sequence, Phys. 4A-B-C GE Phys. 2C 2CL or 2DL faster paced version of CSE 8A, CSE 8AL, and CSE
for Phys. 2A-B-C. ECE 53B 8B, and requires experience in programming with
Physics Lab: Phys. 2BL or 2CL or 2DL; two units. JUNIOR YEAR a compiled language.
CSE 100 or Math. 176 CSE 101 or Math. 188 CSE 120
The lab course should be taken concurrently CSE 140 CSE 141 CSE 130 Mathematics: Math. 20A-B-C-D and 20F;
with the Phys. 2 or Phys. 4 sequence. CSE 140L CSE 141L CSE Tech. Elec. twenty units.
CSE 105 or Math. 166 CSE Tech. Elec. GE
Physics: Phys. 2A-B-C-D; sixteen units. Math. 20A puter engineering upper-division or graduate engineering requirements comprise of 152 units
is a prerequisite for Phys. 2A. Students whose course, or any other course listed under the sec- to be taken from the divisions of physical sci-
performance on the Department of Mathematics tion titled Electives. Other restrictions in the ences, biology, and engineering.
placement test permits them to start with Math. selection of technical electives are also given
1. LOWER-DIVISION REQUIREMENTS
20B or a higher course may take Phys. 2A in the in the section Electives.
fall quarter of the freshman year; all others will Lower-division requirements, 64 units: Students
4. B.S. COMPUTER ENGINEERING, are expected to complete all lower-division
take Phys. 2A in the winter quarter of the fresh-
SAMPLE PROGRAM requirements by the end of their sophomore
man year. Students who received high grades in
both calculus and physics in high school may FALL WINTER SPRING year.
substitute the major’s sequence, Phys. 4A-B-C-D FRESHMAN YEAR 1. Math. 20A, 20B, 20C, 20F, (16 units)
for Phys. 2A-B-C-D. CSE 8A, CSE 8AL, CSE 12 CSE 20
or CSE 11 Math. 20B or Math. 15A
2. Chemistry 6A, 6B, 6C, and one lab (15 units)
Physics Lab: Phys. 2BL or 2CL or 2DL; two units. Math. 20A Phys. 2A Math. 20C 3. BILD 1, BILD 2, and BILD 94 (9 units)
The lab courses should be taken concurrently GE GE Phys. 2B
with the Phys. 2 or Phys. 4 sequence. CSE 91 GE 4. CSE 11, CSE 12, and CSE 21 or Math. 15B
SOPHOMORE YEAR (12 units)
Introduction to Electrical Engineering: ECE
CSE 21 or Math. 15B Math. 20F CSE 30 5. Physics 2A, 2B, 2C (12 units)
53A-B; eight units. ECE 53A-B are courses that
Math. 20D ECE 53A ECE 53B
give a comprehensive introduction to electrical Phys. 2C ECE 109 GE 2. UPPER-DIVISION REQUIREMENTS
engineering. GE Phys. 2D Phys. 2BL or
2CL or 2DL Upper-division requirements, 88 units (includes
Probability and Statistics: ECE 109; four units.
JUNIOR YEAR five CSE technical electives)
This course can be taken in the sophomore year.
CSE 100 or Math. 176 CSE 101 or Math. 188 CSE 105 or 1. CSE 100 or Math. 176 (Data Structures),
2. UPPER-DIVISION REQUIREMENTS CSE 140 CSE 141 Math. 166
CSE 140L CSE 141L CSE 120 (4 units)
All B.S. computer engineering students are ECE 102 ECE 108 (Req.Tech. Elec.- 2. CSE 101 or Math. 188 (Algorithms), (4 units)
GE GE ECE 111 or
required to take CSE 100 or Math. 176, CSE 101 3. Chemistry 140A–140B (Organic Chemistry),
or Math. 188, CSE 105 or Math. 166, CSE 120, GE (8 units)
131A-B, 140, 140L, 141, and 141L; thirty-six units. SENIOR YEAR
In addition, all B.S. computer engineering stu- CSE 131A CSE 131B ECE 171A or
4. Chemistry 114B (Biochemical Energetics
dents have to fulfill the following upper-division ECE 101 CSE/ECE Tech. Elec. 161A and Metabolism) or BIBC 102 (Structural
ECE requirements. CSE/ECE Tech. Elec. CSE/ECE Tech. Elec CSE/ECE Tech. and Metabolic Biochemistry) (4 units)
GE. GE Elec.
Linear Systems: ECE 101, ECE 171A or 161A; Tech. Elec.
5. BIBC 103 (Biochemical Techniques), (4
eight units. The department recommends GE units)
that these courses be taken in the junior year. 6. BICD 100 (Genetics), (4 units)
Electronic Circuits and Systems: ECE 102, B.S. Computer Science with a 7. BIMM 100 (Molecular Biology) or Chemistry
ECE 108; eight units.The department recommends Specialization in Bioinformatics 114D (Molecular and Cellular
that these courses be taken in the junior year. The explosion in biological knowledge Biochemistry),
If students want to accelerate their program, spawned by the various genome projects has (4 units)
they should consider taking CSE 100 or Math. created entirely new fields and industries, and 8. BIMM 101 (Recombinant DNA Lab), (4
176, CSE 105 or Math. 166, and/or CSE 140 and a need for trained computational biologists units)
140L in the sophomore year. who are familiar with biology, mathematics, and 9. BICD 110 (Cell Biology), (4 units)
computer sciences. The Computer Science and
3. TECHNICAL ELECTIVES Engineering Department offers rigorous, interdis- 10. BIBC 110 (Physical Biochemistry) or
ciplinary training in the new and rapidly evolving Chemistry 127 (Physical Chemistry), (4
All B.S. computer engineering students are
field of bioinformatics. Bioinformatics refers units)
required to take six technical electives for a total
of twenty-four units. One of these courses must to advanced computational and experimental 11. Five additional CSE upper-division electives
be either ECE 111 or ECE 118. Of the remaining methods that model the flow of information (electives 1, 2, 3, 4, and 5).
five courses, four must be computer science and (genetic, metabolic, and regulatory) in living At least one course from each of the three
engineering or electrical and computer engi- systems to provide an integrated understanding groups for a total of five electives:
neering upper-division or graduate courses. of the system properties of organisms. This inter-
Group I: CSE 30, 111, 131A, 131B, 134A
The remaining course can be any computer disciplinary major will be offered by three other
science and engineering or electrical and com- programs (Division of Biology, Department of Group II: CSE 105, 150, 151, Math. 184A
Chemistry and Biochemistry, and Department Group III: CSE 132A, 132B, 133
of Bioengineering). The computer science and The bioinformatics series comprised of the
following six courses, 24 units:
12. CSE 181 or BIMM 181 or BENG 181 B.A. Computer Science Program CSE 105 or Math. 166, CSE 120, 131A, 131B, 140,
(Molecular Sequence Analysis), (4 units) 140L, 141, and 141L; thirty-six units.
The B.A. computer science program gives stu-
13. CSE 182 or BIMM 182 or BENG 182 or dents more latitude in designing their course of Students are expected to complete almost all
Chem. 182 (Biological Databases), (4 units) study.The lower-division program is designed to of these courses by the end of their junior year. If
14. BENG 183 (Applied Genomic Technologies), provide a strong foundation in mathematics, students want to accelerate their program, they
(4 units) physics, programming methodology and skills, should consider taking CSE 100 or Math. 176, CSE
and computer organization. Upper-division core 105 or Math. 166, and/or CSE 140 and 140L in the
15. CSE 184 or BIMM 184 or BENG 184
courses deal with the theory and design of algo- sophomore year.
(Computational Molecular Biology), (4 units)
rithms, hardware, and software. Students can gain
16. BIMM 185 (Bioinformatics lab), (4 units) 3. TECHNICAL ELECTIVES
additional breadth and/or depth in computer
17. Math. 186 (Probability and Statistics), science and engineering by an appropriate selec- B.A. computer science students are required
(4 units) tion of technical electives. By requiring fewer tech- to take four technical electives for a total of six-
nical electives, the B.A. computer science program teen units. Of these four electives, at least two
3. B.S. COMPUTER SCIENCE WITH A must be computer science and engineering
serves those students desiring more time for
SPECIALIZATION IN BIOINFORMATICS, upper-division or graduate courses.
undergraduate studies outside their major subject.
SAMPLE PROGRAM The remaining two technical electives can
The department requires a total of 105 units
FALL WINTER SPRING for the B.A. computer science program (not be chosen from a wider set of courses that
FRESHMAN YEAR including the general-education requirements). includes computer science and engineering
CSE 8A/8AL+8B CSE 12 BILD 942 There are three varieties of requirements: lower- upper-division courses, graduate courses, and
or 111 Math. 20B Math. 20C division, upper-division, and technical electives. other electives as listed under the section titled
Math. 20A Chem. 6B Chem. 6C Electives. Other restrictions in the selection of
Chem. 6A BILD 1 Chem. 6BL 1. LOWER-DIVISION REQUIREMENTS technical electives are also given in the section
GE 1 GE 2 GE 3
Students are expected to complete the follow- Electives.
CSE 21 or Math. 20F Chem. 140B ing fifty-two units by the end of their sopho-
4. B.A. COMPUTER SCIENCE, SAMPLE
Math. 15B Phys. 2B BIBC 103 more year.
BILD 2 Chem. 140A Phys. 2C
Phys. 2A GE 5 GE 6
Computer Science and Engineering: CSE 8B or
11, 12, 20 or Math. 15A, CSE 21 or Math. 15B, CSE FALL WINTER SPRING
30, and CSE 91; twenty-one units. FRESHMAN YEAR
CSE 8A, CSE 8AL, CSE 12 CSE 20
CSE 100 or CSE 101 or CSE 1814 Note: Students without any programming
Math. 1763 Math. 188 BIMM 101 or CSE 11 Math. 20B or Math. 15A
BICD 100 Math. 186 BICD 110 experience are advised to take CSE 8A, CSE 8AL, Math. 20 Phys. 2A Math. 20C
GE 7 BIBC 102 or BICD 110 or and then CSE 8B, instead of CSE 11. CSE 11 is a GE GE Phys. 2B
GE 8 Chem. 114B Chem. 127 CS 91 GE
faster paced version of CSE 8A, CSE 8AL, and
BIMM 100 or SOPHOMORE YEAR
CSE 8B, and requires experience in programming
CSE 21 or Math. 15B Math. 20F CSE 30
with a compiled language. Math. 20D GE GE
CSE 182 CSE 184 BIMM 185 Mathematics: Math. 20A-B-C-D and 20F; twenty Phys. 2C GE GE
BENG 183 Elec. 2 Elec. 4 units. JUNIOR YEAR
Elec. 15 Elec. 3 Elec. 5 CSE 100 or Math. 176 CSE 101 or Math. 188 CSE 120
GE 9 GE 10 GE 11 Physics: Phys. 2A-B-C; twelve units. Math. 20A is CSE 140 CSE 141 CSE Tech. Elec.
a prerequisite for Phys. 2A. Students whose per- CSE 140L CSE 141L GE
Students may take the slower paced version, CSE 8A + formance on the Department of Mathematics CSE 105 or Math. 166 GE. GE
CSE 8AL + CSE 8B, instead of CSE 11. placement test permits them to start with Math. SENIOR YEAR
BILD 94 (1 unit seminar) is recommended in students first CSE 131A CSE 131B Tech. Elec.
20B or a higher course may take Phys. 2A in the
spring quarter of study at UCSD. This course gives an CSE Tech. Elec. Tech. Elec.
overview of issues and topics in bioinformatics.
fall quarter of the freshman year; all others will GE
CSE 30 prerequisite will be waived.
take Phys. 2A in the winter quarter of the fresh-
New courses for the bioinformatics program: CSE 181
man year. Students who received high grades Electives
is cross-listed with BIMM 181 and BENG 181; CSE 182 in both calculus and physics in high school may
The discipline of computer science and engi-
is cross-listed with BIMM 182, Chem 182, and BENG 182; substitute the major’s sequence, Phys. 4A-B-C
CSE 184 is cross-listed with BIMM 184 and BENG 184; and neering interacts with a number of other disci-
for Phys. 2A-B-C.
(BENG 183, BIMM 185, and Math. 186 are not cross-listed plines in a mutually beneficial way. These
with any other courses). 2. UPPER-DIVISION REQUIREMENTS disciplines include mathematics, electrical engi-
Students must complete five CSE technical electives from neering, and cognitive science. The following is
the approved list.
All B.A. computer science students are required
to take CSE 100 or Math. 176, CSE 101 or Math. 188, a list of upper-division courses from these and
other disciplines that can be counted as techni- Mechanical and Aerospace Engineering: Minor and Program
cal electives. All upper-division MAE courses except MAE 140 of Concentration
At most four units of CSE 197, 198, or 199 may (ONLY Computer Science majors may take MAE
140) and 195-199. The CSE minor requires successful comple-
be used towards technical elective requirements.
Students may receive elective credit for only tion of a total of nine CSE courses. To be admit-
CSE 195 cannot be used towards course require-
one of the following courses: CSE 164A, Math. ted into the minor, students must have a 2.5 GPA
ments. Undergraduate students must get
174, Math. 173, Phys. 105A-B, CENG 100, MAE 107. and a C– or better in CSE 8B or 11, 12, 20, 21, 30.
instructor’s permission and departmental stamp
Students may only get credit for one of the two The remaining four CSE courses are CSE 100, CSE
to enroll in a graduate course.
courses, CSE 167 or MAE 152. 101, and two additional CSE upper-division
Students may not get duplicate credit for
courses subject to enforcement of prerequisites.
equivalent courses. The UCSD General Catalog Economics: Microeconomics 100A-B, Game
In order for the minor to be awarded students
should be consulted for equivalency information Theory 109, Macroeconomics 110A-B, Mathe-
must receive an average 2.0 GPA in the upper-divi-
and any restrictions placed on the courses. Addi- matical Economics 113, Econometrics 120A-B-C,
Applied Econometrics 121, Management Science sion courses.
tional restrictions are noted below. Any deviation
from this list must be petitioned. Microeconomics 170A-B, Decisions Under Uncer- Note: Students without any programming
tainty 171, Introduction to Operations Research experience are advised to take CSE 8A, CSE 8AL,
Mathematics: All upper-division courses except
172A-B-C, Economic and Business Forecasting 178. and then CSE 8B, instead of CSE 11. CSE 11 is a
Math. 168A (Math. 183—Computer Engineering
majors only), 184A, and 195–199. Credit will be given for only one of the follow- faster paced version of CSE 8A, CSE 8AL, and CSE
If a student has completed CSE 167, then he ing: ECE 109 or Math. 183 or Econ. 120A. 8B, and requires experience in programming with
or she cannot get elective credit for Math. 155A. Linguistics: Phonetics 110, Phonology I 111, a compiled language.
Students may receive elective credit for only one Phonology II 115, Morphology 120, Syntax I 121, Students should consult their college provost’s
of the following courses: CSE 164A, Math. 174, Syntax II 125, Semantics 130, Mathematical Ana- office concerning the rules for the minor or pro-
Math. 173, Phys. 105A-B, CENG 100, MAE 107. lysis of Language 160, Computers and Language gram of concentration. Because our undergradu-
No credit for any of these courses will be given 163, Computational Linguistics 165, Principles of ate program is highly impacted, winter or spring
if Math. 170A-B-C is taken. Students may receive Discourse and Dialog 169, Psycholinguistics 170, enrollment is recommended for CSE 8A or CSE
credit for either one of the following: Math. 166 or Language and the Brain 172, and Sociolinguis- 8B or CSE 11.
CSE 105 (but not both), Math. 188 or CSE 101 (but tics 175. Effective Fall 2000, Mathematics/Computer
not both), Math. 176 or CSE 100 (but not both). Engineering: Principles of Team Engineering Science Majors will not be allowed the Minor
Credit will be given for only one of the follow-
100, Team Engineering Laboratory 100L, Team in Computer Science.
ing: ECE 109 or Math. 183 or Econ. 120A.
Electrical and Computer Engineering: All ECE
Computer Science and Computer Computing Courses for Non-Majors
upper-division courses except 195-199.
Students may not get credit for both CSE Engineering: Students are eligible to receive six The department offers a slow-pace course
123A and ECE 158A or CSE 143 and ECE 165. units of technical elective credit for completing a providing a practical introduction to computers,
Credit will be given for only one of the following: combination of ENG 100 (two units) and ENG computation, and programming: CSE 5A—an
ECE 109 or Math. 183 or Econ. 120A. 100L (two units). Students must complete one introduction to structured programming using
quarter of ENG 100 for two units, and two quar- the C/Java programming language.We also offer
Cognitive Science: Sensation and Perception
101A; Learning, Memory, and Attention 101B, ters of ENG 100L for a total of four units. With this an introduction in “fluency in information tech-
Language 101C, Distributed Cognition 102A, combination, students will get credit for one nology”: CSE 3—an introduction to basic informa-
Cognitive Ethnography 102B, Cognitive Engineer- technical elective. To receive credit for two tech- tion students need to deal with information
ing 102C, Neuroanatomy and Physiology 107A, nical electives, students must complete one technology. It is more of a concepts course than a
Systems Neuroscience 107B, Cognitive Neuro- more quarter of ENG 100L. This credit can be programming course, but some simple program-
science 107C, Programming Methods for applied to fulfill the technical elective require- ming will be done as part of the teaching of con-
Cognitive Science 108D, Neural Network Models ments. cepts.
of Cognitive I 108E, Advanced Programming Computer Science with a Specialization in
Methods for Cognitive Science 108F, Human Bioinformatics: Students must petition depart- Admission to Major
Computer Interaction 120, Human Computer ment for technical elective credit.
Interaction Programming 121, Natural and FRESHMEN STUDENTS
Music: Computer Music II 172, Audio Production:
Artificial Symbolic Representational Systems 170, Freshman students who have excelled in high
Mixing and Editing 173.
Neural Network Models of Cognition II 181,
Psychology: Introduction to Engineering school and have declared CSE on their applica-
Representation, Search, and the Web 188.
Psychology 161 tion will be directly admitted by the dean of the
Students may not get credit for both CSE 150
School of Engineering into their major. The only
and Advanced Programming Methods for Cogni-
way to become a computer science (CS) or com-
tive Science 108F.
puter engineering (CE) major is to be directly
admitted as an entering freshman (transfer
students see TRANSFER STUDENTS section • Differential Equations (Math. 20D) is not guaranteed and will be based on academic
below) These students will be notified directly • Linear Algebra (Math. 20F) excellence, as described below. Since bioinfor-
of their status. matics is an interdisciplinary major, a steering
• Complete calculus-based physics series with
Because of heavy student interest in depart- committee involving faculty from the participat-
lab experience (Physics 2A-B-C)
mental programs, and the limited resources avail- ing departments will select among the best can-
able to accommodate this demand, maintenance • Chemistry 6A (except Computer Science and didates applying and recommended through
of a high quality program makes it necessary to Computer Engineering majors) each department, while insuring active participa-
limit enrollments to the most qualified students. • Highest level of introductory computer pro- tion of the departments and divisions offering
Admission to the department as a major, gramming language course offerings at the the major. The final decision on admission to
transfer, or minor is in accordance with the community college** the pre-major and major will be made by the
general requirements established by the *Effective fall 2006, these courses will be Bioinformatics Steering Committee, in consulta-
Jacobs School of Engineering. required preparation for all engineering transfer tion with the departments. The application is
students. found at http://www.cse.ucsd.edu/undergrad/
admissions/admissionshome.html, or see the CSE
The B.S. or B.A. in Computer Science and the **Refer to the UCSD General Catalog to select department at EBU 3B, Room 1200D.
B.S. in Computer Engineering are heavily impacted major prerequisite requirement for computer
majors and admission is limited to applicants who language courses. FRESHMEN AND CONTINUING STUDENTS
have demonstrated a high level of achievement CONTINUING UCSD STUDENTS Students (freshmen or continuing UCSD stu-
commensurate with the prospect of success in Exceptional Admission Program dents) will be admitted into one of our existing
these majors. Successful applicants must have undergraduate majors (B.A. Computer Science,
completed substantial training at the community The computer science and engineering de- B.S. Computer Science, and B.S. Computer Engi-
college and must have achieved a high level of partment may periodically grant admission to neering) through the direct admission process
academic performance there. For example, the the Computer Science (CS) or Computer Engine- or through the exceptional admission program.
required minimum of 90 quarter transfer units ering (CE) majors to a small number of academi- Students will then have the option of trying to
must include 18 quarter units of calculus, 12 quar- cally exceptional UCSD undergraduate students enter the bioinformatics program by applying
ter units of calculus-based physics, and the high- who were not admitted to these majors as enter- for the bioinformatics pre-major (while still
est level computer science course offered at their ing students. Exceptional admission will be con- retaining their current major status) once they
community college. sidered for students having an overall UCSD GPA complete the first four screening courses (Math
Effective fall 2001 applicants seeking admis- of 3.5 or better who have taken at least two CSE, 20B, Math 21C, BILD 1, Chem 6A). Students will
sion as transfer students will be considered for math, or science courses demonstrating special then formally apply to the bioinformatics major
direct admission into the Computer Science (CS) aptitude for the CS or CE curriculum. Applica- upon completion of the remaining screening
or Computer Engineering (CE) majors in the tions for exceptional admission must include courses CSE 11 and CSE 12. If admitted, students
Department of Computer Science & Engineering submission of a course plan demonstrating abil- will become bioinformatics majors in CSE. If not,
(CSE).The only way to become a computer sci- ity to satisfy graduation requirements and a per- they can continue in their current CSE major.
ence (CS) or computer engineering (CE) major sonal statement addressing the applicant’s
motivation to join the CS or CE major, in addition TRANSFER STUDENTS
is to be directly admitted as an entering transfer
student. Although the actual required GPA cutoff to other criteria established by the department. Transfer students will be admitted into one
depends on the number of openings, at least a (For admission into the B.S. in Computer Science of our existing undergraduate majors (B.A.
3.2 GPA in the community college transfer courses, with a Specialization in Bioinformatics, please see Computer Science, B.S. Computer Science, and
and a 3.4 GPA in math, physics and computer sci- the following section: Admission into B.S. in B.S. Computer Engineering) through the direct
ence courses, are likely to be needed to gain Computer Science with a Specialization in admission process or through the exceptional
admission.Transfer students who have declared Bioinformatics). See Web site for complete infor- admission program. Effective fall 2003, CSE
pre-CSE will be considered for direct admission mation and application (http://www.cse.ucsd.edu/ transfer students can directly apply to the bioin-
to the major. undergrad/admissions/exceptionaladmissions/ formatics major if they completed the following
Effective fall 2004, it is strongly recom- exceptionaladmissionsprogramshome.html) courses prior to transferring to UCSD.
mended that transfer students complete the • A year of calculus (equivalent to Math 20A-B-C
following preparation for engineering majors*: Admission into B.S. in Computer at UCSD)
• Calculus I—for Science and Engineering Science with a Specialization
• A year of general chemistry, with lab (equivalent
(Math. 20A) in Bioinformatics to Chem 6A, 6B/6BL and Chem 6C at UCSD)
• Calculus II—for Science and Engineering Since the number of pre-majors and majors • The highest level programming course
(Math. 20B) will be limited as described in the section on offered at the community college (equivalent
bioinformatics, student demand may exceed to CSE 11 and CSE 12 at UCSD)
• Calculus and Analytic Geometry (Math. 20C)
capacity.Therefore, admission to the specialization
• One semester of cell biology (equivalent to Where these restrictions apply, the registrar will Information on EAP/OAP is given in the
BILD 1 and BILD 2 at UCSD) not enroll low-priority students in the course. “Education Abroad Program” section of the UCSD
Those who have not completed the above General Catalog. Interested students should con-
ENROLLING IN UPPER-DIVISION COURSES
courses may be admitted as bioinformatics pre- tact the Programs Abroad Office in the
majors and will be allowed a maximum of three The Department of Computer Science and International Center and visit its Web site at
quarters to complete pre-major requirements. Engineering will attempt to provide sufficient http://programsabroad.ucsd.edu. Financial aid
Students will then formally apply to the bioinfor- sections of all lower-division courses. Students can be used for EAP/OAP study, and special
matics major upon completion of the remaining will, however, be screened to ensure that they study-abroad scholarships are also available.
screening courses CSE 11 and CSE 12. If admit- meet all course enrollment restrictions.
ted, students will become bioinformatics Admission to upper-division courses will be Graduation Requirements
majors in CSE. If not, they can continue in their restricted to students having completed all pre-
All major requirements and technical elec-
current CSE major. Transfer students are requisites with a C- or better (or consent of the
tives except CSE 197, 198, or 199 must be taken
encouraged to complete these requirements instructor.) Courses have enrollment restrictions
for a letter grade. To graduate, a grade-point
at the community college. which give priority in the following order: stu-
average of 2.0 will be required in upper-division
dents admitted by the department to a major
courses in the major, including technical elec-
ADVANCED PLACEMENT CREDIT: or minor curriculum; students fulfilling a require-
tives. In addition, each student must satisfy gen-
APPLICATION TO MAJOR REQUIREMENTS ment for another major; all others. Within these
eral-education course requirements determined
Effective January 14, 2005, the following CSE categories, priority is determined on the basis
by the student’s college, as well as major
advanced placement equivalencies have been of graduation date and/or credits completed.
requirements determined by the department.
approved (a four-unit maximum for both tests). Where these restrictions apply, the registrar will
The five colleges at UCSD require widely differ-
not enroll nonmajors except by department
• Computer Science A Exam (Java ent numbers of general-education courses. Each
approval. Students who are undeclared will not
Programming), 2 units: student should choose his or her college care-
be admitted to upper-division computer science
Score of 4 = exempt CSE 8A and 8AL; fully, considering the special nature of the col-
and engineering courses.
student should take CSE 11 lege and breadth of education, realizing that
Those students not in compliance with the
Score of 5 = exempt CSE 11 some colleges require considerably more
above restrictions should be forewarned that
• Computer Science AB Exam (Java courses than others.
they will automatically be dropped from course
Programming, and Data Structures & rosters (at any time during the quarter) when
Object-Oriented Programming), 4 units: it comes to the attention of the department that Five-year Bachelor’s—
Score of 4 or 5 = exempt CSE 11 a student is enrolled in a course without being Master’s Program
Score of 5 = exempt CSE 12 with eligible because of restrictions and/or the
department approval performance standards have not been met. Undergraduate students in the Department
Admission to all computer science and engineer- of Computer Science and Engineering who are
Enrollment in CSE courses ing courses will require obtaining approval by the enrolled in the B.S. or B.A. computer science or
Student demands exceed capacity in many student affairs personnel.You may also contact B.S. computer engineering degree programs,
CSE courses. Accordingly, many CSE courses may firstname.lastname@example.org for more information. and who have a cumulative GPA of a 3.4 and
have enrollment restrictions which give priority also a GPA of 3.4 in at least seven core courses,
UC EDUCATION ABROAD PROGRAM (EAP) are
to students in the following order: AND UCSD’S OPPORTUNITIES ABROAD eligible to apply for the Five Year Bachelor’s-
1. CSE majors, CSE M.S., and CSE Ph.D. students. PROGRAM (OAP) Master’s Degree Program. Students must apply
2. CSE pre-majors, and ECE CE majors and pre- CSE majors are encouraged to participate in one year before graduation. Acceptance into this
majors, and Math-CS majors. CSE pre-major the UC Education Abroad Program (EAP) or program is an honor which carries with it practi-
status is conferred to transfer students and UCSD's Opportunities Abroad Program (OAP). cal benefits—the graduate application process
to those students admitted prior to fall 1998. Subject to approval by the faculty director of the is simplified (no GREs required), and students
3. Students fulfilling a non-elective requirement major, courses taken through EAP/OAP will be accepted into this program can be admitted fall,
in another program. accepted for credit toward the major. Students winter, and spring quarter, based upon availabil-
interested in studying abroad should see a CSE ity of openings in the program. Advanced stu-
4. CSE minors.
undergraduate program adviser to discuss dents are given access to graduate level courses
5. All other majors or pre-majors in other SOE appropriate courses and programs for their and have the opportunity to do graduate level
departments. plan of study.The advising office is located in research earlier under the direct supervision of
6. All others, with permission of the department Engineering Building Unit #3 (EBU 3B), Room UCSD’s faculty, and students are able to com-
of Computer Science and Engineering. 1200D. plete 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 must submit a petition, including a new state- ing the comprehensive examination can be
not counted toward both degrees. Additional ment of purpose and three new letters of recom- found in a separate document provided by the
information and applications can be obtained by mendation, to the CSE Admissions Committee. CSE graduate office.
contacting the CSE Student Affairs Office, EBU In particular, the written examination is struc-
3B, Room 1238. For an application, visit http:// tured around the three CSE core areas: algorithms
Computer Science Program
www.cse.ucsd.edu/gradedu/degreeprograms/ and data structures; operating systems; and com-
bachelormasterscombined.html. puter architecture and digital logic design.
Master of Science Program
The Graduate Program The department offers the master of science
degree in computer science. The degree can be Students entering the M.S. Program in Compu-
pursued under either the Thesis Plan I or the ter Science will choose an area of concentration
The graduate program offers master of sci-
Comprehensive Examination Plan II. Each plan from among fourteen areas. Each concentration
ence and doctor of philosophy degrees in com-
requires forty-nine units of work. For full-time is an area in which the faculty has significant
puter science and computer engineering. To be
students, all the requirements can be completed research expertise.
accepted into either course of study, a student
within two years. Students with an adequate The typical concentration is a collection of
should have a B.A./B.S. degree in computer sci-
background in computer science can complete three courses which are designed to give the
ence, computer engineering, or a related area, or
the M.S. program within four to five quarters of student in-depth training in the chosen field.
be able to demonstrate an equivalent compe-
full-time study. Additionally, to ensure breadth, all students are
required to take four core courses.
The graduate program is concerned with fun- THESIS OR COMPREHENSIVE EXAM Core courses must be completed with an
damental aspects of computation. The computer
There are two plans of study for the master’s average grade of B and no grade below B–. The
science specialization is divided among the fol-
degree: Plan I, in which the student writes a four core courses required of all students are
thesis, and Plan II, in which the student takes as follows:
• Algorithms and complexity a set of comprehensive exams. CSE 202. Algorithms Design and Analysis
• Artificial intelligence CSE 221. Operating Systems
Plan I: Thesis Option,
• Bioinformatics No Comprehensive Exam CSE 240A. Principles of Computer
• Computer architecture and compilers Architecture
This plan involves both course work and CSE 292. Faculty Research Seminar
• Computer graphics and computer vision research, culminating in the preparation of a
The department expects to offer concentra-
• Databases and information management thesis.The student must take twelve units of CSE
tions in the following areas:
• Embedded systems and software 298 (Independent Study) to fulfill the research
requirement, and a thesis based on research must Artificial Intelligence
• High-performance computing be written and subsequently reviewed by the the- Bioinformatics
• Meaning and computation sis committee.This committee, which is appointed Communication Networks
• Security and cryptography by the dean of Graduate Studies and Research, Computer Architecture and Compilers
consists of three faculty members, with at least Computer Graphics and Vision
• Software engineering Cryptography and Security
two members from within the CSE department.
• Systems and networking Databases
Plan II: Comprehensive Examination, Design Automation for Microelectronic
• VLSI/CAD (computer-aided design)
No Thesis Designs
The computer engineering specialization
Under this plan, the student must pass a Distributed and Fault-Tolerant Computing
places a greater emphasis on hardware and the
written comprehensive examination designed Embedded Systems and Software
design of computer systems.
to test the student’s knowledge in basic com- Multimedia Systems
Admission to the graduate program is done
puter science material.The examination can nor- Parallel and Scientific Computing
through the Office of Graduate Admissions,
mally be passed with a thorough knowledge of Software Engineering
Department of CSE. Deadline for application is in
topics covered in the undergraduate and first- Storage Systems
December. Admissions are always effective the
year graduate computer science programs. It is Ph.D. Preparation
following fall quarter. For admission deadline
and requirements, please refer to the depart- offered every year in the first few weeks of the fall The specific courses involved in each of the
mental Web page: http://www.cse.ucsd.edu/ quarter and in the first few weeks of the spring concentrations are detailed in a separate bulletin
gradedu/admissions/graduateadmissions.html. quarter. Each student is allowed three attempts to which is available in the Graduate Student Affairs
Admission decisions for the M.S. and Ph.D. pass the examination.The student must secure at Office, EBU 3B 1234 or on the Web at http://
programs are made separately. A current M.S. least a master’s-level pass in the written compre- www.cse.ucsd.edu/gradedu/advising/
student who wishes to enter the Ph.D. program hensive examination. More information regard- newstudentinfo/mastersconcentration.html.
Project Core Courses Three Hardware Courses:
Students electing Plan II are required to execute The following core courses must be com- CSE 240A
a project with an adviser while enrolled in four pleted with an average grade of B and no grade ECE 260A
units of CSE 293. below B–: CSE 243A or CSE 244A or CSE 244B or
Three Software Courses:
Electives Two Analysis Courses:
In addition to completing the required core CSE 221 CSE 200 or CSE 201A
courses and fulfilling either the thesis or compre- CSE 231 CSE 222A or CSE 257A
hensive examination requirements described and
Three Hardware Courses:
above, the student must also complete additional CSE 292
approved courses to bring the total number of
ECE 260A Electives
units to forty-nine.The number of units of electives
CSE 243A or CSE 244A or CSE 244B or
depends upon whether the student chooses Plan I Students must elect at least twelve technical
or Plan II.The electives consist of other CSE gradu- units among graduate courses within the
ate courses or courses from a list of approved elec- Two Analysis Courses: Departments of MAE, CSE, ECE, Mathematics,
tives. Units obtained in the courses CSE 293, 298, CSE 200 or CSE 201A and Physics.
299, 500, 501, 599, and any of the seminar courses CSE 222A or ECE 257A
CSE 209, 229, 259, 269, 290, and 294 do not count
toward the elective requirement. CSE 292 Four units of CSE 293.
Electives Comprehensive Examination
Computer Students must elect at least four technical
The comprehensive examination is designed
units among graduate courses within the
Engineering Program to test the student’s knowledge in basic com-
Departments of AMES, CSE, ECE, Mathematics,
puter science and engineering material. The
Computer engineering, jointly administered and Physics.
examination can normally be passed with a
between the CSE and ECE departments, offers Thesis thorough knowledge of topics covered in the
the master of science and doctoral degrees with undergraduate and the first-year graduate com-
Twelve units of CSE 298 must be taken with a
the degree title computer science and engineer- puter science or computer engineering pro-
faculty member in CSE or ECE who agrees to act
ing (computer engineering). Computer engineer- grams.
as adviser for the thesis to fulfill the research
ing explores the engineering analysis and design It is offered every year in the first few weeks
aspects of algorithms and technology. Specific of the fall quarter and in the first few weeks of
A thesis based on research must be written
research areas include computer systems, signal the spring quarter. If fewer than seven people
and subsequently reviewed by a committee,
processing systems, architecture, networks, com- sign up, then the department may cancel the
consisting of three faculty members, with at least
puter-aided design, fault tolerance, and data examination in the spring quarter. Each student
two members from within the CSE department.
storage systems. is allowed three attempts to pass the examina-
The committee is appointed by the dean of
tion. The student must secure at least a master’s-
Master of Science Program level pass in the written comprehensive
The degree can be pursued under either the PLAN II: COMPREHENSIVE EXAMINATION, examination.
Thesis Plan I or the Comprehensive Examination NO THESIS This examination is the same for both the
Plan II. Each plan requires forty-nine units of In order to receive the M.S. degree in computer computer science and the computer engineering
work. For full-time students, all the requirements engineering under this plan, a student must com- graduate programs. More information about the
must be completed within two years. Students plete the course requirements listed below and comprehensive examination can be obtained in a
with an adequate background in computer engi- pass a written comprehensive examination. separate document from the CSE graduate office.
neering can complete the M.S. program within The written examination is structured around
four to five quarters of full-time study. the following three CSE core areas: algorithms Doctoral Programs
and data structures; operating systems; and
PLAN I: THESIS OPTION,
computer architecture and digital logic design. Ph.D. Degree Programs in Computer
NO COMPREHENSIVE EXAM
This plan of study involves both course work Core Courses Science and Computer Engineering
and research, culminating in the preparation of Three Software Courses: CSE offers doctor of philosophy degrees in
a thesis. A total of forty-nine units of credit is CSE 202 computer science and in computer engineering,
required, as follows: CSE 221 providing a research-oriented education in
CSE 231 preparation for a research, industrial, or entre-
preneurial career. These programs explore both (Topics in CSE), CSE 292 (Faculty Research Computer Systems
the fundamental aspects and application of Seminar), CSE 299 (Research), and CSE 500 or CSE Database Systems
computation, spanning theory, software, hard- 501 (Teaching Assistantship) for which only S/U
ware, and applications. Our particular areas of grades are allowed.
research expertise include: Units obtained from a single course cannot Artificial Intelligence
• algorithms count more than once towards satisfying the Graphics and Vision
• artificial intelligence requirement in each of the core, depth, breadth, Bioinformatics
• bioinformatics and elective areas. Ph.D. students who have
• complexity theory taken similar courses elsewhere may petition Breadth Requirements
• computer architecture/compilers for a waiver of the required courses or for substi- Research in computer science and engineering
• VLSI/CAD and embedded systems tution by alternative courses. is increasingly interdisciplinary, and acquiring a
• databases and information management Core Requirements broader view of the field in general is important.
• distributed systems and networking Each Ph.D. student must take three courses (12
• graphics and vision The core requirements ensure that the Ph.D. units) from at least two other areas different from
• high performance computing students share knowledge of fundamental con- the major area. Any course that is listed in a stu-
• mobile computing cepts and tools. Each Ph.D. student must take dent's depth area cannot be used to fulfill the
• security and cryptography these courses for letter grade and maintain an breadth requirement, even if it is cross-listed in
• software engineering overall core course GPA of 3.4 with no grade another area. Courses must be taken for letter
lower than a B- (except for CSE 292, for which a grade and students must maintain an overall
COMPETENCY REQUIREMENT letter grade is not assigned). A student will typi- breadth course GPA of 3.0 with no grade lower
We consider command of the materials cov- cally complete all the core courses within the than B- in these courses. Units obtained in CSE
ered in the following courses to be an adequate first year of graduate study, and must complete 209 series, 229 series, 239 series, 249 series, 259
background for the Ph.D. program. The compe- all core courses within two years of entry. series, 269 series, 279 series, 289 series, 290, 292,
tency requirement is intended to ensure that CSE 202 (Algorithms) 293, 294, 298, 291, 299, 500, 501, and 599 do not
Ph.D. students already have or acquire this CSE 221 (Operating Systems) count toward the breadth requirement.
undergraduate background. Students, who do
CSE 240A (Architecture) Electives
not have this background at the time of entry,
may be asked to either enroll in the following CSE 200 (Complexity) for Computer Science In addition to the above required course
undergraduate class or to study it independently or CSE 241A (Introduction to Computing work, each student is expected to take two addi-
and demonstrate their knowledge by obtaining Circuitry) for Computer Engineering tional courses (8 units). Students must obtain
a B+ or better in the class or in the final exam. CSE 292 (Faculty Research Seminar) no grade lower than C- in these courses. Under-
CSE 101 (Algorithms) graduate upper-division courses, CSE 291, and
Depth Requirements CSE 299 may fulfill this requirement. Units
CSE 105 (Theory of Computation)
obtained in CSE 209 series, 229 series, 239 series,
CSE 120 (Principles of Computer Operating The depth requirement ensures that a Ph.D.
249 series, 259 series, 269 series, 279 series, 289
Systems) student has, early on in his or her career,
series, 290, 292, 293, 294, 298, 500, 501, and 599
Two of the following three courses: acquired some depth of knowledge in a general
do not count toward the elective requirement.
research area. Each Ph.D. student must select
CSE 130, 131A-B (Programming
one of the following areas as his or her major RESEARCH EXAM REQUIREMENT
area. The student must take three courses (12 The research exam is intended to verify three
CSE 141 (Introduction to Computer units) from this major area. The student must components of the student’s preparation for
Architecture) take these courses for letter grade and maintain Ph.D. research: (1) breadth of comprehension
COURSE REQUIREMENTS an overall depth course GPA of 3.4 with no sufficient to enable computer science research
grade lower than B- in these courses. One of in areas beyond the topic(s) of the research
The course requirement is intended to ensure these three courses can be Topics in CSE (CSE
that students are exposed to fundamental con- exam and thesis; (2) ability to perform critical
291) or Independent Study (CSE 299), which are study, analysis, and writing in a focused area;
cepts and tools (core requirement), a deep up- not taken for a letter grade. The department will
to-date view of their research area (depth require- and (3) research experience.
maintain a list of appropriate courses for each The research exam has both an oral part and
ment), and advanced, up-to-date view of the some major area.
topics outside their area (breadth requirement). a written part. The oral part of the research exam
The major areas are: is distinct from, and cannot be combined with
Ph.D. students are expected to complete the core,
Theoretical Computer Science the University Qualifying Exam. Grading criteria
depth, and breadth requirements in the first two
years of the program. All required coursework Programming Languages, Compilers, and for each part, and standards for passing, are avail-
must be taken for a letter grade except for CSE 291 Software Engineering able from the CSE department graduate office.
The research exam is conducted by a commit- DISSERTATION each spring for the following academic year. The
tee of three faculty members approved by the The dissertation defense is the final Ph.D. exami- tentative schedule for 2006–07 is also found at
Graduate Committee and the chair of the nation. A candidate for the Ph.D. is expected to http://www.cse.ucsd.edu/undergrad/courses/
department. At least two committee members write a dissertation and defend it in an oral exami- ugradnextyearcourses.html.
must be CSE senate faculty, and the student’s nation conducted by the doctoral committee. LOWER-DIVISION
adviser must be a member of the committee.
The normative time for passing the research DEPARTMENTAL PH.D. TIME LIMIT POLICIES CSE 3. Fluency in Information Technology (4)
exam is by the end of the second year of study; Students must be advanced to candidacy by Introduces the concepts and skills necessary to effec-
tively use information technology. Includes basic con-
the exam must be passed by the end of the third the end of four years. Total university support cepts and some practical skills with computer and
year if the student is to continue in the Ph.D. pro- cannot exceed seven years. Total registered time networks. Prerequisite: none.
gram. Passing the research exam enables a Ph.D. at UCSD cannot exceed eight years. CSE 5A. Introduction to Programming I (4)
student to receive the M.S. degree. Ph.D. students (Formerly CSE 62A) Introduction to algorithms and
who do not pass the exam after two attempts FINANCIAL AID top-down problem solving. Introduction to the C lan-
guage including functions, arrays, and standard
will be given the opportunity to write a thesis in Financial support is available to qualified libraries. Basic skills for using a PC graphical user inter-
order to receive a terminal M.S. degree. The M.S. graduate students in the form of fellowships, face operating system environment. File maintenance
degree is only granted to those students who do utilities are covered. (A student may not receive credit
loans, and assistantships. Anticipated stipends for for CSE 5A after receiving credit for CSE 10 or CSE 11
not already hold an M.S. degree prior to entering half-time research assistantships are $1,963 per or CSE 8B or CSE 9B or CSE 62B or CSE 65.) Prerequisite:
the CSE department at UCSD. month, with the possibility of full-time employ- A familiarity with high-school level algebra is expected,
but this course assumes no prior programming knowl-
TEACHING ASSISTANT REQUIREMENT ment during the summer months. For a half-time edge.
teaching assistantship, the anticipated stipend
All students enrolled in the Ph.D. program will be $1,675 per month. Requests for applica- CSE 8A. Introduction to Computer Science: JAVA (3)
Basic Unix. Basics of Java language. Classes, methods,
must have one quarter of training as a teaching tion forms for admission and financial support and parameters. Modularity and abstraction.
assistant. This is a formal degree requirement should be directed to the Department of Documentation techniques. Testing and verification
and must be completed before the student is techniques. Basic inheritance. Event-driven program-
Computer Science and Engineering. ming. Programming with AWT library or other similar
permitted to graduate. The requirement is met library. CSE 8A, CSE 8B, and CSE 8AL is a slower paced
by serving as a 50 percent teaching assistant version of CSE 11 with more programming practice.
Concurrent enrollment with CSE 8AL is required.
and taking either CSE 500 or CSE 501(Teaching COURSES Students who have taken CSE 8B or CSE 11 may not
Assistantship). take CSE 8A. Majors only. Prerequisites: high school
For course descriptions not found in the algebra. Specified majors only.
QUALIFYING EXAMINATION AND 2006–2007 General Catalog, please contact
ADVANCEMENT TO CANDIDACY CSE 8AL. Introduction to Computer Science:
the department for more information. JAVA Lab (1)
The qualifying examination is a requirement Exercises in the theory and practice of computer sci-
Student demand exceeds capacity in many CSE ence under the supervision of an instructor. Hands-on
for advancement to candidacy. Prior to taking courses. Accordingly, many CSE undergraduate experience with designing, editing, compiling, and
the qualifying examination a student must have courses may have enrollment restrictions which executing programming constructs and applications.
satisfied the departmental competency, course, Must be taken concurrently with CSE 8A. CSE 8A, CSE
give priority to students in the following order: 8B, and CSE 8AL is a slower paced version of CSE 11
and research exam requirements and must have with more programming practice. Students who have
• CSE majors, CSE M.S., and CSE Ph.D. students
been accepted by a CSE faculty member as a taken CSE 8B or CSE 11 may not take CSE 8AL. Majors
• CSE pre-majors, ECE CE majors and only. Prerequisites: high school algebra. Specified
Ph.D. thesis candidate. All doctoral students are majors only.
expected to advance to candidacy by the end of pre-majors, and Math-CS majors
their third year, and advancement is mandatory CSE 8B. Introduction to Computer Science: Java (4)
• students fulfilling a non-elective requirement
Continuation of the Java language. Continuation of
by the end of the fourth year. The examination is in another program programming techniques. More on Inheritance.
administered by a doctoral committee appointed • CSE minors
Exception handling. CSE 8A-B is a slower paced ver-
sion of CSE 11 with more programming practice.
by the dean of Graduate Studies and Research (Students who have taken CSE 9A or CSE 9B or CSE 10
and consists of faculty from CSE and other • all other majors or pre-majors in other SOE
or CSE 11 may not take CSE 8B.) Prerequisite: high
departments. More information on the composi- departments school algebra. Majors only.
tion of the committee can be obtained from the • all others, with permission of the Department CSE 11. Introduction to Computer Science and
CSE graduate office. The examination is taken of Computer Science and Engineering Object-Oriented Programming: Java (4)
after the student and his or her adviser have Introduction to computer science and programming
Where these restrictions apply, the registrar will using the Java language. Basic UNIX. Modularity and
identified a topic for the dissertation and an ini- not enroll low-priority students in the course. abstraction. Documentation, testing and verification
tial demonstration of feasible progress has been A tentative schedule of course offerings is avail- techniques. Basic object-oriented programming
made. The candidate is expected to describe including inheritance and dynamic bind. Exception
able from the department, EBU 3B, Room 1200D, handling. Event-driven programming. Experience
his or her accomplishments to date as well as with AWT library or other similar library. Prerequisites:
future work. high-school algebra and a course in programming in a
compiled language. Majors only.
CSE 12. Basic Data Structures and Object-Oriented CSE 91. Perspectives in Computer Science and generators, design and analysis of protocols, zero-
Design (4) Engineering (1) knowledge proofs, and advanced protocols. Empha-
Basic data structures including stacks, queues, lists, For new CSE majors. A seminar format discussion led sizes rigorous mathematical approach including
binary trees, hash tables. Basic object-oriented design by CSE faculty on topics in computer science, concen- formal definitions of security goals and proofs of pro-
including encapsulation, polymorphism, classes as the trating on the relation among them, recent develop- tocol security. Prerequisites: CSE 21 or Math. 15B, CSE 101
implementation of abstract data types. Memory man- ments, and future directions. Prerequisites: majors only. or Math. 188, CSE 105 or Math. 166. Majors only.
agement, pointers, recursion, and big-o notation. Uses
the C/C++ and Java programming language. Prere- CSE 92. Reading and Writing in Computer Science (2) CSE 111. Object Oriented Software Design (4)
quisite: CSE 8B or CSE 11. This course helps students to read and write technical Introduction to object-oriented analysis and design.
English better, and to read and write software better. Object-oriented modeling methods for analysis and
CSE 20. Introduction to Discrete Mathematics (4) They write short papers responding to a CSE-related design, object-oriented general design paradigms,
Basic discrete mathematical structure: sets, relations, book, learn the basics of functional programming, and object-oriented design techniques. Cyclic develop-
functions, sequences, equivalence relations, partial do a project using a functional language. Prerequisites: ment of object-oriented systems. Prerequisites: CSE 8B
orders, and number systems. Methods of reasoning CSE 12. Majors only. or CSE 9B or CSE 10 or CSE 11, CSE 12, and CSE 100 or
and proofs: propositional logic, predicate logic, induc- Math. 176. Majors only.
tion, recursion, and pigeonhole principle. Infinite sets CSE 99. Independent Study in Computer Science and
and diagonalization. Basic counting techniques; per- Engineering (4) CSE 112. Software Engineering (4)
mutation and combinations. Applications will be given Independent reading or research by special arrange- (Formerly CSE 110.) This course will cover software
to digital logic design, elementary number theory, ment with a faculty member. Prerequisites: lower- engineering topics associated with large systems
design of programs, and proofs of program correct- division standing. Completion of 30 units at UCSD with a development such as requirements and specifications,
ness. Credit not offered for both Math. 15A and CSE 20. UCSD GPA of 3.0. Special Studies form required. testing and maintenance, and design. Prerequisites:
Equivalent to Math 15A. Prerequisites: CSE 8A or CSE 8B Department stamp required. Consent of instructor and CSE 111. Majors only.
or CSE 11. CSE 8B or CSE 11 may be taken concurrently approval of the department. Majors only.
with CSE 20/ Math. 15A. CSE 118. Ubiquitous Computing (4)
Explores emerging opportunities enabled by cheap
UPPER-DIVISION sensors and networked computing devices, and is
CSE 21. Mathematics for Algorithms and Systems (4)
This course will provide an introduction to the discrete organized as a preparatory course for graduate school.
mathematical tools needed to analyze algorithms and CSE 100. Advanced Data Structures (4) Students read, present, and discuss research papers.
systems. Enumerative combinatorics: basic counting Descriptive and analytical presentation of data struc- Small research projects will be conducted in teams,
principles, inclusion-exclusion, and generating func- tures and algorithms. Lists, tables, priority queues, dis- culminating in project presentations at the end of the
tions. Matrix notation. Applied discrete probability. joint subsets, and dictionaries data types. Data term.The weekly discussion section will cover material
Finite automata. Credit not offered for both Math.15B structuring techniques include linked lists, arrays, relevant to the project on research methods, software
and CSE 21. Equivalent to Math 15B. Prerequisites: CSE hashing, and trees. Performance evaluation involving engineering, teamwork, and project management.
20 or Math. 15A. worst case, average and expected case, and amortized Prerequisites: successful completion of a major project
analysis. Credit not offered for both Math. 176 and CSE course, including: CSE 131B, CSE 132B, Cog Sci 102C, Cog
CSE 30. Computer Organization and Systems 100. Equivalent to Math. 176. Prerequisites: CSE 12, CSE Sci 121, Cog Sci 184, ECE 111, ECE 118, ECE 191, ECE 192,
Programming (4) 21 or Math. 15B, and CSE 30, or consent of the instructor. COMT 111B, COMT 115, or ICAM 160B. Other project
(Formerly CSE 70.) Introduction to organization of Majors only. courses, experience, or accomplishments may be peti-
modern digital computers—understanding the vari- tioned. Majors only.
ous components of a computer and their interrela- CSE 101. Design and Analysis of Algorithms (4)
tionships. Study of a specific architecture/machine Design and analysis of efficient algorithms with CSE 120. Principles of Computer Operating Systems (4)
with emphasis on systems programming in C and emphasis of non-numerical algorithms such as sort- (Formerly CSE 171A.) This course introduces the basic
Assembly languages in a UNIX environment. Prere- ing, searching, pattern matching, and graph and net- concepts used to structure computer operating sys-
quisites: CSE 12 and CSE 20 or Math. 15A; or consent of work algorithms. Measuring complexity of algorithms, tems. Examples of notions introduced and discussed
the instructor. time and storage. NP-complete problems. Credit not are batch processing, multiprogramming, input/
offered for both Math. 188 and CSE 101. Equivalent to output, pooling, interrupt handling, processes, descrip-
CSE 80. UNIX Lab (2) Math 188. Prerequisites: CSE 12, CSE 21 or Math. 15B or tors, process synchronization, interprocess communi-
The objective of the course is to help the program- Math. 100A or Math. 103A and CSE 100 or Math. 176. cation, memory management, virtual memory,
mers create a productive UNIX environment. Topics Majors only. caching, buffers, naming, files, interactive command
include customizing the shell, file system, shell pro- interpre-ters, and processor scheduling. Prerequisites:
CSE 102. Storage System Architectures (4) CSE 100 or Math. 176, CSE 101 or Math. 188, and CSE 141.
gramming, process management, and UNIX tools.
Descriptive and analytic introduction to storage sys- Majors only.
(P/NP grades only.) Prerequisite: CSE 8B or CSE 9B or CSE
tem architectures. Disk drive storage media organiza-
10 or CSE 11.
tion and run-time performance; external indexing CSE 121. Operating Systems: Architecture and
CSE 86. C++ for Java Programmers (2) data structures B+trees and linear hashing algo- Implementation (4)
The objective of the course is to help the Java pro- rithms. Disk arrays, RAID data organization, reliability, (Formerly CSE 171B.) Case study of architecture and
grammer to be productive in the C++ programming sparing, data declustering, and video servers. implementation of a selected modern operating system.
environment. Topics include the similarities and differ- Prerequisites: CSE 100 or Math 176, CSE 120, CSE 123A, In-depth analysis through a detailed study of source
ences between Java and C++ with special attention to or consent of the instructor. Majors only. code.Topics include process creation, context-switching,
pointers, operator overloading, templates, the STL, the memory allocation, synchronization mechanisms, inter-
CSE 105. Theory of Computability (4) process communication, I/O buffering, device drivers,
preprocessor, and the C++ Runtime Environment.
An introduction to the mathematical theory of com- and file systems. Prerequisite: CSE 120.
Prerequisites: CSE 30 or consent of the instructors.
putability. Formal languages. Finite automata and reg-
CSE 87. Freshman Seminar (1) ular expression. Push-down automata and context- CSE 123A. Computer Networks (4)
The Freshman Seminar Program is designed to pro- free languages. Computable or recursive functions: Introduction to concepts, principles, and practice of
vide new students with the opportunity to explore an Turing machines, the halting problem. Undecidability. computer communication networks with examples
intellectual topic with a faculty member in a small Credit not offered for both Math. 166 and CSE 105. from existing architectures, protocols, and standards
seminar setting. Freshman seminars are offered in all Equivalent to Math 166. Prerequisites: CSE 12, CSE 21 or with special emphasis on the Internet protocols.
campus departments and undergraduate colleges, Math. 15B or Math. 100A or Math. 103A. Majors only. Layering and the OSI model; physical and data link
and topics vary from quarter to quarter. Enrollment is layers; local and wide area networks; datagrams and
CSE 107. Introduction to Modern Cryptography (4) virtual circuits; routing and congestion control;
limited to 15 to 20 students, with preference given to
Topics include private and public-key cryptography, internetworking. Transport protocols. Prerequisite:
entering freshmen. Prerequisite: none.
block ciphers, data encryption, authentication, key dis- CSE 141. Majors only.
tribution and certification, pseudorandom number
CSE 123B. Communications Software (4) CSE 100 or Math. 176, CSE 105 or Math. 166, and CSE systems. Prerequisites: CSE 140, CSE 140L, or consent of
Protocol software structuring, The Internet protocol 131A. Majors only. the instructor. CSE 141L should be taken concurrently.
suite, Inter-process communication, Protocols for Majors only.
real-time and multimedia (digital audio and video) CSE 132A. Database System Principles (4)
communication, multicast, bridging, and group com- Basic concepts of databases, including data modeling, CSE 141L. Project in Computer Architecture (2)
munication protocols, protocols for mobile and per- relational databases, query languages, optimization, Hands-on computer architecture project aiming to
sonal communication networks, application-level dependencies, schema design, and concurrency con- familiarize students with instruction set architecture,
protocols, secure communication. Prerequisite: CSE 120 trol. Exposure to one or several commercial database and design of process. Control and memory systems.
or consent of the instructor. CSE 123A is strongly recom- systems. Advanced topics such as deductive and Prerequisites: CSE 140, CSE 140L, or consent of the
mended. Majors only. object-oriented databases, time allowing. Prerequisite: instructor. CSE 141 should be taken concurrently. Majors
CSE 100 or Math. 176. Majors only. only.
CSE 125. Software System Design
and Implementation (4) CSE 132B. Database Systems Applications (4) CSE 142. Advanced Digital Logic Design (4)
Design and implementation of large, complex soft- Design of databases, transactions, use of trigger facili- (Formerly CSE 170C) Digital logic optimization; func-
ware systems involving multiple aspects of CSE cur- ties and datablades. Performance measuring, organi- tional decomposition and symmetric functions; reli-
riculum. Emphasis is on software system design zation of index structures. Prerequisite: CSE 132 or CSE able design and fault diagnosis; structure of
applied to a single, large group project with close 132A or equivalent. sequential machines; asynchronous circuit design.
interaction with instructor. Prerequisites: senior stand- Assignments using logic synthesis tools. Prerequisites:
ing with substantial programming experience, and con- CSE 133. Information Retrieval (4) CSE 140,
sent of instructor. Department stamp required. Majors (Formerly CSE 181.) How to find “relevant” documents CSE 140L.
only. (e.g., an electronic mail message or a book) from very
large corpora (e.g., all the world’s electronic mail or the CSE 143. Microelectronic System Design (4)
CSE 126. Multimedia Systems (4) library.) Students will construct and experimentally VSLI process technologies; circuit characterization;
Multimedia technologies; multimedia storage models evaluate a complete IR system for a modest textual logic design styles; clocking strategies; computer-
and structures; data models and interfaces; multime- corpus. Prerequisite: CSE 100 or Math. 176. Majors only. aided design tools; subsystem design; design case
dia information systems; video/audio networking; studies. System design project from hardware
media synchronization; image computing and infor- CSE 134A. Web Server Languages (4) description, logic synthesis, physical layout to design
mation assimilation; conferencing paradigms and Design and implementation of interactive World Wide verification. Students may not receive credit for both
structured interaction support. Prerequisite: CSE 120 or Web documentation using server-side programs. CSE 143 and ECE 161B. Prerequisites: CSE 140 and CSE
Other languages as time allows. Prerequisite: CSE 100 or
CSE 127. Introduction to Computer Security (4) Math. 176. Majors only. CSE 144. Computer-Aided Design of VLSI Circuits (4)
Topics include basic cryptography, security/threat (Formerly CSE 172B) Introduction to Computer-Aided
analysis, access control, auditing, security models, dis- CSE 134B. Web Client Languages (4) Design.Placement,assignment and floor planning tech-
tributed systems security, and theory behind common Design and implementation of interactive World Wide niques. Routing. Symbolic layout and compaction.
attack and defense techniques. The class will go over Web clients using helper applications and plug-ins. Module generation and silicon compilation. Prere-
formal models as well as the bits and bytes of security The main language covered will be Java. Prerequisite: quisites: CSE 140 and CSE 140L,or consent of the instructor.
exploits. Prerequisite: CSE 21 or Math. 15B, and CSE 120. CSE 100 or Math. 176. Majors only.
CSE 146. Introduction to Reliable Hardware (4)
CSE 135. Server-side Web Applications (4) Fault models and tests, combinational circuit test gen-
CSE 128. Concurrency (4) Design and implementation of dynamic web-based eration, fault collapsing, fault simulation, synchronous
Specification of concurrent programs safety, liveness, applications. Multi-tier architecture, scripting lan- sequential circuit testing, functional testing, memory
and fairness: producer-consumer; mutual exclusion; guages, SQL, XML, session handling, non-browser testing. Prerequisites: CSE 140 and CSE 140L, or consent
atomic read/writes; semaphores; monitors; distributed clients, Web services, and scalability, security, and of instructor. Majors only.
algorithms and memory coherency; programming usability in the Web context. Prerequisites: CSE 100 or
Math. 176. Majors only. CSE 150. Programming Languages for Artificial
with threads; concurrency in popular programming
languages and operating systems. Prerequisite: CSE
CSE 136. Enterprise-class Web Applications (4) Note: CSE 150 is pending CEP approval. (Formerly CSE
120. Majors only.
Design and implementation of large scale web-based 162) Experience using two very different approaches
CSE 130. Programming Languages: Principles and applications. Modeling organizational needs, design to artificial intelligence programming. Symbolic
Paradigms (4) and revision management, J2EE or similar software manipulation using LISP, with examples drawn from
(Formerly CSE 173.) Introduction to programming lan- platforms, Web and application server functionality, heuristic search, inference, and/or resolution theorem
guages and paradigms, the components that comprise reuse of object-oriented components, model-view- proving. Pattern recognition and transformation
them,and the principles of language design,all through controller and other design patterns, clustering, load- using neural networks with perception and back
the analysis and comparison of a variety of languages balancing, fault-tolerance, authentication, usage propagation learning algorithms, applied to problems
(e.g., Pascal, Ada, C++, PROLOG, ML.) Will involve pro- accounting. Prerequisite: CSE 135. Majors only. such as face recognition, English past tense formation,
gramming in most languages studied. Prerequisites: CSE etc. Prerequisites: CSE 8B or CSE 9B or CSE 10 or CSE 11,
12 and CSE 100 or Math. 176. Majors only. CSE 140. Components and Design Techniques for CSE 12, and CSE 100 or Math. 176. Majors only.
Digital Systems (4)
CSE 131A. Compiler Construction I (4) (Formerly CSE 170A) Design of Boolean logic and finite CSE 151. Introduction to Artificial Intelligence (4)
(Formerly CSE 163A.) Introduction to the compilation state machines; two-level, multi-level combinational An introduction to theoretical issues and computa-
of programming languages, principles and practice logic design, combinational modules and modular tional techniques arising from a comparison of
of lexical and syntactic analysis, error analysis, syntax- networks, Mealy and Moore machines, analysis and human and machine intelligences. Knowledge rep-
directed translation, and type checking. Prerequisites: synthesis of canonical forms, sequential modules. resentation languages; problem-solving heuristics;
CSE 30, CSE 100 or Math. 176, and CSE 105 or Math. 166. Prerequisites: CSE 20 or Math. 15A, CSE 30. CSE 140L must machine learning and application areas including
Majors only. be taken concurrently. Majors only. vision, robotics, and natural language understand-
ing will be reviewed. Prerequisite: CSE 150 or consent
CSE 131B. Compiler Construction II (4) CSE 140L. Digital Systems Laboratory (2) of the instructor. Majors only.
(Formerly CSE 163B.) Principles and practice for the (Formerly CSE 175B) Implementation with computer-
design and implementation for the back-end of trans- aided design tools for combinational logic minimization CSE 152. Introduction to Computer Vision (4)
lators for programming languages, symbol tables, and state machine synthesis.Hardware construction of a The goal of computer vision is to compute scene and
syntax-directed translation, code generation, opti- small digital system. Prerequisites: CSE 20, CSE 30. CSE 140 object properties from images and video. This intro-
mization, and compiler structure. Prerequisites: CSE 30, must be taken concurrently. ductory course includes feature detection, image seg-
mentation, motion estimation, object recognition,
CSE 141. Introduction to Computer Architecture (4)
Introduction to computer architecture. Computer sys-
tem design. Processor design. Control design. Memory
and 3-D shape reconstruction through stereo, photo- network theory, and some neo-classical economics. group of students under the supervision of a faculty
metric stereo, and structure from motion. Prerequisites: Prerequisites: CSE 100 or Math. 176. Majors only. member. (P/NP grades only.) Prerequisite: consent of the
Math. 20F, CSE 100 or Math. 176, CSE 101 or Math. 188. instructor. Department stamp required.
Knowledge of C, C++ or Matlab programming. Majors CSE 181. Molecular Sequence Analysis (4)
only. This course covers the analysis of nucleic acid and pro- CSE 199. Independent Study for Undergraduates
tein sequences, with an emphasis on the application of (2 or 4)
CSE 160. Introduction to Parallel Computing (4) algorithms to biological problems. Topics include Independent reading or research by special arrange-
Introduction to HPPC: parallel architecture, algorithms, sequence alignments, database searching, comparative ment with a faculty member. (P/NP grades only.)
software and problem-solving techniques. Areas genomics, and phylogenetic and clustering analyses. Prerequisite: consent of the instructor. Department
covered: Flynn’s taxonomy, processor-memory organi- Pairwise alignment, multiple alignment, DNS sequenc- stamp required.
zations, shared and non-shared memory models; mes- ing, scoring functions, fast database search, compara-
sage passing and multithreading, data parallelism; tive genomics, clustering, phylogenetic trees, gene
speedup, efficiency, and Amdahl’s law, communication finding/DNA statistics. Prerequisites: CSE 100 or Math. GRADUATE
and synchronization, isoefficiency, and scalability. 176, CSE 101 or Math. 188, BIMM 100 or Chem. 114D.
Topics: run time software techniques, compilers, and Bioinformatics majors only. CSE 181 is crosslisted with CSE 200. Computability and Complexity (4)
grid computing. Assignments given to provide practi- BIMM 181 and BENG 181. Computability review, including halting problem,
cal experience. Prerequisite: CSE 100 or Math. 176. decidable sets, r.e. sets, many-one reductions;TIME(t(n)),
Majors only. CSE 182. Biological Databases (4) SPACE(s(n)) and general relations between these
This course provides an introduction to the features of classes; L, P, PSPACE, NP; NP—completeness; hierarchy
CSE 166. Image Processing (4) biological data, how that data are organized efficiently theorems; RP, BPP. Prerequisite: CSE 105 or equivalent.
Principles of image formation, analysis, and represen- in databases, and how existing data resources can be
tation. Image enhancement, restoration, and segmen- utilized to solve a variety of biological problems. CSE 201A. Advanced Complexity (4)
tation; stochastic image models. Filter design, Relational databases,object oriented databases,ontolo- Polynomial-time hierarchy (PH); BPP in second level of
sampling, Fourier and wavelet transforms. Selected gies, data modeling and description, survey of current PH; Savitch’s theorem; NL=coNL; non-uniform and cir-
applications in computer graphics and machine biological database with respect to above, implementa- cuit complexity; some circuit lower bounds; IP=PSPACE;
vision. Prerequisites: Math. 20F, CSE 100 or Math. 176. tion of a database focused on a biological topic. probabilistic proof checking (PCP); Application of PCP
Majors only. Prerequisites: CSE 100 or Math.176.Bioinformatics majors to approximation hardness; Complexity of proof sys-
only. CSE 182 is crosslisted with BIMM 182, Chem 182, tems; Parallel complexity classes NC and AC; P-com-
CSE 167. Computer Graphics (4) and BENG 182. pleteness. Prerequisite: CSE 200.
(Formerly CSE 177) Representation and manipulation
of pictorial data. Two-dimensional and three-dimen- CSE 184. Computational Molecular Biology (4) CSE 202. Algorithm Design and Analysis (4)
sional transformations, curves, surfaces. Projection, This advanced course covers the application of The basic techniques for the design and analysis of
illumination, and shading models. Raster and vector machine learning and modeling techniques to biolog- algorithms. Divide-and-conquer, dynamic program-
graphic I/O devices; retained-mode and immediate- ical systems.Topics include gene structure, recognition ming, data structures, graph search, algebraic problems,
mode graphics software systems and applications. of DNA and protein sequence patterns, classification, randomized algorithms, lower bounds, probabilistic
Prerequisites: Math. 2EA/20F and CSE 100 or Math. 176. and protein structure prediction. Pattern discovery, analysis, parallel algorithms. Prerequisite: CSE 101 or
Majors only. Hidden Markov models/support victor machines/ equivalent.
neural network/profiles. Protein structure prediction,
CSE 168. Computer Graphics II: Rendering (4) functional characterization or proteins, functional CSE 203A. Advanced Algorithms (4)
Weekly programming assignments that will cover genomics/proteomics, metabolic pathways/gene net- Modern advances in design and analysis of algo-
graphics rendering algorithms. During the course the works. Prerequisites: BIMM 181 or BENG 181 or CSE 181, rithms. Exact syllabus varies. Topics include approxi-
students will learn about ray tracing, geometry, tessel- BIMM 182 or CSE 182 or CHEM 182. Bioinformatics mation, randomized algorithms, probabilistic analysis,
lation, acceleration structures, sampling, filtering, majors only. CSE 184 is crosslisted with BIMM 184, BENG heuristics, online algorithms, competitive analysis,
shading models, and advanced topics such as global 184, and Chem 184. models of memory hierarchy, parallel algorithms, num-
illumination and programmable graphics hardware. ber-theoretic algorithms, cryptanalysis, computational
Prerequisites: CSE 167 or concurrent enrollment. Majors CSE 190. Topics in Computer Science and geometry, computational biology, network algo-
only. Engineering (4) rithms, VLSI CAD algorithms. Prerequisite: CSE 202.
Topics of special interest in computer science and
CSE 169. Computer Animation (4) engineering. Topics may vary from quarter to quarter. CSE 204A. Combinatorial Optimization (4)
Advanced graphics focusing on the programming May be repeated for credit with the consent of instruc- Linear programming, simplex method, duality, and col-
techniques involved in computer animation. Algo- tor. Prerequisites: consent of the instructor and depart- umn generating technique. Integer programming
rithms and approaches for both character animation ment stamp required. Majors only. introduced via the Knapsack problem. The periodic
and physically based animation. Particular subjects nature of all integer programs. Why the round-off
may include skeletons, skinning, key framing, facial CSE 191. Seminar in CSE (1–4) technique cannot work in general. The solution of the
animation, inverse kinematics, locomotion, motion A seminar course on topics of current interest. Knapsack problem in polonominal time since nonba-
capture, video game animation, particle systems, rigid Students, as well as, the instructor will be actively sic columns form a group. Prerequisites: CSE 202 or
involved in running the course/class. This course Linear Algebra or consent of instructor.
bodies, clothing, and hair. Prerequisites: a good under-
cannot be counted toward a technical elective. Prere-
standing of linear algebra. CSE 167 or consent of instruc-
quisites: consent of instructor. Department stamp CSE 205A. Logic in Computer Science (4)
tor. Majors only.
required. Majors only. (Formerly CSE 208D) Mathematical logic as a tool in
CSE 171. User Interface Design (4) computer science. Propositional logic, resolution, first-
CSE 195. Teaching (4) order logic, completeness and incompleteness theo-
Explores usability, representation and coordination
Teaching and tutorial assistance in a CSE course under rems with computational viewpoint, finite model
issues in user interface design with some focus on dis-
the supervision of the instructor. (P/NP grades only.) theory,descriptive complexity,logic programming,non-
tributed cooperative work, semiotics, and the interplay
Prerequisite: consent of the department chair. Depart- monotonic reasoning, temporal logic. Applications to
between socio-cognitive and technical issues. Most
ment stamp required. databases, automatic theorem proving, program verifi-
examples and homework involve the Web. Prerequisites:
CSE 8B or 11, CSE 20 or Math. 15A, and CSE 100 or Math. cation, and distributed systems. Prerequisite: CSE 200 or
CSE 197. Field Study in Computer Science and consent of instructor.
176. Majors only. Engineering (4, 8, 12, or 16)
Directed study and research at laboratories away from CSE 206A. Lattice Algorithms and Applications (4)
CSE 175. Social and Ethical Issues in Information
the campus. (P/NP grades only.) Prerequisite: consent of (Formerly CSE 207C) Introduction to the algorithmic
the instructor and approval of the department. Depar- theory of point lattices (A.K.A. algorithmic geometry of
Social aspects of information technology, with an
tment stamp required. numbers), and some of its most important applica-
emphasis on ethical issues. Topics include ethical theo-
ries, privacy and security, spam, e-commerce, the digital tions in cryptography and cryptanalysis.Topics usually
CSE 198. Directed Group Study (2 or 4)
divide,open source software,medical informatics,actor- Computer science and engineering topics whose
study involves reading and discussion by a small
include: LLL basis reduction algorithm, cryptanalysis of CSE 218. Advanced Topics in Software Engineering (4) pensive disks, striping, log and maximum distance
broadcast RSA, hardness of approximating lattice This course will cover a current topic in software engi- separable data organizations, sparing. Prerequisite: CSE
problems. Prerequisites: CSE 202, CSE 200, or concurrent. neering in depth.Topics in the past have included soft- 221 or consent of instructor.
ware tools, impacts of programming language design,
CSE 206B. Algorithms in Computational Biology (4) and software system structure. (S/U grades permitted.) CSE 227. Computer Security (4)
(Formerly CSE 257B) The course focuses on algorith- Prerequisite: none. Security and threat models, risk analysis, authentica-
mic aspects of modern bioinformatics and covers the tion and authorization, auditing, operating systems
following topics: computational gene hunting, CSE 221. Operating Systems (4) security, access control mechanisms, protection
sequencing, DNA arrays, sequence comparison, pattern Operating system structures, concurrent computation mechanisms, distributed systems/network security,
discovery in DNA, genome rearrangements, molecular models, scheduling, synchronization mechanisms, security architecture, electronic commerce security
evolution, computational proteomics, and others. address spaces, memory management protection and mechanisms, security evaluation. Prerequisite: CSE 221
Prerequisite: CSE 202 or consent of instructor. security, buffering, streams, data-copying reduction or consent of instructor.
techniques, file systems, naming, caching, disk organi-
CSE 207. Modern Cryptography (4) zation, mapped files, remote file systems, case studies CSE 228. Multimedia Systems (4)
Private and public key cryptography, introduction to of major operating systems. Prerequisites: CSE 120 and (Formerly 228F) Emerging multimedia technologies;
reduction based proofs of security, concrete security, 121, or consent of instructor. multimedia storage models and structures; video/
block ciphers, pseudorandom functions and genera- audio networking; intra-media continuity; inter-media
tors, symmetric encryption, asymmetric encryption, CSE 222. Communication Networks (4) synchronization; admission control and support for
computational number theory, RSA and discrete log Renumbered to CSE 222A (see below). real time; distributed multimedia systems; structured
systems, message authentication, digital signatures, interaction support (collaboration and teamwork);
key distribution and key management. Prerequisites: CSE 222A. Computer Communication Networks (4) multimedia encoding. Prerequisite: consent of instruc-
CSE 202 or consent of instgructor. (Formerly CSE 222.) Computer communication net- tor.
work concepts, protocols, and architectures, with an
CSE 207C. Lattices and Cryptology (4) emphasis on an analysis of algorithms, protocols, and CSE 228B. Storage Systems (4)
Renumbered to CSE 206A (see above). design methodologies. Topics will include layering, Renumbered to CSE 226 (see above).
error control, flow control, congestion control, switch-
CSE 208. Advanced Cryptography (4) ing and routing, quality of service management, CSE 228F. Multimedia Systems (4)
Zero-knowledge, secure computation, session-key mobility, naming, security, and selected contemporary Renumbered to CSE 228 (see above).
distribution, protocols, electronic payment, one-way topics. Prerequisite: CSE 123A or consent of instructor.
functions, trapdoor permutations, pseudorandom CSE 228H. Internet Algorithmics (4)
bit generators, hardcore bits. Prerequisites: CSE 202, CSE 222B. Internet Algorithmics (4) Renumbered to CSE 222B (see above).
CSE 200, and CSE 207 or consent of instructor. (Formerly CSE 228H.) Techniques for speeding up
Internet implementations including system restructur- CSE 229A. Topics/Seminar in Computer Systems (1-4)
CSE 208D. Logic in Computer Science (4) ing, new algorithms, and hardware innovations. Topics Discussion on problems of current research interest in
Renumbered to CSE 205A (see above). include: models for protocols, systems and hardware; computer systems. Possible areas of focus include: dis-
efficiency principles; applying these principles to deriv- tributed computing, computational grid, operating
CSE 209A. Topics/Seminar in Algorithms, Complexity, ing techniques for efficient implementation of common systems, fault-tolerant computing, storage systems,
and Logic (1-4) endnode and router functions. Prerequisites: CSE 123A or system services for the World Wide Web. Topics to be
Topics of special interest in algorithms, complexity, CSE 222A or consent of instructor. presented by faculty and students under faculty
and logic to be presented by faculty and students direction. Topics vary from quarter to quarter. May be
under faculty direction. Topics vary from quarter to CSE 223. Distributed Systems (4) repeated for credit. Prerequisite: consent of instructor.
quarter. May be repeated for credit. Prerequisites: con- Renumbered to CSE 223A (see below).
sent of instructor. CSE 229B. Topics/Seminar in Networks
CSE 223A. Principles of Distributed Computing (4) and Communication (1-4)
CSE 209B. Topics/Seminar in Cryptography (1-4) (Formerly CSE 223) Logical and physical time, snap- Discussion on problems of current research interest in
Topics of special interest in cryptography to be pre- shot protocols, failure models, replication strategies, computer networks and communication. Possible
sented by faculty and students under faculty direc- consensus and reliable broadcast, self-stabilization, areas of focus include: wide-area networking, wireless
tion. Topics vary from quarter to quarter. May be atomic commit. Prerequisites: CSE 221 or consent of networks, the Internet, computational grid, operating
repeated for credit. Prerequisite: consent of instructor. instructor. systems, fault-tolerant computing, storage systems.
Topics to be presented by faculty and students under
CSE 210. Principles of Software Engineering (4) CSE 223B. Distributed Computing and Systems (4) faculty direction. Topics vary from quarter to quarter.
(Formerly CSE 264A.) General principles in modern Efficient primitives for distributed operating systems May be repeated for credit. Prerequisite: consent of
software engineering. Both theoretical and practical and high-performance network servers, including con- instructor.
topics are covered.Theoretical topics include proofs of current and event-driven server architectures, remote
correctness, programming language semantics, and procedure calls, and load shedding. Distri-buted nam- CSE 229C. Topics/Seminar in Computer Security (1-4)
theory of testing. Practical topics include structured ing, directory, and storage services, replication for fault Discussion on problems of current research interest in
programming, modularization techniques, design of tolerance, and security in distributed systems. computer security. Topics to be presented by faculty
languages for reliable programming, and software Prerequisites: CSE 221, CSE 222A, or consent of instructor. and students under faculty direction.Topics vary from
tools. Prerequisites: CSE 100, 131A, 120, or consent of quarter to quarter. May be repeated for credit. Prere-
instructor. CSE 225. High Performance Distributed Computing quisite: consent of instructor.
(and Computational Grids) (4)
CSE 211. Software Testing and Analysis (4) Architecture of high performance distributed systems CSE 230. Principles of Programming Languages (4)
Survey of testing and analysis methods. Introduction (e.g., frameworks and middleware). High performance (Formerly CSE 273.) Functional versus imperative pro-
to advanced topics in area as well as traditional pro- distributed objects (DCOM, Corba, Java Beans) and gramming. Type systems and polymorphism; the ML
duction methods. Topics include inspections and networking with crosscut issues for performance, language. Higher order functions, lazy evaluation.
reviews, formal analysis, verification and validation availability, and performance predictability. Scalable Abstract versus concrete syntax, structural and well-
standards, non-statistical testing, statistical-testing servers, metacomputing, and scientific computing. founded induction. The lambda calculus, reduction
and reliability models, coverage methods, testing and Prerequisites: CSE 121 and CSE 123A or consent of strategies, combinators. Denotational semantics, ele-
analysis tools, and organization management and instructor. mentary domain theory. Prerequisite: CSE 130 or equiv-
planning. Methods special to special development alent, or consent of instructor.
approaches such as object-oriented testing will also CSE 226. Storage Systems (4)
be described. Prerequisite: undergraduate major in com- (Formerly CSE 228B.) Secondary and tertiary storage CSE 231. Advanced Compiler Design (4)
puter science or extensive industrial experience. systems, optical and magnetic media, performance (Formerly CSE 264C.) Advanced material in program-
analysis, modeling, reliability, redundant arrays of inex- ming languages and translator systems. Topics
include compilers, code optimization, and debugging CSE 239A. Topics/Seminar in Databases (1-4) CSE 244B. Testable and Fault Tolerant Hardware
interpreters. Prerequisites: CSE 100, 131A-B, or consent of Discussion on problems of current research interest in Design (4)
instructor. databases. Possible areas of focus include: core data- Scan path design, BIST architectures, test point inser-
base issues, data management on the web, data inte- tion, self-checking circuits, test and fault tolerance in
CSE 232. Principles of Database Systems (4) gration, new database models and applications, formal architectural synthesis, reconfigurable fault tolerant
(Formerly CSE 264D.) Database models including rela- methods in databases. Topics to be presented by fac- hardware, and SOC test design. Prerequisite: CSE 244A
tional, hierarchic, and network approaches. Implemen- ulty and students under faculty direction. Topics vary or consent of instructor.
tation of databases including query languages and from quarter to quarter. May be repeated for credit.
system architectures. Prerequisite: CSE 100 or consent of Prerequisite: consent of instructor. CSE 245. Computer Aided Circuit Simulation and
instructor. Verification (4)
CSE 240. Principles in Computer Architecture I (4) This course is about the computer algorithms, tech-
CSE 232B. Database System Implementation (4) Renumbered to CSE 240A (see below). niques, and theory used in the simulation and verifica-
A hands-on approach to the principles of databases tion of electrical circuits. Prerequisite: CSE 241A or
implementation. Algebraic rewriters/optimizers, query CSE 240A. Principles of Computer Architecture (4) consent of instructor.
processors, triggers. Beyond centralized relational (Formerly CSE 240.) This course will cover fundamental
databases. Prerequisites: CSE 232. concepts in computer architecture. Topics include CSE 246. Computer Arithmetic Algorithms and
instruction set architecture, pipelining, pipeline haz- Hardware Design (4)
CSE 233. Database Theory (4) ards, bypassing, dynamic scheduling, branch predic- Number representation, fixed point adders, sub-
Theory of databases. Theory of query languages, tion, superscalar issue, memory-hierarchy design, tracters, and multipliers; modified booth’s recoding,
dependency theory, deductive databases, incomplete advanced cache architectures, and multiprocessor high-radix multiplication, (non)restoring dividers, SRT
information, complex objects, object-oriented data- architecture issues. Prerequisite: CSE 141 or consent of division, high-radix dividers, division by convergence,
bases, and more. Connections to logic and complexity instructor. square-rooting, floating point arithmetic, rounding
theory including finite model theory and descriptive schemes, errors and error control, and floating point
complexity. Prerequisite: CSE 200. CSE 241. Advanced Computer Architecture (4) adders, subtracters, multipliers, dividers. Prerequisite:
Renumbered to CSE 240B (see below). CSE 241A or consent of instructor.
CSE 237A. Introduction to Embedded Computing (4)
Embedded system technologies including processors, CSE 240B. Advanced Computer Architecture (4) CSE 247. Application Specific and Reconfigurable
DSP, memory, and software. System interfacing basics, (Formerly CSE 241.) This course covers advanced top- Computer Architecture (4)
communication strategies, sensors, and actuators. ics in computer architecture, including multiprocessor This course covers architecture concepts used to tailor
Mobile and wireless technology in embedded sys- architecture, interconnection networks, cache coher- processors to a specific application or sets of applica-
tems. Using pre-designed hardware and software ence, cache consistency. It incorporates the latest tions. It covers Field-Programmable Gate Arrays
components. Design case studies in wireless, multime- research and development on topics such as branch (FPGAs), various forms of Application Specific
dia, and/or networking domains. Prerequisites: basic prediction, instruction-level parallelism, multithread- Integrated Circuit (ASIC) designs, Application Specific
courses in digital hardware, algorithms and data struc- ing, and cache hierarchy design. Prerequisite: CSE 240A Integrated Processors (ASIP), and augmenting cus-
tures, elementary calculus, and probability; or consent of or consent of instructor. tomizable VHDL cores. Prerequisite: CSE 241A or consent
instructor. of instructor.
CSE 241A/ECE 260B. VLSI Integration of Computing
CSE 237B. Software for Embedded Systems (4) Circuitry (4) CSE 248. Algorithmic and Optimization Foundations for
Embedded computing elements, device interfaces, VLSI integrated-circuit building blocks of computing VLSI CAD (4)
time-critical IO handling. Embedded software design systems, and their implementation. Computer-aided Algorithmic techniques and optimization frameworks
under size, performance, and reliability constraints. design and performance simulations, design exercises for large-scale, difficult optimizations. Primal-dual mul-
Software timing and functional validation. Program- and projects. Devices, standard cells and intercon- ticommodity flow approximations, approximations for
ming methods and compilation for embeddable soft- nects, clocking, power/ground distribution, arithmetic geometric and graph Steiner formulations, continuous
ware. Embedded runtime systems. Case studies of modules, memories. Methodologies and tradeoffs in placement optimization, heuristics for Boolean satisfi-
real-time software systems. Prerequisites: CSE 237A; or system implementation. Prerequisites: layout (CSE 165 ability, multilevel methods, semidefinite program-
basic courses in programming, algorithms and data or ECE 260A) and logic design (CSE 140 or ECE 111), or ming, and application to other formulations (e.g.,
structures, elementary calculus, discrete math, computer consent of instructor. scheduling). Prerequisites: CSE 241A or CSE 242A or con-
architecture; or consent of instructor. sent of instructor.
CSE 242A. Integrated Circuit Layout Automation (4)
CSE 237C. Validation and Testing of Embedded Couplings among timing, circuits and spatial embed- CSE 249A. Topics/Seminar in Computer
Systems (4) ding in nanometer-scale CMOS design.The role,and key Architecture (1-4)
Embedded system building blocks including IP cores. problems, of physical layout in IC implementation. Topics of special interest in computer architecture to
Co-simulation. Formal verification using mdel check- Example topics: RTL-to-GDSII methodologies, analyses be presented by faculty and students under faculty
ing. Verification environments. Test challenges in core and estimations, partitioning, floor planning, place- direction. Topics vary from quarter to quarter. May be
integration: compliance, feature, random, and collision ment, routing, special net routing, cell generation, com- repeated for credit. Prerequisite: consent of instructor.
testing. Core access and test integration. Interface- paction. Prerequisite: CSE 241A or consent of instructor.
based verification and standards. Prerequisites: CSE CSE 249B. Topics/Seminar in VLSI (1-4)
237A; or basic courses in algorithms and data structures, CSE 243A. Introduction to Synthesis Methodologies Topics of special interest in VLSI to be presented by
elementary calculus, discrete math, symbolic logic, com- in VLSI CAD (4) faculty and students under faculty direction. Topics
puter architecture; or consent of instructor. Hardware software co-design, architectural level syn- vary from quarter to quarter. May be repeated for
thesis, control synthesis and optimization, scheduling, credit. Prerequisite: consent of instructor.
CSE 237D. Design Automation and Prototyping for binding, register and bus sharing, interconnect design,
Embedded Systems (4) module selection, combinational logic optimization, CSE 249C. Topics/Seminar in CAD (1-4)
System representation and modeling. Abstract and state minimization, state encoding, and retiming. Topics of special interest in CAD to be presented by
language models. Simulation as a modeling activity. Prerequisite: CSE 241A or consent of instructor. faculty and students under faculty direction. Topics
Computational and hw/sw system prototypes. System vary from quarter to quarter. May be repeated for
analysis using models. Constraint and interface model- CSE 244A. VLSI Test (4) credit. Prerequisite: consent of instructor.
ing. Behavioral compilation and synthesis. Prerequi- Design for test, testing economics, defects, failures and
sites: CSE 237A; or basic courses in digital logic design, faults, fault models, fault simulation, automatic test CSE 250A. Artificial Intelligence I (4)
algorithms and data structures, elementary calculus, dis- pattern generation, functional testing, memory, PLA, (Formerly CSE 278A.) Issues in knowledge representa-
crete math, symbolic logic, computer architecture; or FPGA, microprocessor test, and fault diagnosis. tion (using logic, semantic networks, production sys-
consent of instructor. Prerequisite: CSE 241A or consent of instructor. tems, and connectionist representations) will be the
focus of this course. A discussion of logic program-
ming languages (like PROLOG) and automatic theo-
rem proving will then lead to a discussion of heuristic ical knowledge base design. Prerequisite: Pharm. 201 or structure analysis. Prerequisite: Pharm. 201 or consent
search. Prerequisite: CSE 151 or equivalent. consent of instructor. of instructor.
CSE 250B. Artificial Intelligence II (4) CSE 257B. Algorithms in Computational Biology (4) CSE 283/BENG 203. Bioinformatics III: Functional
(Formerly CSE 278B.) This course will discuss knowl- Renumbered to CSE 206B (see above). Genomics (4)
edge representations used to search for solutions, Annotating genomes, characterizing functional
make deductions, plan, and problem solve. The appli- CSE 258A. Connectionists Natural Language genes, profiling, reconstructing pathways.
cation of these techniques to expert systems will be Processing (4) Prerequisites: Pharm. 201, BENG 202/CSE 282 or consent
mentioned. Machine learning will also be a major topic (Formerly CSE 281P.) This course will explore connec- of instructor.
of this course. Prerequisite: CSE 250A. tionist (or parallel distributed processing) models and
their relation to cognitive processes. The course will CSE 290. Seminar in Computer Science and
CSE 252A. Computer Vision I (4) cover various learning algorithms and the application of Engineering (1-4)
Comprehensive introduction to computer vision pro- the paradigm to models of language processing, mem- (Formerly CSE 280A.) A seminar course in which top-
viding broad coverage including low-level vision ory, sequential processes, and vision. (S/U grades permit- ics of special interest in computer science and engi-
(image formation, photometry, color, image feature ted.) Prerequisite: CSE 250B or equivalent experience. neering will be presented by staff members and
detection), inferring 3-D properties from images graduate students under faculty direction.Topics vary
(shape-from shading, stereo vision, motion interpreta- CSE 259. Seminar in Artificial Intelligence (1) from quarter to quarter. May be repeated for credit.
tion) and object recognition. Companion to CSE 252B A weekly meeting featuring local (and occasional (S/U grades only.) Prerequisite: consent of instructor.
covering complementary topics. Prerequisites: Math. external) speakers discussing their current research in (Offered as faculty resources permit.)
10D and Math. 20A-F or equivalent. Artificial Intelligence Neural Networks, and Genetic
Algorithms. (S/U grades only.) Prerequisite: none. CSE 291. Topics in Computer Science and
CSE 252B. Computer Vision II (4) Engineering (1-8)
Comprehensive introduction to computer vision pro- CSE 260. Parallel Computation (4) (Formerly CSE 281A). Topics of interest in computer
viding focused coverage of multiview geometry, struc- (Formerly CSE 274A.) This course provides an overview science and engineering. Topics may vary from quar-
ture from motion, image segmentation, motion of parallel hardware, algorithms, models, and software. ter to quarter. May be repeated for credit with the
segmentation, texture analysis and recognition, object Topics include Flynn’s taxonomy, interconnection net- consent of instructor. (S/U grades permitted.)
detection, and image-based rendering. Companion to works, memory organization, a survey of commercially Prerequisite: consent of instructor. (Offered as faculty
CSE 252A covering complementary topics. Prerequi- available multiprocessors, parallel algorithm para- resources permit.)
sites: Math. 10D and Math. 20A-F or equivalent. digms and complexity criteria, parallel programming
environments and tools for parallel debugging, lan- CSE 292. Faculty Research Seminar (1)
CSE 252C. Selected Topics in Vision and Learning (4) guage specification, mapping, performance, etc. (Formerly CSE 282.) Computer science and engineer-
Selected topics in computer vision and statistical Prerequisite: graduate standing or consent of instructor. ing faculty will present one hour seminars of the
pattern recognition, with an emphasis on recent current research work in their areas of interest.
developments. Possible topics include: grouping and CSE 262. System Support for Applications of Parallel Prerequisite: CSE graduate status.
segmentation, object recognition and tracking, multi- Computation (4)
ple view geometry, kernel-based methods, dimension- This course will explore design of software support for CSE 293. Special Project in Computer Science and
ality reduction, and mixture models. Prerequisite: applications of parallel computation. Topics include: Engineering (1-8)
CSE 252 or equivalent and CSE 250B or equivalent. programming languages, run time support, portabil- (Formerly CSE 269.) The student will conceive, design,
ity, and load balancing. The course will terminate in a and execute a project in computer science under the
CSE 253. Neural Networks (4) project. Prerequisite: consent of instructor. direction of a faculty member. The project will typi-
This course covers Hopfield networks, application to cally include a large programming or hardware
optimization problems, layered perceptrons, recurrent CSE 271. User Interface Design: Social and Technical design task, but other types of projects are possible.
networks, and unsupervised learning. Programming Issues (4) One-six units may be repeated to a total of nine units.
on a cognitive science, artificial intelligence, or opti- quickly build superb new systems, as well as phenom- only.)
mization problem of the student’s choice. Prerequisites: enally ugly systems that still fully meet their perform-
knowledge of C and consent of instructor. (S/U grades ance and functional requirements. This course CSE 294. Research Meeting in CSE (2)
permitted.) explores interface usability and representation issues, Advanced study and analysis of active research in
with some focus on hypermedia and cooperative computer science and computer engineering.
CSE 254. Machine Learning (4) work. Prerequisites: CSE 20, CSE 100, or equivalent. Discussion of current research and literature in the
(Formerly CSE 281T.) This course will discuss a wide research specialty of the staff member teaching the
range of techniques used to allow computers to learn CSE 272. Advanced Appearance Modeling (4) course. Prerequisite: consent of instructor.
directly from experience with their environment Computer graphics algorithms for creating a given
rather than requiring programming by humans. The appearance. The course will cover algorithms and CSE 298. Independent Study (1-16)
survey will span both high- and low-level learning physics necessary to simulate light transport, light Open to properly qualified graduate students who
techniques as well as theoretical models that allow scattering, reflection models, subsurface scattering, wish to pursue a problem through advanced study
these various techniques to be compared. (S/U grades participating media, and procedural modeling and under the direction of a member of the staff. (S/U
permitted.) Prerequisite: 250B. texturing. Prerequisites: CSE 168 or equivalent, or con- grades only.) Prerequisite: consent of instructor.
sent of instructor.
CSE 256. Statistical Natural Language Processing (4) CSE 299. Research (1-16)
An introduction to modern statistical approaches to CSE 275. Social Aspects of Technology and Science (4) Research. Prerequisite: consent of faculty.
natural language processing: part of speech tagging, Note: CSE 275 is pending CEP approval. Explores
work sense disambiguation and parsing, using Markov approaches to the sociology of technology and CSE 500. Teaching Assistantship (2-4)
models, hidden Markov models and probabilistic con- science, especially information technology. Topics A course in which teaching assistants are aided in
text free grammars. Prerequisite: CSE 250B or equivalent include requirements engineering, actor-network the- learning proper teaching methods by means of
experience. ory, post-modernism, the Web, user interface design, supervision of their work by the faculty: handling of
and public policy. Prerequisites: CSE 8B or CSE 11, and discussions, preparation and grading of examinations
CSE 257. Computational Biology (4) background in the humanities. and other written exercises, and student relations.
Computational methods are indispensable to an May be used to meet teaching experience require-
understanding of the vast datasets emerging from CSE 282/BENG 202. Bioinformatics II: Sequence and ment for candidates for the Ph.D. degree. Number of
human and other organisms’ genomes. This course Structure Analysis—Methods and Applications (4) units for credit depends on number of hours devoted
surveys algorithms underlying genome analysis, (Formerly CSE 257A/BENG 202.) Introduction to meth- to class or section assistance. Prerequisites: graduate
sequence alignment, phylogenetic trees, protein fold- ods for sequence analysis. Applications to genome standing and consent of instructor.
ing, gene expression, metabolic pathways, and biolog- and proteome sequences. Protein structure, sequence-
CSE 501. Teaching Assistantship (2-4)
Renumbered to CSE 500 (see above).
CSE 599. Teaching Methods in Computer Science (2)
Training in teaching methods in the field of computer
science.This course examines theoretical and practical
communication and teaching techniques particularly
appropriate to computer science. Prerequisite: consent