Computer Science and Engineering (CSE)
Assistant Professors in mathematics, physics, electrical engineering,
l Serge J. Belongie, Ph.D. programming methodology and skills, and com-
and Engineering Daniele Micciancio, Ph.D.
Yannis Papakonstantinou, Ph.D.
puter organization. Upper-division core courses
deal with the theory and design of algorithms,
(CSE) Stefan Savage, Ph.D. hardware, and software. Students can gain addi-
Dean M. Tullsen, Ph.D. tional breadth and/or depth in computer science
OFFICES: Geoffrey Voelker, Ph.D. and engineering by an appropriate selection of
Undergraduate Affairs 3402 Bennet S. Yee, Ph.D. technical electives.
Graduate Affairs 3402 Students should have sufficient background
Applied Physics and Mathematics Building, in high school mathematics so that they can take
Muir College Michael J. Bailey, Ph.D. freshman calculus in their first quarter. Courses in
http://www.cs.ucsd.edu Samuel R. Buss, Ph.D. high school physics and computer programming,
Walter H. Ku, Ph.D. although helpful, are not required for admission
Professors Reagan Moore, Ph.D. to the program.
Donald W. Anderson, Ph.D., Emeritus George Polyzos, Ph.D. The department requires a total of 134 units
Richard K. Belew, Ph.D. Jeffrey B. Remmel, Ph.D. for the B.S. computer science program (not
Mihir Bellare, Ph.D. Terrence J. Sejnowski, Ph.D. including the general-education requirements).
Francine D. Berman, Ph.D. Research Faculty There are three varieties of requirements: lower-
Kenneth L. Bowles, Ph.D., Emeritus Henri Casanova, Ph.D., Assistant Research Scientist division, upper-division, and technical electives.
Walter A. Burkhard, Ph.D. Philip Papadopoulos, Ph.D., Associate Research 1. LOWER-DIVISION REQUIREMENTS
J. Lawrence Carter, Ph.D. Scientist
Chung-Kuan Cheng, Ph.D. Students are expected to complete the following
Andrew Chien, Ph.D. Academic Coordinators seventy units by the end of their sophomore year.
Garrison W. Cottrell, Ph.D. Paul Kube, Ph.D., Lecturer with Security of Computer Science and Engineering: CSE 8B
Jeanne Ferrante, Ph.D. Employment or 11, 12, 20 or Math. 15A, CSE 21 or Math. 15B,
Joseph A. Goguen, Ph.D. Gary Gillespie, M. Eng., Lecturer and CSE 30; twenty units.
Fan Chung Graham, Ph.D.
Note: Students without any programming
Ronald L. Graham, Ph.D.
William E. Howden, Ph.D. The Undergraduate Programs experience are advised to take CSE 8A and then
CSE 8B, instead of CSE 11. CSE 11 is a faster paced
T. C. Hu, Ph.D.
The Department of Computer Science and version of CSE 8A and CSE 8B, and requires experi-
Russell Impagliazzo, Ph.D.
Engineering offers computer science and com- ence in programming with a compiled language.
Ramesh C. Jain, Ph.D., Emeritus
puter engineering curricula leading to the Mathematics: Math. 20A-B, 21C, 21D, and 20F;
Andrew B. Kahng, Ph.D.
degrees in B.S. in Computer Science, B.S. in twenty units.
Sidney Karin, Ph.D. (In-Residence)
Computer Engineering, B.A. in Computer Science,
Alex Orailoglu, Ph.D. Physics: Phys. 2A-B-C; 12 units. Math. 20A is a
and B.S. in Computer Science with a specialization
Alon Orlitsky, Ph.D. prerequisite for Phys. 2A. Students whose per-
in Bioinformatics.The courses of study prepare
Joseph C. Pasquale, Ph.D. formance on the Department of Mathematics
students for graduate study in these fields as
Ramamohan Paturi, Ph.D. placement test permits them to start with Math.
well as immediate employment.The B.A. degree
Pavel A. Pevzner, Ph.D. 20B or a higher course may take Phys. 2A in the
is intended to provide a more flexible program
Venkat P. Rangan, Ph.D. fall quarter of the freshman year; all others will
of study allowing significant studies beyond
Larry L. Smarr, Ph.D. take Phys. 2A in the winter quarter of the fresh-
computer science and engineering.
Walter J. Savitch, Ph.D. man year. Students who received high grades
These degrees are four-year endeavors.
George Varghese, Ph.D. in both calculus and Physics in high school may
Students in the B.S. programs need to enroll
Victor D. Vianu, Ph.D. substitute the major’s sequence, Phys. 4A-B-C
in no more than sixteen units per quarter during
S. Gill Williamson, Ph.D. for Phys. 2A-B-C.
their junior and senior years to meet their major
Associate Professors requirements. The B.A. program has fewer major Physics Lab: Phys. 2BL or 2CL or 2DL; two units.
Scott B. Baden, Ph.D. requirements. In addition, each student must The lab course should be taken concurrently
Bradley G. Calder, Ph.D. satisfy general-education course requirements with the Phys. 2 or Phys. 4 sequence.
Charles P. Elkan, Ph.D. determined by the student’s college. Introduction to Electrical Engineering: ECE
William G. Griswold, Ph.D. 53A-B; eight units. ECE 53A-B are courses that
Keith Marzullo, Ph.D. B.S. Computer Science Program give a comprehensive introduction to electrical
Alexander Vardy, Ph.D. engineering.
The lower-division B.S. computer science pro-
gram is designed to provide a strong foundation
Computer Science and Engineering (CSE)
Probability and Statistics: Math.183; four units. B.S. Computer Engineering Program man year. Students who received high grades in
Science/Mathematics Elective: Students are both calculus and physics in high school may sub-
(Curriculum is the same in both the CSE and
required to take one of the following four-unit stitute the major’s sequence, Phys. 4A-B-C-D for
science/mathematics courses: Phys. 2D, Math. Phys. 2A-B-C-D.
The B.S. computer engineering program is
20E(2F), Chem. 6A, BILD 1, 10, 12, 14, 30. jointly administered by the Departments of Com- Physics Lab: Phys. 2BL or 2CL or 2DL; two units.
puter Science and Engineering and Electrical and The lab courses should be taken concurrently
2. UPPER-DIVISION REQUIREMENTS
Computer Engineering. Students wishing to take with the Phys. 2 or Phys. 4 sequence.
All B.S. computer science students are required the computer engineering program must be Introduction to Electrical Engineering: ECE
to take CSE 100 or Math. 176, CSE 101 or Math. admitted to one of the departments. 53A-B; eight units. ECE 53A-B are courses that
188, CSE 105 or Math. 166, CSE 120, 130, 131A-B, The lower-division computer engineering pro- give a comprehensive introduction to electrical
140, 140L, 141 and 141L; forty units. gram is designed to provide a strong foundation engineering.
Students are expected to complete almost in mathematics, physics, electrical engineering, Probability and Statistics: ECE 109; four units.
all of these courses by the end of their junior year. programming methodology and skills, and com- This course can be taken in the sophomore year.
If students want to accelerate their program, they puter organization. Upper-division core courses
should consider taking CSE 100 or Math. 176, CSE deal with the theory and design of algorithms, 2. UPPER-DIVISION REQUIREMENTS
105, and/or CSE 140 and 140L in the sophomore hardware and software, as well as electronic sys- All B.S. computer engineering students are
year. tems. Students can gain additional breadth and/ required to take CSE 100 or Math. 176, CSE 101
3. TECHNICAL ELECTIVES or depth in computer science and engineering or Math. 188, CSE 105 or Math. 166, CSE 120,
by an appropriate selection of technical electives. 131A-B, 140, 140L, 141, and 141L; thirty-six units.
B.S. computer science students are required Students should have sufficient background In addition, all B.S. computer engineering stu-
to take six technical electives for a total of twenty- in high school mathematics so that they can take dents have to fulfill the following upper-division
four units. Four electives must be computer freshman calculus in their first quarter. Courses in ECE requirements.
science and engineering upper-division or high school physics and computer programming,
graduate courses. Linear Systems: ECE 101, ECE 171A or 161A;
although helpful, are not required for admission
The remaining two technical electives can eight units. The department recommends
to the program.
be chosen from the wider set of courses that that these courses be taken in the junior year.
B.S. computer engineering program requires
includes computer science and engineering a total of 146 units (not including the general- Electronic Circuits and Systems: ECE 102,
upper-division courses, graduate courses, and education requirements). There are three varieties ECE 108; eight units. The department recom-
other electives as listed under the section titled of requirements: lower-division, upper-division, mends that these courses be taken in the
Electives. Other restrictions in the selection of and technical electives. junior year.
technical electives are also given in the section If students want to accelerate their program,
Electives. 1. LOWER-DIVISION REQUIREMENTS
they should consider taking CSE 100 or Math. 176,
4. B.S. COMPUTER SCIENCE, SAMPLE PROGRAM Students are expected to complete the follow- CSE 105 or Math. 166, and/or CSE 140 and 140L in
ing seventy units by the end of their sophomore the sophomore year.
FALL WINTER SPRING year.
FRESHMAN YEAR 3. TECHNICAL ELECTIVES
Computer Science and Engineering: CSE 8B or
CSE 8A or CSE 11 CSE 12 CSE 20 or All B.S. computer engineering students are
Math. 20A Math. 20B Math. 15A
11, 12, 20 or Math. 15A, CSE 21 or Math. 15B, and
GE Phys. 2A Math. 21C CSE 30; twenty units. required to take six technical electives for a total
GE Phys. 2B of twenty-four units. One of these courses must
Note: Students without any programming
GE be either ECE 111 or ECE 118. Of the remaining
experience are advised to take CSE 8A and then
SOPHOMORE YEAR five courses, four must be computer science and
CSE 21 or Math. 15B Sci/Math. Elec. CSE 30
CSE 8B, instead of CSE 11. CSE 11 is a faster paced
engineering or electrical and computer engineer-
Math. 21D Math. 20F Math. 183 version of CSE 8A and CSE 8B, and requires experi-
ing upper-division or graduate courses.
GE ECE 53A Phys. 2BL or ence in programming with a compiled language.
GE Phys. 2C 2CL or 2DL The remaining course can be any computer
Mathematics: Math. 20A-B, 21C, 21D, and 20F; science and engineering or electrical and com-
twenty units. puter engineering upper-division or graduate
CSE 100 or Math. 176 CSE 101 or Math. 188 CSE 120 Physics: Phys. 2A-B-C-D; sixteen units. Math. 20A course, or any other course listed under the sec-
CSE 140 CSE 141 CSE 130 is a prerequisite for Phys. 2A. Students whose per- tion titled Electives. Other restrictions in the
CSE 140L CSE 141L CSE Tech. Elec.
CSE 105 or Math. 166 CSE Tech. Elec. GE
formance on the Department of Mathematics selection of technical electives are also given
GE GE placement test permits them to start with Math. in the section Electives.
SENIOR YEAR 20B or a higher course may take Phys. 2A in the
CSE 131A CSE 131B CSE Tech. Elec. fall quarter of the freshman year; all others will
CSE Tech. Elec. Tech. Elec. Tech. Elec. take Phys. 2A in the winter quarter of the fresh-
GE GE GE
Computer Science and Engineering (CSE)
4. B.S. COMPUTER ENGINEERING, SAMPLE 1. LOWER-DIVISION REQUIREMENTS 3. B.S. COMPUTER SCIENCE WITH A
PROGRAM Lower-division requirements, 64 units: Students SPECIALIZATION IN BIOFORMATICS,
are expected to complete all lower-division require- SAMPLE PROGRAM
FALL WINTER SPRING
FRESHMAN YEAR ments by the end of their sophomore year. Math. FALL WINTER SPRING
CSE 8A or CSE 11 CSE 12 CSE 20 20A, 20B, 21C, 20F, and Math. 15B or CSE 21 (20 FRESHMAN YEAR
Math. 20A Math. 20B or Math. 15A units), Chemistry 6A, 6B, 6C, and one lab (15 units), CSE 8A+8B CSE 12 BILD 942
GE Phys. 2A Math. 21C BILD 1, BILD 2, and BILD 94 (9 units), CSE 11, CSE 12 or 111 Math. 20B Math. 21C
GE Phys. 2B Math. 20A Chem. 6B Chem. 6C
(8 units), Physics 2A, 2B, 2C (12 units).
Chem. 6A Chem. 6BL BILD 1
SOPHOMORE YEAR 2. UPPER-DIVISION REQUIREMENTS GE 1 GE 2 GE 3
CSE 21 or Math. 15B Math. 20F CSE 30 SOPHOMORE YEAR
Math. 21D ECE 53A ECE 53B Upper-division requirements, 88 units (includes CSE 21 or Math. 20F Chem. 140B
Phys. 2C ECE 109 Phys. 2D five CSE technical electives) Math. 15B Phys. 2B BIBC 103 Lab
GE GE Phys. 2BL or BILD 2 Chem. 140A Phys. 2C
2CL or 2DL 1. CSE 100 or Math. 176 (Data Structures),
Phys. 2A GE 5 GE 6
(4 units) GE 4
CSE 100 or Math. 176 CSE 101 or Math. 188 CSE 105 or 2. CSE 101 or Math. 188 (Algorithms), (4 units) JUNIOR YEAR
CSE 140 CSE 141 Math. 166 CSE 100 or CSE 101 or CSE 1814
CSE 140L CSE 141L CSE 120 3. Chemistry 140A–140B (Organic Chemistry), Math. 1763 Math. 188 BIMM 101 or
ECE 102 ECE 108 (Req.Tech. Elec.- (8 units) BICD 100 Math. 186 Chem. 112B
GE GE ECE 111 or GE 7 BIBC 102 or BICD 110
ECE 118) 4. Chemistry 114B (Biochemical Energetics GE 8 Chem. 114B BIBC 110 or
GE and Metabolism) or BIBC 102 (Structural BIMM 100 or Chem. 127
SENIOR YEAR and Metabolic Biochemistry) (4 units) Chem. 114D
CSE 131A CSE 131B ECE 171A or SENIOR YEAR
ECE 101 CSE/ECE Tech. Elec. 161A 5. BIBC 103 (Biochemical Techniques), (4 units)
CSE 182 CSE 184 BIMM 185
CSE/ECE Tech. Elec. CSE/ECE Tech. Elec CSE/ECE Tech. 6. BICD 100 (Genetics), (4 units) BENG 183 Elec. 2 Elec. 4
GE. GE Elec. Elec. 15 Elec. 3 Elec. 5
Tech. Elec. 7. BIMM 100 (Molecular Biology) or Chemistry GE 9 GE 10 GE 11
GE 114D (Molecular and Cellular Biochemistry),
(4 units) 1
Students may take the slower paced version, CSE 8A +
B.S. Computer Science with a 8. BIMM 101 (Recombinant DNA Lab), (4 units) CSE 8B, instead of CSE 11.
specialization in Bioinformatics BILD 94 (1 unit seminar) is recommended in students first
9. BICD 110 (Cell Biology), (4 units) spring quarter of study at UCSD. This course gives an
The explosion in biological knowledge 10. BIBC 110 (Physical Biochemistry) or overview of issues and topics in bioinformatics.
spawned by the various genome projects has Chemistry 127 (Physical Chemistry), (4 units)
CSE 30 prerequisite will be waived.
created entirely new fields and industries, and 4
New courses for the bioinformatics program: CSE 181
11. Five additional CSE upper-division electives
a need for trained computational biologists is cross-listed with BIMM 181 and BENG 181, CSE 182
(electives 1, 2, 3, 4, and 5). is cross-listed with BIMM 182 and BENG 182, CSE 184 is
who are familiar with biology, mathematics, and
At least one course from each of the three cross-listed with BIMM 184 and BENG 184, and (BENG 183,
computer sciences. The Computer Science and BIMM 185, and Math. 186 are also new courses but they
Engineering Department offers rigorous, interdis- groups for a total of five electives: are not cross-listed with any other courses).
ciplinary training in the new and rapidly evolving Group I: CSE 30, 111, 131A, 131B, 134A 5
Students must complete five CSE technical electives from
field of bioinformatics. Bioinformatics refers to Group II: CSE 105, 150, 151, Math. 184A the approved list.
advanced computational and experimental meth-
ods that model the flow of information (genetic, Group III: CSE 132A, 132B, 133
The bioinformatics series comprised of the
B.A. Computer Science Program
metabolic, and regulatory) in living systems
to provide an integrated understanding of the following six courses, 24 units: The B.A. computer science program gives
system properties of organisms. This interdiscipli- students more latitude in designing their course
12. CSE 181 or BIMM 181 or BENG 181
nary major will be offered by three other pro- of study.The lower-division program is designed
(Molecular Sequence Analysis), (4 units)
grams (Division of Biology, Department of to provide a strong foundation in mathematics,
13. CSE 182 or BIMM 182 or BENG 182 physics, programming methodology and skills,
Chemistry and Biochemistry, and Department of
(Biological Databases), (4 units) and computer organization. Upper-division core
Bioengineering). The computer science and engi-
neering requirements comprise of 152 units to be 14. BENG 183 (Applied Genomic Technologies), courses deal with the theory and design of algo-
taken from the divisions of physical sciences, (4 units) rithms, hardware, and software. Students can gain
biology, and engineering. 15. CSE 184 or BIMM 184 or BENG 184 additional breadth and/or depth in computer
(Computational Molecular Biology), (4 units) science and engineering by an appropriate selec-
tion of technical electives. By requiring fewer techni-
16. BIMM 185 (Bioinformatics lab), (4 units)
cal electives, the B.A. computer science program
17. Math. 186 (Probability and Statistics), (4 units)
Computer Science and Engineering (CSE)
serves those students desiring more time for computer science and engineering upper-division Mathematics: All upper-division courses except
undergraduate studies outside their major subject. or graduate courses. Math. 168A-B, 179A-B (Math. 183—Computer
The department requires a total of 104 units The remaining two technical electives can be Engineering majors only), 184A-B, 189A-B, and
for the B.A. computer science program (not chosen from a wider set of courses that includes 195-199.
including the general-education requirements). computer science and engineering upper-division If a student has completed CSE 167, then he
There are three varieties of requirements: lower- courses, graduate courses, and other electives as or she cannot get elective credit for Math. 155A.
division, upper-division, and technical electives. listed under the section titled Electives. Other Students may receive elective credit for only one
of the following courses: CSE 164A, Math. 174,
restrictions in the selection of technical electives
1. LOWER-DIVISION REQUIREMENTS Math. 173, Phys. 105A-B, CENG 100, MAE 107.
are also given in the section Electives.
No credit for any of these courses will be given
Students are expected to complete the following
4. B.A. COMPUTER SCIENCE, SAMPLE if Math. 170A-B-C is taken. Students may receive
fifty-two units by the end of their sophomore
PROGRAM credit for either one of the following: Math. 166 or
year. CSE 105 (but not both), Math. 188 or CSE 101 (but
Computer Science and Engineering: CSE 8B or FALL WINTER SPRING not both), Math. 176 or CSE 100 (but not both).
11, 12, 20 or Math. 15A, CSE 21 or Math. 15B, and FRESHMAN YEAR Credit will be given for only one of the following:
CSE 30; twenty units. CSE 8A or CSE 11 CSE 12 CSE 20 ECE 109 or Math. 183 or Econ. 120A.
Math. 20A Math. 20B or Math. 15A
Note: Students without any programming GE Phys. 2A Math. 21C
Electrical and Computer Engineering: All ECE
experience are advised to take CSE 8A and then GE Phys. 2B upper-division courses except 195-199.
CSE 8B, instead of CSE 11. CSE 11 is a faster paced GE CSE 143 is equivalent to ECE 165. Students may
version of CSE 8A and CSE 8B, and requires experi- SOPHOMORE YEAR not get credit for both CSE 123A and ECE 158A.
CSE 21 or Math. 15B Math. 20F CSE 30 Credit will be given for only one of the following:
ence in programming with a compiled language.
Math. 21D GE GE ECE 109 or Math. 183 or Econ. 120A.
Mathematics: Math. 20A-B, 21C, 21D, and 20F; Phys. 2C GE GE
twenty units. JUNIOR YEAR Cognitive Science: Theory and Cognitive
CSE 100 or Math. 176 CSE 101 or Math. 188 CSE 120 Phenomena 101A-B-C, Distributed Cognition
Physics: Phys. 2A-B-C; twelve units. Math. 20A is CSE 140 CSE 141 CSE Tech. Elec. 102A, Cognitive Ethnography 102B, Cognitive
a prerequisite for Phys. 2A. Students whose per- CSE 140L CSE 141L GE Engineering 102C, Cognitive Neuroscience 107A-
formance on the Department of Mathematics CSE 105 or Math. 166 GE. GE
B-C, Theory of Computation and Formal Systems
placement test permits them to start with Math. SENIOR YEAR 108A, Symbolic Modeling of Cognition 108B,
20B or a higher course may take Phys. 2A in the CSE 131A CSE 131B Tech. Elec.
CSE Tech. Elec. Tech. Elec.
Neural Network Models of Cognition I 108C,
fall quarter of the freshman year; all others will Human Computer Interaction 120, Human
take Phys. 2A in the winter quarter of the fresh- Computer Interaction Programming 121,
man year. Students who received high grades Semantics 150, Language Comprehension 153,
in both calculus and physics in high school may
Natural and Artificial Symbolic Representational
substitute the major’s sequence, Phys. 4A-B-C The discipline of computer science and engi- Systems 170, Neural Network Models of Cognition
for Phys. 2A-B-C. neering interacts with a number of other disci- II 181, Artificial Intelligence Modeling II 182.
plines in a mutually beneficial way. These
2. UPPER-DIVISION REQUIREMENTS Students may not get credit for both CSE 150
disciplines include mathematics, electrical engi-
and Neural Network Models of Cognition I 108C
All B.A. computer science students are required neering, and cognitive science. The following is
or for both CSE 151 and Artificial Intelligence
to take CSE 100 or Math. 176, CSE 101 or Math. a list of upper-division courses from these and
Modeling II 182.
188, CSE 105 or Math. 166, CSE 120, 131A, 131B, other disciplines that can be counted as technical
140, 140L, 141, and 141L; thirty-six units. electives. Mechanical and Aerospace Engineering:
At most four units of CSE 197, 198, or 199 may All upper-division MAE courses except MAE 140
Students are expected to complete almost all of (ONLY Computer Science majors may take MAE
these courses by the end of their junior year. If stu- be used towards technical elective requirements.
CSE 195 cannot be used towards course require- 140) and 195-199.
dents want to accelerate their program, they should
ments. Undergraduate students must get instruc- Students may receive elective credit for only
consider taking CSE 100 or Math. 176, CSE 105 or
tor’s permission and departmental stamp to one of the following courses: CSE 164A, Math. 174,
Math. 166, and/or CSE 140 and 140L in the sopho-
enroll in a graduate course. Math. 173, Phys. 105A-B, CENG 100, MAE 107.
Students may not get duplicate credit for Students may only get credit for one of the
3. TECHNICAL ELECTIVES equivalent courses. The UCSD General Catalog two courses, CSE 167 or MAE 152.
B.A. computer science students are required to should be consulted for equivalency information Economics: Microeconomics 100A-B,
take four technical electives for a total of sixteen and any restrictions placed on the courses. Game Theory 109, Macroeconomics 110A-B,
Additional restrictions are noted below. Any Mathematical Economics 113, Econometrics
units. Of these four electives, at least two must be
deviation from this list must be petitioned. 120A-B-C, Applied Econometrics 121,
Management Science Microeconomics 170A-B,
Computer Science and Engineering (CSE)
Decisions Under Uncertainty 171, Introduction Admission to Major community college and must have achieved a
to Operations Research 172A-B-C, Economic and high level of academic performance there. For
Business Forecasting 178. FRESHMAN AND CONTINUING STUDENTS example, the required minimum of 90 quarter
Credit will be given for only one of the follow- Freshman students who have excelled in high transfer units must include 18 quarter units
ing: ECE 109 or Math. 183 or Econ. 120A. school and have declared CSE on their application of calculus, 12 quarter units of calculus-based
Linguistics: Phonetics 110, Phonology I 111, will be directly admitted by the dean of the physics, and the highest level computer science
Phonology II 115, Morphology 120, Syntax I 121, School of Engineering into their major. The only course offered at their community college.
Syntax II 125, Semantics 130, Mathematical way to become a computer science (CS) or com- Effective fall 2001 applicants seeking admis-
Analysis of Language 160, Computers and puter engineering (CE) major is to be directly sion as transfer students will be considered for
Language 163, Computational Linguistics 165, admitted as an entering freshman (transfer direct admission into the Computer Science (CS)
Psycholinguistics 170, Language and the Brain or Computer Engineering (CE) majors in the
students see TRANSFER STUDENT section
172, and Sociolinguistics 175. Department of Computer Science & Engineering
below) These students will be notified directly
Engineering: Team Engineering 101. of their status. (CSE). The only way to become a computer sci-
Because of heavy student interest in depart- ence (CS) or computer engineering (CE) major
Music: Computer Music II 172, Audio Production:
mental programs, and the limited resources avail- is to be directly admitted as an entering transfer
Mixing and Editing 173.
able to accommodate this demand, maintenance student. Although the actual required GPA cutoff
Psychology: Engineering Psychology 161 depends on the number of openings, at least
of a high quality program makes it necessary to
limit enrollments to the most qualified students. a 3.2 GPA in the community college transfer
Minor and Program of courses, and a 3.4 GPA in math, physics and
Admission to the department as a major,
Concentration transfer, or minor is in accordance with the computer science courses, are likely to be needed
The CSE minor requires successful completion general requirements established by the to gain admission. Transfer students who have
of a total of nine CSE courses. To be admitted into School of Engineering. declared pre-CSE will be considered for direct
the minor, students must have a 2.5 GPA and a Space permitting and in its sole discretion, the admission to the major.
C– or better in CSE 8B or 11, 12, 20, 21, 30. The computer science and engineering department Space permitting and in its sole discretion, the
remaining four CSE courses are CSE 100, CSE 101, may periodically grant admission to the Compu- computer science and engineering department
and two additional CSE upper-division courses ter Science (CS) or Computer Engineering (CE) may periodically grant admission to the Compu-
subject to enforcement of prerequisites. In order majors to a small number of academically excep- ter Science (CS) or Computer Engineering (CE)
for the minor to be awarded students must tional UCSD undergraduate students who were majors to a small number of academically excep-
receive an average 2.0 GPA in the upper-division not admitted to these majors as entering stu- tional UCSD undergraduate students who were
courses. dents. Exceptional admission will be considered not admitted to these majors as entering stu-
for students having an overall UCSD GPA of 3.5 dents. Exceptional admission will be considered
Note: Students without any programming
or better who have taken at least two CSE, math, for students having an overall UCSD GPA of 3.5 or
experience are advised to take CSE 8A and then
or science courses demonstrating special aptitude better who have taken at least two CSE, math, or
CSE 8B, instead of CSE 11. CSE 11 is a faster paced
for the CS or CE curriculum. Applications for science courses demonstrating special aptitude
version of CSE 8A and CSE 8B, and requires experi-
exceptional admission must include submission for the CS or CE curriculum. Applications for
ence in programming with a compiled language.
of a course plan demonstrating ability to satisfy exceptional admission must include submission
Students should consult their college provost’s
graduation requirements and a personal state- of a course plan demonstrating ability to satisfy
office concerning the rules for the minor or pro-
ment addressing the applicant’s motivation to graduation requirements and a personal state-
gram of concentration. Because our undergradu-
join the CS or CE major, in addition to other crite- ment addressing the applicant’s motivation to
ate program is highly impacted, winter or spring
ria established by the department. (For admission join the CS or CE major, in addition to other crite-
enrollment is recommended for CSE 8A or CSE 8B
into the B.S. Computer Science with a specializa- ria established by the department. (For admission
or CSE 11.
tion in Bioinformatics, please see the following into the B.S. in Computer Science with specializa-
Effective Fall 2000, Mathematics/Computer
section: Admission into B.S. in Computer Science tion in Bioinformatics, please see the following
Science Majors will not be allowed the Minor
with a specialization in Bioinformatics). section: Admission into B.S. in Computer Science
in Computer Science.
with specialization in Bioinformatics).
Computing Courses for Non-Majors
The B.S. or B.A. in Computer Science and the Admission Into B.S. in Computer
The department offers a slow-pace course B.S. in Computer Engineering are heavily Science with a specialization in
providing a practical introduction to computers, impacted majors and admission is limited to
computation, and programming: CSE 5A—an
applicants who have demonstrated a high level
introduction to structured programming using Since the number of pre-majors and majors
of achievement commensurate with the prospect
the C/Java programming language. will be limited as described in the section on
of success in these majors. Successful applicants
bioinformatics, student demand may exceed
must have completed substantial training at the
capacity. Therefore, admission to the specializa-
Computer Science and Engineering (CSE)
tion is not guaranteed and will be based on Those who have not completed the above enroll nonmajors except by department approval.
academic excellence, as described below. Since courses may be admitted as bioinformatics Students who are undeclared will not be admit-
bioinformatics is an interdisciplinary major, a pre-majors and will be allowed a maximum of ted to upper-division computer science and
steering committee involving faculty from the three quarters to complete pre-major require- engineering courses.
participating departments will select among ments. Students will then formally apply to the Those students not in compliance with the
the best candidates applying and recommended bioinformatics major upon completion of the above restrictions should be forewarned that they
through each department, while insuring active remaining screening courses CSE 11 and CSE 12. will automatically be dropped from course rosters
participation of the departments and divisions If admitted, students will become bioinformatics (at any time during the quarter) when it comes
offering the major. The final decision on admis- majors in CSE. If not, they can continue in their to the attention of the department that a student
sion to the pre-major and major will be made current CSE major. Transfer students are encour- is enrolled in a course without being eligible
by the Bioinformatics Steering Committee, in aged to complete these requirements at the because of restrictions and/or the performance
consultation with the departments. community college. standards have not been met. Admission to all
computer science and engineering courses will
FRESHMAN AND CONTINUING STUDENTS
Enrollment in CSE courses require obtaining either authorization through
Students (freshman or continuing UCSD stu- telephone registration or department stamps on
Student demands exceed capacity in many CSE
dents) will be admitted into one of our existing an add/drop card, and it will be given only by the
courses. Accordingly, many CSE courses may have
undergraduate majors (B.A. Computer Science, student affairs personnel.
enrollment restrictions which give priority to stu-
B.S. Computer Science, and B.S. Computer
dents in the following order:
Engineering) through the direct admission Graduation Requirements
process or through the exceptional admission 1. CSE majors, CSE M.S., and CSE Ph.D.
students. All major requirements and technical electives
program. Students will then have the option
except CSE 197, 198, or 199 must be taken for a
of trying to enter the bioinformatics program by 2. CSE pre-majors, and ECE CE majors and pre-
letter grade. To graduate, a grade-point average
applying for the bioinformatics pre-major (while majors, and Math-CS majors. CSE pre-major
of 2.0 will be required in upper-division courses
still retaining their current major status) once status is conferred to transfer students and
in the major, including technical electives. In addi-
they complete the first four screening courses to those students admitted prior to fall 1998.
tion, each student must satisfy general-education
(Math 20B, Math 21C, BILD 1, Chem 6A). Students 3. Students fulfilling a non-elective requirement course requirements determined by the student’s
will then formally apply to the bioinformatics in another program. college, as well as major requirements deter-
major upon completion of the remaining screen-
4. CSE minors. mined by the department. The five colleges at
ing courses CSE 11 and CSE 12. If admitted, stu-
5. All other majors or pre-majors in other SOE UCSD require widely different numbers of gen-
dents will become bioinformatics majors in CSE. If
departments. eral-education courses. Each student should
not, they can continue in their current CSE major.
choose his or her college carefully, considering
6. All others, with permission of the department the special nature of the college and breadth of
of Computer Science and Engineering. education, realizing that some colleges require
Transfer students will be admitted into
Where these restrictions apply, the registrar considerably more courses than others.
one of our existing undergraduate majors (B.A.
will not enroll low-priority students in the course.
Computer Science, B.S. Computer Science, and
B.S. Computer Engineering) through the direct ENROLLING IN UPPER-DIVISION COURSES Five-year Bachelor’s-Master’s
admission process or through the exceptional The Department of Computer Science and Program
admission program. Effective fall 2003, CSE Engineering will attempt to provide sufficient
transfer students can directly apply to the bioin- Undergraduate students in the Department
sections of all lower-division courses. Students
formatics major if they completed the following of Computer Science and Engineering who are
will, however, be screened to ensure that they
courses prior to transferring to UCSD. enrolled in the B.S. or B.A. computer science or
meet all course enrollment restrictions.
• A year of calculus (equivalent to Math 20A-B-C B.S. computer engineering degree programs, and
Admission to upper-division courses will be
at UCSD) who have a cumulative GPA of a 3.4 and also a
restricted to students having completed all pre-
GPA of 3.4 in at least seven core courses, are eligi-
• A year of general chemistry, with lab (equiva- requisites with a C- or better (or consent of the
ble to apply for the Five Year Bachelor’s-Master’s
lent to Chem 6A, 6B/6BL and Chem 6C at instructor.) Courses have enrollment restrictions
Degree Program. The deadline to apply is the
UCSD) which give priority in the following order: stu-
fourth week of the fourth quarter before gradua-
dents admitted by the department to a major
• The highest level programming course offered tion. Acceptance into this program is an honor
or minor curriculum; students fulfilling a require-
at the community college (equivalent to which carries with it practical benefits—the grad-
ment for another major; all others. Within these
CSE 11 and CSE 12 at UCSD) uate application process is simplified (no GREs
categories, priority is determined on the basis of
• One semester of cell biology (equivalent to required), students accepted into this program
graduation date and/or credits completed. Where
BILD 1 and BILD 2 at UCSD) can be admitted fall, winter, and spring quarter,
these restrictions apply, the registrar will not
Computer Science and Engineering (CSE)
based upon availability of openings in the pro- the M.S. program within four to five quarters of Core courses must be completed with an
gram. Advanced students are given access to full-time study. average grade of B and no grade below B–.
graduate level courses and have the opportunity The four core courses required of all students
THESIS OR COMPREHENSIVE EXAM
to do graduate level research earlier under the are as follows:
direct supervision of UCSD’s faculty, and students There are two plans of study for the master’s CSE 202. Algorithms Design and Analysis
are able to complete the B.A., B.S., and M.S. degree degree: Plan I, in which the student writes a thesis, CSE 221. Operating Systems
within a five-year time period. Courses taken can and Plan II, in which the student takes a set of CSE 240. Principles of Computer
be used toward either the B.A., B.S., or M.S. degree, comprehensive exams. Architecture
but not counted toward both degrees. Additional CSE 292. Faculty Research Seminar
Plan I: Thesis Option, No Comprehensive Exam
information and applications can be obtained
This plan involves both course work and The department expects to offer concentra-
by contacting the CSE Student Affairs Office,
research, culminating in the preparation of a tions in the following areas:
thesis. The student must take twelve units of CSE Artificial Intelligence
298 (Independent Study) to fulfill the research Communication Networks
The Graduate Program requirement, and a thesis based on research must Computer Architecture and Compilers
be written and subsequently reviewed by the the- Cryptography and Security
The graduate program offers master of science
sis committee. This committee, which is appointed Database and Information Retrieval
and doctor of philosophy degrees in computer
by the dean of Graduate Studies and Research, Design Automation for Microelectronic
science and computer engineering. To be
consists of three faculty members, with at least Designs
accepted into either course of study, a student
two members from within the CSE department. Distributed and Fault-Tolerant Computing
must have a B.A./B.S. degree in computer science,
computer engineering, or a related area. Plan II: Comprehensive Examination, No Thesis
Parallel and Scientific Computing
The graduate program is concerned with fun- Under this plan, the student must pass a Software Engineering
damental aspects of computation; emphasis is written comprehensive examination designed Storage Systems
divided among the areas of theory, hardware, to test the student’s knowledge in basic computer Ph.D. Preparation
software systems, and artificial intelligence. The science material. The examination can normally
computer engineering specialization places a The specific courses involved in each of the
be passed with a thorough knowledge of topics concentrations are detailed in a separate bulletin
greater emphasis on hardware and the design covered in the undergraduate and first-year
of computer systems. which is available in the Graduate Student Affairs
graduate computer science programs. It is offered Office, 3402 AP&M.
Admission to the graduate program is done every year in the first few weeks of the fall quarter
through the Office of Graduate Admissions, and in the first few weeks of the spring quarter. Project
Department of CSE. Deadline for application Each student is allowed three attempts to pass
is January 8. Admissions are always effective the Students electing Plan II are required to execute
the examination. The student must secure at least a project while enrolled in four units of CSE 293.
following fall quarter. For admission requirements, a master’s-level pass in the written comprehen-
please refer to the departmental Web page: sive examination. More information regarding Electives
http://www-cse.ucsd.edu/graduate/ the comprehensive examination can be found In addition to completing the required core
Admission decisions for the M.S. and Ph.D. pro- in a separate document provided by the CSE courses and fulfilling either the thesis or compre-
grams are made separately. An M.S. student who graduate office. hensive examination requirements described
wishes to enter the Ph.D. program must submit a In particular, the written examination is struc- above, the student must also complete additional
new application to the CSE admissions committee. tured around the three CSE core areas: algorithms approved courses to bring the total number of
and data structures; operating systems; and com- units to forty-nine. The number of units of elec-
Computer Science Program puter architecture and digital logic design. tives depends upon whether the student chooses
Required Courses Plan I or Plan II. The electives consist of other
Master of Science Program CSE graduate courses or courses from a list of
Students entering the M.S. Program in approved electives. Units obtained in the courses
The department offers the master of science Computer Science will choose an area of concen- CSE 293, 298, 299, 501, 502, and any of the semi-
degree in computer science. The degree can be tration from among twelve areas. Each concentra- nar courses CSE 209, 229, 259, 269, 290, and 294
pursued under either the Thesis Plan I or the tion is an area in which the faculty has significant do not count toward the elective requirement.
Comprehensive Examination Plan II. Each plan research expertise.
requires forty-nine units of work. For full-time The typical concentration is a collection of
students, all the requirements must be completed
three courses which are designed to give the
within two years. Students with an adequate student in-depth training in the chosen field. The general requirements for the Ph.D. program
background in computer science can complete Additionally, to ensure breadth, all students are are stated in the Graduate Studies section of the
required to take four core courses. catalog. A brief summary of the general require-
Computer Science and Engineering (CSE)
ments is also provided in the section titled All computer science material. The written examina- adequate background in computer engineering
Doctoral Programs. Consistent with these require- tion is structured around the following five CSE can complete the M.S. program within four to five
ments, the department has established a set of core areas: algorithms and data structures; com- quarters of full-time study.
requirements to be fulfilled in the first two to three putability, complexity and logic; programming
PLAN I: THESIS OPTION, NO
years of the Ph.D. program as described below. languages; operating systems; and computer
architecture and digital logic design. It is offered
COURSE REQUIREMENTS This plan of study involves both course work
every year in the first few weeks of the fall quarter
Ph.D. students are expected to complete the and in the first few weeks of the spring quarter. and research, culminating in the preparation of
course requirements in the first two years of the Each student is allowed three attempts to pass a thesis. A total of forty-nine units of credit is
program. They are expected to maintain, on an the examination. All Ph.D. students should com- required, as follows:
annual basis, a 3.4 grade-point average for the plete their written comprehensive examination
core courses. successfully within two years following the quar-
Ph.D. students entering with a master’s degree ter in which they are admitted to the Ph.D. pro- The following core courses must be completed
may petition for a waiver of the core courses or gram. However, a student typically completes the with an average grade of B and no grade below
for substitution by alternative courses. written part of the comprehensive examination B–:
successfully by the fall quarter of the second year. Three Software Courses:
More information regarding the comprehensive CSE 202
Each Ph.D. student must take all of the follow- examination can be found in a separate docu- CSE 221
ing courses. A student typically completes all the ment provided by the CSE graduate office. CSE 231
core courses within the first year of the graduate
RESEARCH EXAMINATION REQUIREMENT Three Hardware Courses:
CSE 200 The second part of the examination for Ph.D.
CSE 202 students is an oral research examination designed
CSE 243 or ECE 251A or ECE 263A
CSE 221 to get an early assessment of the Ph.D. student’s
research ability in some field in computer science. Two Analysis Courses:
The content of this exam is developed by the stu- CSE 200 or CSE 201
dent in collaboration with a faculty adviser in CSE. CSE 222 or ECE 257A
Students are expected to take this examination and:
ELECTIVES within one year following the quarter in which CSE 292
Each Ph.D. student must take sixteen units of they pass the written comprehensive examination. Electives
technical electives consisting of other CSE gradu-
Students must elect at least four technical
ate courses or approved alternatives.
Computer Engineering units among graduate courses within the Depart-
TEACHING ASSISTANTSHIP REQUIREMENT Program ments of AMES, CSE, ECE, Mathematics, and
Effective fall 1998, all students enrolled in the
Computer engineering, jointly administered
Ph.D. program must have one quarter of training Thesis
between the CSE and ECE departments, offers
as a teaching assistant. This is a formal degree
the master of science and doctoral degrees with Twelve units of CSE 298 must be taken with a
requirement and must be completed before the
the degree title computer science and engineer- faculty member in CSE or ECE who agrees to act
student is permitted to graduate. The require-
ing (computer engineering). Computer engineer- as adviser for the thesis to fulfill the research
ment is met in one of two ways:
ing explores the engineering analysis and design requirement.
1. serving as a 50 percent teaching assistant aspects of algorithms and technology. Specific A thesis based on research must be written
with pay (taking CSE 501) research areas include computer systems, signal and subsequently reviewed by a committee,
2. taking CSE 502 (teaching experience) processing systems, architecture, networks, com- consisting of three faculty members, with at least
puter-aided design, fault tolerance, and data stor- two members from within the CSE department.
age systems. The committee is appointed by the dean of
The comprehensive examination for Ph.D. Master of Science Program PLAN II: COMPREHENSIVE EXAMINATION, NO
students consists of two parts. The first part is a
The degree can be pursued under either the THESIS
written examination, identical to that required for
Thesis Plan I or the Comprehensive Examination
master’s degree students. This examination tests In order to receive the M.S. degree in computer
Plan II. Each plan requires forty-nine units of work.
the student’s knowledge of basic computer sci- engineering under this plan, a student must com-
For full-time students, all the requirements must
ence and can be passed with a thorough knowl- plete the course requirements listed below and
be completed within two years. Students with an
edge of undergraduate and first-year graduate pass a written comprehensive examination.
Computer Science and Engineering (CSE)
The written examination is structured around Doctoral Program 1. serving as a 50 percent teaching assistant with
the following three CSE core areas: algorithms pay (Students must also be enrolled in four
The general requirements for the Ph.D. pro-
and data structures; operating systems; and units of CSE 501)
gram are stated in the Graduate Studies section
computer architecture and digital logic design. 2. taking CSE 502 (teaching experience)
of the catalog. A brief summary of the general
Core Courses requirements is also provided in the section
titled All Doctoral Programs. Consistent with
Three Software Courses: REQUIREMENT
these requirements, the department has estab-
CSE 202 The comprehensive examination for Ph.D. stu-
lished a set of requirements to be fulfilled in the
CSE 221 dents consists of two parts. The first part is a writ-
first two to three years of the Ph.D. program as
CSE 231 ten examination, identical to that required for
Three Hardware Courses: master’s degree students. This examination tests
CSE 240 COURSE REQUIREMENTS the student’s knowledge of basic computer sci-
ECE 260A Ph.D. students are expected to complete the ence and engineering and can be passed with a
CSE 243 or ECE 251A or ECE 263A following computer engineering curriculum of thorough knowledge of undergraduate and first-
Two Analysis Courses: forty-nine unit course requirement within the year graduate computer science and engineering
CSE 200 or CSE 201 first two years. Ph.D. students entering with a material. The written examination is structured
CSE 222 or CSE 257A master of science degree may petition to waive around the following five CSE core areas: algo-
and individual core course requirements or to substi- rithms and data structures; computability, com-
CSE 292 tute approved alternative courses. All Ph.D. stu- plexity, and logic; programming languages;
dents must attain a cumulative grade-point operating systems; and computer architecture
Electives average of 3.4 in the core courses. and digital logic design. This examination is the
Students must elect at least twelve technical same for both the computer science and the
CORE COURSES computer engineering graduate programs.
units among graduate courses within the
Departments of MAE, CSE, ECE, Mathematics, Each Ph.D. student must complete the It is offered every year in the first few weeks
and Physics. following core requirements: of the fall quarter and in the first few weeks of
Three Software Courses: the spring quarter. Each student is allowed three
Project attempts to pass the examination. All Ph.D. stu-
Four units of CSE 293. CSE 221 dents should complete their written comprehen-
CSE 231 sive examination successfully within two years
following the quarter in which they are admitted
The comprehensive examination is designed Three Hardware Courses:
to the Ph.D. program. However, a student typically
to test the student’s knowledge in basic computer CSE 240
completes the written part of the comprehensive
science and engineering material. The examina- ECE 260A
examination successfully by the fall quarter of
tion can normally be passed with a thorough CSE 243 or ECE 251A or ECE 263A
the second year. More information regarding
knowledge of topics covered in the undergradu- Two Analysis Courses: the comprehensive examination can be found
ate and the first-year graduate computer science CSE 200 or CSE 201 in a separate document provided by the CSE
or computer engineering programs. CSE 222 or ECE 257A Graduate Office.
It is offered every year in the first few weeks and
CSE 292 RESEARCH EXAMINATION REQUIREMENT
of the fall quarter and in the first few weeks of the
spring quarter. If fewer than seven people sign up, The second part of the examination for Ph.D.
then the department may cancel the examination students is an oral research examination designed
in the spring quarter. Each student is allowed Students must take sixteen units of technical to get an early assessment of the Ph.D. student’s
three attempts to pass the examination. The electives from among graduate courses within research ability in some field in computer science.
student must secure at least a master’s-level the Departments of MAE, CSE, ECE, Mathematics, The content of this exam is developed by the stu-
pass in the written comprehensive examination. and Physics. dent in collaboration with a faculty adviser in CSE
This examination is the same for both the or ECE. Students are expected to take this exami-
TEACHING ASSISTANTSHIP REQUIREMENT
computer science and the computer engineering nation within one year following the quarter in
graduate programs. More information about the Effective fall 1998, all students enrolled in the which they pass the written comprehensive
comprehensive examination can be obtained in a Ph.D. program must have one quarter of training examination.
separate document from the CSE graduate office. as a teaching assistant. This is a formal degree
requirement and must be completed before the
student is permitted to graduate. The require-
ment is met in one of two ways:
Computer Science and Engineering (CSE)
Departmental Ph.D. Time Limit take CSE 8A.) Prerequisite: high school algebra. Majors
All Doctoral Programs only.
CSE 8B. Introduction to Computer Science: Java (4)
Students must be advanced to candidacy by Continuation of the Java language. Continuation of
Qualifying Examination and programming techniques. More on Inheritance.
the end of four years. Total university support
Advancement to Candidacy cannot exceed seven years. Total registered time
Exception handling. CSE 8A-B is a slower paced version
of CSE 11 with more programming practice. (Students
The qualifying examination is the second at UCSD cannot exceed eight years. who have taken CSE 9A or CSE 9B or CSE 10 or CSE 11
examination (the first being the written and the may not take CSE 8B.) Prerequisite: high school algebra.
oral comprehensive examination) taken by the
Ph.D. students and is a requirement to advance- COURSES CSE 11. Introduction to Computer Science and Object-
ment to candidacy. Prior to taking the qualifying Oriented Programming: Java (4)
Student demand exceeds capacity in many CSE Introduction to computer science and programming
examination a student must have satisfied the using the Java language. Basic UNIX. Modularity and
courses. Accordingly, many CSE undergraduate
departmental graduate requirements and have abstraction. Documentation, testing and verification
courses may have enrollment restrictions which techniques. Basic object-oriented programming includ-
been accepted by a CSE faculty member as a
give priority to students in the following order: ing inheritance and dynamic bind. Exception handling.
Ph.D. thesis candidate. All doctoral students Event-driven programming. Experience with AWT
must be advanced to candidacy by the end of • CSE majors, CSE M.S., and CSE Ph.D. library or other similar library. Prerequisites: high-school
four years from the first quarter of registration. students algebra and a course in programming in a compiled lan-
guage. Majors only.
It is administered by a doctoral committee • CSE pre-majors, ECE CE majors and
appointed by the dean of Graduate Studies and pre-majors, and Math-CS majors CSE 12. Basic Data Structures and Object-Oriented
Research and consists of faculty from CSE and • students fulfilling a non-elective requirement Basic data structures including stacks, queues, lists,
other departments. More information on the in another program binary trees, hash tables. Basic object-oriented design
composition of the committee can be obtained including encapsulation, polymorphism, classes as the
• CSE minors implementation of abstract data types. Memory man-
from the CSE graduate office. The examination agement, pointers, recursion, and big-o notation. Uses
is taken after the student and his or her adviser • all other majors or pre-majors in other SOE the C/C++ and Java programming language.
departments Prerequisite: CSE 8B or CSE 11.
have identified a topic for the dissertation and
initial progress has been made. The candidate is • all others, with permission of the Department CSE 20. Introduction to Discrete Mathematics (4)
expected to describe his or her accomplishments Basic discrete mathematical structure: sets, relations,
of Computer Science and Engineering
functions, sequences, equivalence relations, partial
to date and plans for future work. Where these restrictions apply, the registrar orders, and number systems. Methods of reasoning and
proofs: propositional logic, predicate logic, induction,
will not enroll low-priority students in the course. recursion, and pigeonhole principle. Infinite sets and
Dissertation A tentative schedule of course offerings is diagonalization. Basic counting techniques; permuta-
The dissertation defense is the final Ph.D. exam- available from the department, APM 3402, each tion and combinations. Applications will be given to
digital logic design, elementary number theory, design
ination. A candidate for the Ph.D. is expected to spring for the following academic year. The of programs, and proofs of program correctness. Credit
write a dissertation and defend it in an oral exami- tentative schedule for 2002–2003 is also found not offered for both Math. 15A and CSE 20. Equivalent
to Math 15A. Prerequisites: CSE 8A or CSE 8B or CSE 11.CSE
nation conducted by the doctoral committee. at http://www-cse.ucsd.edu/ugrad/offerings02-
8B or CSE 11 may be taken concurrently with CSE 20/
03.html. Math. 15A.
Financial Aid LOWER-DIVISION CSE 21. Mathematics for Algorithms and Systems (4)
Financial support is available to qualified This course will provide an introduction to the discrete
CSE 5A. Introduction to Programming I (4) mathematical tools needed to analyze algorithms and
graduate students in the form of fellowships, systems. Enumerative combinatorics: basic counting
(Formerly CSE 62A) Introduction to algorithms and top-
loans, and assistantships. Anticipated stipends down problem solving. Introduction to the C language principles, inclusion-exclusion, and generating func-
for half-time research assistantships are $1542 including functions, arrays, and standard libraries. Basic tions. Matrix notation. Applied discrete probability.
skills for using a PC graphical user interface operating Finite automata. Credit not offered for both Math.15B
per month, with the possibility of full-time and CSE 21. Equivalent to Math 15B. Prerequisites: CSE 20
system environment. File maintenance utilities are cov-
employment during the summer months. For ered. (A student may not receive credit for CSE 5A after or Math. 15A.
a half-time teaching assistantship, the anticipated receiving credit for CSE 10 or CSE 11 or CSE 8B or CSE 9B
or CSE 62B or CSE 65.) Prerequisite: A familiarity with CSE 30. Computer Organization and Systems
stipend will be $1540 per month. Requests for high-school level algebra is expected, but this course Programming (4)
application forms for admission and financial assumes no prior programming knowledge. (Formerly CSE 70.) Introduction to organization of mod-
ern digital computers—understanding the various
support should be directed to the Department components of a computer and their interrelationships.
CSE 8A. Introduction to Computer Science: Java (4)
of Computer Science and Engineering. The Basic UNIX. Basics of Java language. Classes, methods, Study of a specific architecture/machine with emphasis
department offers support to graduate students and parameters. Modularity and abstraction. on systems programming in C and Assembly languages
Documentation techniques. Testing and verification in a UNIX environment. Prerequisites: CSE 12 and CSE 20
in the Ph.D. program only. techniques. Basic Inheritance. Event driven program- or Math. 15A; or consent of the instructor.
ming. Programming with AWT library or other similar
library. CSE 8A-B is a slower paced version of CSE 11 CSE 80. UNIX Lab (2)
with more programming practice. (Students who have The objective of the course is to help the programmers
taken CSE 9A or CSE 9B or CSE 10 or CSE 11 may not create a productive UNIX environment. Topics include
customizing the shell, file system, shell programming,
Computer Science and Engineering (CSE)
process management, and UNIX tools. (P/NP grades 9B or CSE 10 or CSE 11, CSE 12, and CSE 100 or Math. 176. atomic read/writes; semaphores; monitors; distributed
only.) Prerequisite: CSE 8B or CSE 9B or CSE 10 or CSE 11. Majors only. algorithms and memory coherency; programming with
threads; concurrency in popular programming lan-
CSE 81. The Internet and the World Wide Web (4) CSE 112. Software Engineering (4) guages and operating systems. Prerequisite: CSE 120.
Introduction to communication networks and the World (Formerly CSE 110.) This course will cover software Majors only.
Wide Web, a set of interconnected multimedia informa- engineering topics associated with large systems
tion servers, from a user’s perspective. Students obtain development such as requirements and specifications, CSE 130. Programming Languages: Principles and
hands-on experience with Web browsers and search testing and maintenance, and design. Prerequisites: Paradigms (4)
engines, and learn to design HTML documents and CGI CSE 111. Majors only. (Formerly CSE 173.) Introduction to programming lan-
scripts. Prerequisite: CSE 1 or CSE 5A or CSE 8A or CSE 8B or guages and paradigms, the components that comprise
CSE 9A or CSE 9B or CSE 10 or CSE 11. CSE 120. Principles of Computer Operating Systems (4) them, and the principles of language design, all
(Formerly CSE 171A.) This course introduces the basic through the analysis and comparison of a variety of lan-
concepts used to structure computer operating sys- guages (e.g., Pascal, Ada, C++, PROLOG, ML.) Will involve
UPPER-DIVISION tems. Examples of notions introduced and discussed are programming in most languages studied. Prerequisites:
batch processing, multiprogramming, input/output, CSE 12 and CSE 100 or Math. 176. Majors only.
CSE 100. Advanced Data Structures (4) pooling, interrupt handling, processes, descriptors,
Descriptive and analytical presentation of data struc- process synchronization, interprocess communication, CSE 131A. Compiler Construction I (4)
tures and algorithms. Lists, tables, priority queues, dis- memory management, virtual memory, caching, buffers, (Formerly CSE 163A.) Introduction to the compilation
joint subsets, and dictionaries data types. Data naming, files, interactive command interpreters, and of programming languages, principles and practice of
structuring techniques include linked lists, arrays, hash- processor scheduling. Prerequisites: CSE 100 or Math. 176 lexical and syntactic analysis, error analysis, syntax-
ing, and trees. Performance evaluation involving worst and CSE 141. Majors only. directed translation, and type checking. Prerequisites:
case, average and expected case, and amortized analy- CSE 30, CSE 100 or Math. 176, and CSE 105 or Math. 166.
sis. Credit not offered for both Math. 176 and CSE 100. CSE 121. Operating Systems: Architecture and Majors only.
Equivalent to Math. 176. Prerequisites: CSE 12, CSE 21 or Implementation (4)
Math. 15B, and CSE 30, or consent of the instructor. Majors (Formerly CSE 171B.) Case study of architecture and CSE 131B. Compiler Construction II (4)
only. implementation of a selected modern operating sys- (Formerly CSE 163B.) Principles and practice for the
tem. In-depth analysis through a detailed study of design and implementation for the back-end of transla-
CSE 101. Design and Analysis of Algorithms (4) source code. Topics include process creation, context- tors for programming languages, symbol tables, syntax-
Design and analysis of efficient algorithms with empha- switching, memory allocation, synchronization mecha- directed translation, code generation, optimization, and
sis of non-numerical algorithms such as sorting, search- nisms, interprocess communication, I/O buffering, compiler structure. Prerequisites: CSE 30, CSE 100 or Math.
ing, pattern matching, and graph and network device drivers, and file systems. Prerequisite: CSE 120. 176, CSE 105 or Math. 166, and CSE 131A. Majors only.
algorithms. Measuring complexity of algorithms, time
and storage. NP-complete problems. Credit not offered CSE 123A. Computer Networks (4) CSE 132A. Database System Principles (4)
for both Math. 188 and CSE 101. Equivalent to Math 188. Introduction to concepts, principles, and practice of Basic concepts of databases, including data modeling,
Prerequisites: CSE 12, CSE 21 or Math. 15B or Math. 100A or computer communication networks with examples relational databases, query languages, optimization,
Math. 103A. Majors only. from existing architectures, protocols, and standards dependencies, schema design, and concurrency con-
with special emphasis on the Internet protocols. trol. Exposure to one or several commercial database
CSE 102. Storage System Architectures (4) Layering and the OSI model; physical and data link systems. Advanced topics such as deductive and
Descriptive and analytic introduction to disk drive layers; local and wide area networks; datagrams and object-oriented databases, time allowing. Prerequisite:
storage media, external data structures, and their virtual circuits; routing and congestion control; CSE 100 or Math. 176. Majors only.
algorithms. Disk drives, external sorting, index struc- internetworking. Transport protocols. Prerequisite:
tures, disk arrays, reliability, data declustering, and CSE 120 or consent of the instructor. Majors only. CSE 132B. Database Systems Applications (4)
video servers. Merge sort, B+trees, linear hashing, Design of databases, transactions, use of trigger facili-
improved RAID data organizations, and SID data lay- CSE 123B. Communications Software (4) ties and datablades. Performance measuring, organiza-
out. Prerequisite: CSE 100 or Math. 176, CSE 120, CSE Protocol software structuring, The Internet protocol tion of index structures. Prerequisite: CSE 132 or CSE 132A
123A, or consent of the instructor. Majors only. suite, Inter-process communication, Protocols for real- or equivalent.
time and multimedia (digital audio and video) commu-
CSE 105. Theory of Computability (4) nication, multicast, bridging, and group communication CSE 133. Information Retrieval (4)
An introduction to the mathematical theory of com- protocols, protocols for mobile and personal communi- (Formerly CSE 181.) How to find “relevant” documents
putability. Formal languages. Finite automata and regu- cation networks, application-level protocols, secure com- (e.g., an electronic mail message or a book) from very
lar expression. Push-down automata and context-free munication. Prerequisite: CSE 120 or consent of the large corpora (e.g., all the world’s electronic mail or the
languages. Computable or recursive functions: Turing instructor. CSE 123A is strongly recommended. Majors only. library.) Students will construct and experimentally
machines, the halting problem. Undecidability. Credit evaluate a complete IR system for a modest textual cor-
not offered for both Math. 166 and CSE 105. Equivalent CSE 126. Multimedia Systems (4) pus. Prerequisite: CSE 100 or Math. 176. Majors only.
to Math 166. Prerequisites: CSE 12, CSE 21 or Math. 15B or Multimedia technologies; multimedia storage models
Math. 100A or Math. 103A. Majors only. and structures; data models and interfaces; multimedia CSE 134A. Web Server Languages (4)
information systems; video/audio networking; media Design and implementation of interactive World Wide
CSE 107. Introduction to Modern Cryptography (4) synchronization; image computing and information Web documentation using server-side programs.
block ciphers, data encryption, authentication, key dis- interaction support. Prerequisite: CSE 120 or consent of Other languages as time allows. Prerequisite: CSE 100 or
tribution and certification, pseudorandom number the instructor. Math. 176. Majors only.
generators, design and analysis of protocols, zero-
knowledge proofs, and advanced protocols. Empha- CSE 127. Introduction to Computer Security (4) CSE 134B. Web Client Languages (4)
sizes rigorous mathematical approach including formal Topics include basic cryptography, security/threat Design and implementation of interactive World Wide
definitions of security goals and proofs of protocol analysis, access control, auditing, security models, dis- Web clients using helper applications and plug-ins. The
security. Prerequisites: CSE 21 or Math. 15B, CSE 101 or tributed systems security, and theory behind common main language covered will be Java. Prerequisite:
Math. 188, CSE 105 or Math. 166. Majors only. attack and defense techniques. The class will go over CSE 100 or Math. 176. Majors only.
formal models as well as the bits and bytes of security
CSE 111. Object Oriented Software Design (4) exploits. Prerequisite: CSE 21 or Math. 15B, and CSE 120. CSE 140. Components and Design Techniques for
Introduction to object-oriented analysis and design. Majors only. Digital Systems (4)
Object-oriented modeling methods for analysis and (Formerly CSE 170A) Design of Boolean logic and finite
design, object-oriented general design paradigms, CSE 128. Concurrency (4) state machines; two-level, multi-level combinational
object-oriented design techniques. Cyclic development Specification of concurrent programs safety, liveness, logic design, combinational modules and modular net-
of object-oriented systems. Prerequisites: CSE 8B or CSE and fairness: producer-consumer; mutual exclusion; works, Mealy and Moore machines, analysis and synthe-
sis of canonical forms, sequential modules. Prerequisites:
Computer Science and Engineering (CSE)
CSE 20 or Math. 15A, CSE 30. CSE 140L must be taken con- CSE 160. Introduction to High Performance Parallel Prerequisites: CSE 100 or Math. 176. Bioinformatics majors
currently. Majors only. Computation (4) only. CSE 182 is crosslisted with BIMM 182 and BENG 182.
Introduction to HPPC: parallel architecture, algorithms,
CSE 140L. Digital Systems Laboratory (2) software and problem-solving techniques. Areas cov- CSE 184. Computational Molecular Biology (4)
(Formerly CSE 175B) Implementation with computer- ered: Flynn’s taxonomy, processor-memory organiza- This advanced course covers the application of machine
aided design tools for combinational logic minimization tions, shared and non-shared memory models; learning and modeling techniques to biological systems.
and state machine synthesis. Hardware construction of a message passing and multithreading, data parallelism; Topics include gene structure, recognition of DNA and
small digital system. Prerequisites: CSE 20, CSE 30. CSE 140 speedup, efficiency, and Amdahl’s law, communication protein sequence patterns, classification, and protein
must be taken concurrently. and synchronization, isoefficiency, and scalability. structure prediction. Pattern discovery, hidden markov
Topics: run time software techniques, compilers, and models/support vector machines/neural network/pro-
CSE 141. Introduction to Computer Architecture (4) grid computing. Assignments given to provide practical files, protein structure prediction, functional characteri-
Introduction to computer architecture. Computer sys- experience. Prerequisite: CSE 100 or Math. 176. Majors zation of proteins, functional genomics/proteomics,
tem design. Processor design. Control design. Memory only. metabolic pathways/gene networks. Prerequisites: BIMM
systems. Prerequisites: CSE 140,CSE 140L,or consent of the 181 or BENG 181 or CSE 181, BIMM 182 or BENG 182 or CSE
instructor. CSE 141L should be taken concurrently. Majors CSE 166. Image Processing (4) 182. Bioinformatics majors only. CSE 184 is crosslisted
only. Principles of image formation, analysis, and representa- with BIMM 184 and BENG 184.
tion. Image enhancement, restoration, and segmenta-
CSE 141L. Project in Computer Architecture (2) tion; stochastic image models. Filter design, sampling, CSE 190. Topics in CSE (4)
Hands-on computer architecture project aiming to Fourier and wavelet transforms. Selected applications Topics of special interest in computer science and engi-
familiarize students with instruction set architecture, in computer graphics and machine vision. Prerequisites: neering. Topics may vary from quarter to quarter. May
and design of process. Control and memory systems. Math. 20F, CSE 100 or Math. 176. Majors only. be repeated for credit with the consent of instructor.
Prerequisites: CSE 140, CSE 140L, or consent of the instruc- Prerequisite: department stamp required.
tor. CSE 141 should be taken concurrently. Majors only. CSE 167. Computer Graphics (4)
(Formerly CSE 177) Representation and manipulation CSE 191. Seminar in CSE (1–4)
CSE 142. Advanced Digital Logic Design (4) of pictorial data. Two-dimensional and three-dimen- A seminar course on topics of current interest. Students,
(Formerly CSE 170C) Digital logic optimization; func- sional transformations, curves, surfaces. Projection, illu- as well as, the instructor will be actively involved in run-
tional decomposition and symmetric functions; reliable mination, and shading models. Raster and vector ning the course/class. This course cannot be counted
design and fault diagnosis; structure of sequential graphic I/O devices; retained-mode and immediate- toward a technical elective. Prerequisite: consent of
machines; asynchronous circuit design. Assignments mode graphics software systems and applications. instructor.
using logic synthesis tools. Prerequisites: CSE 140, Prerequisites: Math. 2EA/20F and CSE 100 or Math. 176.
CSE 140L Majors only. CSE 195. Teaching (4)
Teaching and tutorial assistance in a CSE course under
CSE 143. Microelectronic System Design (4) CSE 171. User Interface Design (4) the supervision of the instructor. (P/NP grades only.)
(Formerly CSE 172A) VLSI process technologies; circuit Explores usability, representation and coordination Prerequisite: consent of the department chair.Department
characterization; logic design styles; clocking strategies; issues in user interface design with some focus on dis- stamp required.
computer-aided design tools; subsystem design; design tributed cooperative work, semiotics, and the interplay
case studies. System design project from hardware between socio-cognitive and technical issues. Most CSE 197. Field Study in Computer Science and
description, logic synthesis, physical layout to design examples and homework involve the Web. Prerequisites: Engineering (4, 8, 12, or 16)
verification. Prerequisites: CSE 140, CSE 141. CSE 8B or 11,CSE 20 or Math.15A,and CSE 100 or Math.176. Directed study and research at laboratories away from
Majors only. the campus. (P/NP grades only.) Prerequisite: consent of
CSE 144. Computer-Aided Design of VLSI Circuits (4) the instructor and approval of the department.
(Formerly CSE 172B) Introduction to Computer-Aided CSE 175. Social and Ethical Issues in Information Department stamp required.
Design. Placement, assignment and floor planning tech- Technology (4)
niques. Routing. Symbolic layout and compaction. Social aspects of information technology, with an CSE 198. Directed Group Study (2 or 4)
Module generation and silicon compilation. Prerequisites: emphasis on ethical issues. Topics include ethical theo- Computer science and engineering topics whose study
CSE 140 and CSE 140L, or consent of the instructor. ries, privacy and security, spam, e-commerce, the digital involves reading and discussion by a small group of stu-
divide, open source software, medical informatics, actor- dents under the supervision of a faculty member. (P/NP
CSE 150. Programming Languages for Artificial grades only.) Prerequisite: consent of the instructor.
network theory, and some neo-classical economics.
Intelligence (4) Department stamp required.
Prerequisites: CSE 100 or Math. 176. Majors only.
Note: CSE 150 is pending CEP approval. (Formerly CSE
162) Experience using two very different approaches to CSE 181. Molecular Sequence Analysis (4) CSE 199. Independent Study for Undergraduates (2 or 4)
artificial intelligence programming. Symbolic manipu- This course covers the analysis of nucleic acid and pro- Independent reading or research by special arrange-
lation using LISP, with examples drawn from heuristic tein sequences, with an emphasis on the application of ment with a faculty member. (P/NP grades only.)
search, inference, and/or resolution theorem proving. algorithms to biological problems. Topics include Prerequisite: consent of the instructor. Department stamp
Pattern recognition and transformation using neural sequence alignments, database searching, comparative required.
networks with perception and back propagation learn- genomics, and phylogenetic and clustering analyses.
ing algorithms, applied to problems such as face recog- Pairwise alignment, multiple alignment, DNS sequenc-
nition, English past tense formation, etc. Prerequisites: GRADUATE
ing, scoring functions, fast database search, comparative
CSE 8B or CSE 9B or CSE 10 or CSE 11, CSE 12, and CSE 100 genomics, clustering, phylogenetic trees, gene
or Math. 176. Majors only. CSE 200. Computability and Complexity (4)
finding/DNA statistics. Prerequisites: CSE 100 or Math. 176,
Decidability and undecidability, r.e. and recursive sets,
CSE 101 or Math. 188, BIMM 100 or Chem. 114D.
CSE 151. Introduction to Artificial Intelligence (4) Church’s thesis; time and space complexity, non-deter-
Bioinformatics majors only. CSE 181 is crosslisted with
An introduction to theoretical issues and computa- minism, complexity classes P, NP, L, NL, PSPACE, EXP, clo-
BIMM 181 and BENG 181.
tional techniques arising from a comparison of sure properties of classes, relations between classes,
human and machine intelligences. Knowledge repre- CSE 182. Biological Databases (4) time and space hierarchy theorems; NP-completeness,
sentation languages; problem-solving heuristics; This course provides an introduction to the features of Cook’s theorem, reducibility; propositional logic; ran-
machine learning and application areas including biological data, how that data are organized efficiently in domized computation, classes RP and BPP. Prerequisites:
vision, robotics, and natural language understanding databases, and how existing data resources can be CSE 165 or CSE 105 or Math. 166 or CSE 206 or equivalent.
will be reviewed. Prerequisite: CSE 150 or consent of the utilized to solve a variety of biological problems.
instructor. Majors only. CSE 201. Applied Computability and Complexity (4)
Relational databases, object oriented databases, ontolo-
(Formerly CSE 261.) Models of computation: finite
gies, data modeling and description, survey of current
automata, context-free grammars, Turing machines,
biological database with respect to above, implementa-
random access machines and circuits. Undecidability.
tion of a database focused on a biological topic.
First order logic. Complexity: time and space, theory of
NP and P, intractability. Intended for students in the
Computer Science and Engineering (CSE)
computer engineering program. Prerequisite: CSE 105 or CSE 208C. Topics in Theoretical Computer Science (1-4) CSE 222. Communication Networks (4)
CSE 206 or equivalent. A student may not receive credit for Topics of special interest in theoretical computer science. (Formerly CSE 281L.) Computer communication net-
both CSE 201 and CSE 200. Topics may vary from quarter to quarter. May be work concepts, techniques, protocols, and architec-
repeated for credit with the consent of instructor. tures, with emphasis on analysis of algorithms and
CSE 202. Algorithm Design and Analysis (4) Prerequisite: consent of instructor. (S/U grades permitted.) protocols, performance trade-offs, and design method-
(Formerly CSE 279.) The basic techniques for the design ologies. Topics will include layering, data link control,
and analysis of algorithms. Divide-and-conquer, CSE 208D. Logic in Computer Science (4) routing, flow control, topological design, performance
dynamic programming, data structures, graph search, Basic material on mathematical logic (as a tool in com- evaluation techniques (measurements, analysis, and
algebraic problems, randomized algorithms, lower puter science) for foundations of descriptive complex- simulation). Prerequisite: CSE 123A or consent of instruc-
bounds, probabilistic analysis, parallel algorithms. ity, logic programming, non-monotonic reasoning, tor. (S/U grades permitted.)
Prerequisite: CSE 101 or consent of instructor. temporal logic, and reasoning about knowledge and
belief. Applications to databases, automatic theorem CSE 223. Distributed Systems (4)
CSE 203. Combinatorial Algorithms (4) proving, program verification, and distributed systems. (Formerly CSE 281N.) Basic structuring concepts: serv-
(Formerly CSE 268A.) This course presents combinator- Prerequisite: CSE 200 for graduates; CSE 105 for under- ice, server, client-server relations, basic network archi-
ial algorithms commonly used in computer science. graduates. tecture and point-to-point communication services,
These algorithms include shortest paths, maximum variable communication delays and failures, logical and
flow, multi-terminal maximum flows, PERT network, CSE 209. Seminar in Theoretical Computer Science (1-4) physical time, time services, request/reply transport
dynamic programming, backtrack, binary trees, greedy Topics of special interest in theoretical computer sci- services, remote procedure calls, naming and directory
algorithms, and matrix computation. Prerequisite: con- ence to be presented by staff members and students services, distributed concurrency control, distributed
sent of instructor. under faculty direction. May be repeated for credit. file and database services, transactions and the atomic
Prerequisite: consent of instructor. (S/U grades only.) commit problem, security in distributed systems. (S/U
CSE 204. Mathematical Programming (4) grades permitted.) Prerequisite: CSE 220 or CSE 221, or
(Formerly CSE 268B.) Convex function, separating CSE 210. Principles of Software Engineering (4) consent of instructor.
hyperplanes. Linear programming, simplex method, (Formerly CSE 264A.) General principles in modern soft-
quality complementary slackness. Revised simplex ware engineering. Both theoretical and practical topics CSE 224. Computer System Performance Analysis (4)
method, column-generating techniques in LP. Integer are covered. Theoretical topics include proofs of cor- (Formerly CSE 281R.) Experimental and analytical
programming. Prerequisite: consent of instructor. rectness, programming language semantics, and the- approaches. Design, measurement, simulation, and
ory of testing. Practical topics include structured modeling for system performance evaluation.
CSE 205. Complexity of Intractability (4) programming, modularization techniques, design of Measurement tools such as workloads, benchmarks,
(Formerly CSE 265C.) Intractability.Relativized complexity. languages for reliable programming, and software experimental design: confidence intervals, analysis of
Circuit complexity: size and depth, alternation. Efficient tools. Prerequisites: CSE 100, 131A, 120, or consent of data; simulation: trace driven, Monte Carlo, transient
and optimal algorithms: matrix and arithmetic. Axiomatic instructor. removal; modeling: Little’s Law, queueing, mean-value
complexity. Other advanced topics. Prerequisites: CSE 200 analysis. (S/U grades permitted.) Prerequisite: CSE 220 or
and consent of instructor. CSE 211. Software Testing and Analysis (4) consent of instructor.
Survey of testing and analysis methods. Introduction to
CSE 206. Automata, Formal Languages, and advanced topics in area as well as traditional produc- CSE 225. High Performance Distributed Computing (and
Computability (4) tion methods. Topics include inspections and reviews, Computational Grids) (4)
(Formerly CSE 265A.) Finite automata: non-determin- formal analysis, verification and validation standards, Architecture of high performance distributed systems
ism, regular expressions, regular grammars, 2-way FSAs, non-statistical testing, statistical-testing and reliability (e.g., frameworks and middleware). High performance
minimal state FSAs, context-free languages: normal models, coverage methods, testing and analysis tools, distributed objects (DCOM, Corba, Java Beans) and net-
forms, pumping lemmas, recognition algorithms, push- and organization management and planning. Methods working with crosscut issues for performance, availabil-
down automata, DCFLs. Turing Machines; variations on special to special development approaches such as ity, and performance predictability. Scalable servers,
TMs, recursive and r.e. sets, universal TMs, Church’s the- object-oriented testing will also be described. metacomputing, and scientific computing. Prere-
sis, diagonalization, reducibility, Chomsky Hierarchy. Prerequisite: undergraduate major in computer science or quisites: CSE 121 and CSE 123A.
Prerequisites: CSE 105 or equivalent, consent of instructor. extensive industrial experience.
CSE 227. Computer Security (4)
CSE 207. Cryptography and Network Security (4) CSE 218. Advanced Topics in Software Engineering (4) This course covers systems security concepts: protection
Introduction to modern cryptography emphasizing This course will cover a current topic in software engi- domains, rusted computing base, access control, infor-
provable security and its applications. Topics include neering in depth. Topics in the past have included soft- mation flow, security models, correctness proofs, soft-
private and public key cryptography; encryption; ware tools, impacts of programming language design, ware testing techniques, and selected computer security
authentication; digital signatures; key distribution; and software system structure. (S/U grades permitted.) topics. Examine techniques used by attackers to pene-
protocols. Prerequisite: CSE 200 or CSE 201 or CSE 202 or Prerequisite: none. trate systems and countermeasures. Prerequisites: CSE
equivalent. 202 and CSE 221.
CSE 220. Computer Systems (4)
CSE 207C. Lattices and Cryptology (4) Review of basic principles of computer systems. Key CSE 228B. Storage Systems (4)
Introduction to the algorithmic theory of point lattices topics from the areas of operating systems, networks, (Formerly 281F.) Secondary and tertiary storage sys-
(A.K.A. algorithmic geometry of numbers), and some of distributed systems and performance evaluation: paral- tems, optical and magnetic media, performance analy-
its most important applications in cryptograply and lel processes, synchronization, communication proto- sis, modeling, reliability, redundant arrays of
cryptanalysis. Topics usually unclude: LLL basis reduc- cols, distributed systems, hierarchical and distributed inexpensive disks, striping, log and maximum distance
tion algorithm, cryptanalysis of broadcast RSA, storage architectures, distributed concurrency control separable data organizations, sparing. Prerequisite: CSE
hardness of approximating lattice problems. and transactions, computer security, and queueing 220 or consent of instructor.
Prerequisites: CSE 202, CSE 200 or concurrent. models.
CSE 228C. Communications Software (4)
CSE 208A. Topics in Complexity of Algorithms and Data CSE 221. Operating Systems (4) Internetworking: concept and architectural model, and
Structures (4) (Formerly CSE 264B.) Operating system structures, con- comparison with other network architectures.
(Formerly CSE 268C.) Advanced topics in concrete com- current computation models, scheduling, synchroniza- Addressing and address resolution, conventions. The
plexity, including decision trees and branching pro- tion mechanisms, address spaces, memory Internet datagram Protocol, gateway protocols and
grams, advanced data structures, boolean circuits, management protection and security, buffering, routing. The ICMP and network control and testing.
communication complexity, and randomized algo- streams, data-copying reduction techniques, file sys- Transport layer protocols, adaptive flow control, high-
rithms. Content may vary from year to year; may be tems, naming, caching, disk organization, mapped files, speed extensions. Experimental and other protocols.
repeated for credit with consent of instructor. remote file systems, case studies of major operating Prerequisites: CSE 221 and CSE 123A, or consent of instruc-
systems. Prerequisites: CSE 120 and 121, or consent of tor. (S/U grades permitted.)
Computer Science and Engineering (CSE)
CSE 228D. Real-Time Systems (4) tation of databases including query languages and combinatorial algorithms and mathematical program-
Basic concepts (periodic, sporadic processes, static vs. system architectures. Prerequisite: CSE 100 or consent of ming techniques to circuit layout, array computation,
dynamic scheduling) specification, time and clocks, instructor. etc.
scheduling and timing analysis, real-time programming
languages, real-time operating systems, software engi- CSE 232B. Database System Implementation (4) CSE 250A. Artificial Intelligence I (4)
neering. Prerequisite: CSE 221 or CSE 220, or consent of A hands-on approach to the principles of databases (Formerly CSE 278A.) Issues in knowledge representa-
instructor. (S/U grades permitted.) implementation. Algebraic rewriters/optimizers, query tion (using logic, semantic networks, production sys-
processors, triggers. Beyond centralized relational tems, and connectionist representations) will be the
CSE 228E. Fault-Tolerant Systems (4) databases. Prerequisites: CSE 232. focus of this course. A discussion of logic program-
(Formerly CSE 281E.) Services, servers, and the ming languages (like PROLOG) and automatic theo-
depends-upon relation, failure classification, failure CSE 233. Database Theory (4) rem proving will then lead to a discussion of heuristic
semantics, failure masking, exception handling: detec- (Formerly CSE 280Z.) The course is a rigorous introduc- search. Prerequisite: CSE 151 or equivalent.
tion, recovery, masking and propagation, termination tion to the theory of databases.Topics include the the-
vs. resumption in exception handling, fail-stop proces- ory of query languages, dependency theory, CSE 250B. Artificial Intelligence II (4)
sors and I/O controllers, reliable storage, reliable com- deductive databases, complex objects, object-ori- (Formerly CSE 278B.) This course will discuss knowl-
munication, process groups, synchronous and ented databases, and other advanced topics and edge representations used to search for solutions,
asynchronous group membership and broadcast serv- research issues as time allows. Evaluation will be done make deductions, plan, and problem solve. The appli-
ices, automatic redundancy management, case studies by homework and research projects. (S/U grades per- cation of these techniques to expert systems will be
of fault-tolerant systems. Prerequisite: CSE 220 or CSE mitted.) Prerequisites: one of CSE 132 or CSE 232, and CSE mentioned. Machine learning will also be a major topic
221, or consent of instructor. 200 or consent of instructor. of this course. Prerequisite: CSE 250A.
CSE 228F. Multimedia Systems (4) CSE 238. Topics in Programming Language Design and CSE 251. Natural Language Processing (4)
Emerging multimedia technologies; multimedia storage Implementation (4) (Formerly CSE 281W.) A survey of the traditional
models and structures; video/audio networking; intra- Current topics in programming language design and approaches to natural language processing, including
media continuity; inter-media synchronization; admis- implementation such as intermediate representations basic parsing, knowledge representation, and dis-
sion control and support for real time; distributed for software tools, cost models, optimizing for high- course analysis. Material covered in the survey will be
multimedia systems; structured interaction support (col- performance or parallelism, optimization of object-ori- chosen from such topics as augmented transition net-
laboration and teamwork); multimedia encoding. ented languages, and use of AI techniques in works, case grammars, semantic networks, and unifica-
Prerequisite: consent of instructor. (S/U grades permitted.) compilers. (S/U grades permitted.) May be repeated tion grammar. (S/U grades permitted.) Prerequisites:
three times for credit. Prerequisite: CSE 231 or consent of graduate standing and either 151 or consent of instruc-
CSE 228G. Wireless Networks (4) instructor. tor.
Topics in wireless networks with emphasis on packet-
switching integrated services networks. Multiaccess CSE 240. Principles in Computer Architecture I (4) CSE 252. Computer Vision (4)
protocols, link layer protocols, TCP/IP over wireless, (Formerly CSE 270A.) Architectural description tools, (Formerly CSE 281M.) Illuminant, surface, and camera
mobile IP, wireless ATM, PCS, satellite networks. Hand- performance evaluation, uniprocessor issues, includ- models. The role of irradiance, chrominance, stereo
off strategies, capacity/resource allocation, interface ing I-unit and E-unit concepts, RISC/CISC issues, bottle- disparity, optical flow, and texture in computing inter-
with wireline networks, multimedia. Prerequisite: CSE necks, I/O channels and processors, micro- and pretations of images. Edge detection, image segmen-
123A or CSE 222, or consent of instructor. nano-programming, memory hierarchy, virtual tation, local and global constraints from segment
machines, high-level language machines. Performance boundaries. Object representations and algorithms for
CSE 228H. Internet Algorithmics (4) enhancements: pipelining, instruction lookahead, recognition. Extremum problems in vision, including
Techniques for speeding up Internet implementations branch prediction, reduced semantic dependencies. regularization and maximum-likelihood techniques.
including system restructuring, new algorithms, and Prerequisite: CSE 141 or consent of instructor. Relation to human vision. Prerequisite: Math. 2A-B-C-D-
hardware innovations.Topics include: models for proto- E or equivalent. (S/U grades permitted.)
cols, systems and hardware; efficiency principles; apply- CSE 241. Advanced Computer Architecture (4)
ing these principles to deriving techniques for efficient Parallel computer architecture (shared memory, CSE 252C. Selected Topics in Vision and Learning (4)
implementation of common endnode and router func- processor-memory interconnect), multithreading, Selected topics in computer vision and statistical
tions. Prerequisite: CSE 123A or CSE 222. advanced topics in memory hierarchy design and pattern recognition, with an emphasis on recent
instruction-level parallelism. This course is a departure developments. Possible topics include: grouping and
CSE 229. Seminar in Computer Systems (1-4) point for research in high-performance computing segmentation, object recognition and tracking, multi-
Topics of special interest in computer systems to be and computer architecture. Prerequisite: consent of ple view geometry, kernel-based methods, dimension-
presented by staff members and students under faculty instructor. ality reduction, and mixture models. Prerequisite:
direction. May be repeated for credit. Prerequisite: con- CSE 252 or equivalent and CSE 250B or equivalent.
sent of instructor. (S/U grades only.) CSE 242. Design Systems for VLSI Circuits (4)
(Formerly CSE 281U.) Introduction to VLSI circuits; lay- CSE 253. Neural Networks (4)
CSE 230. Principles of Programming Languages (4) out design entry; logic design entry; symbolic layout; This course covers Hopfield networks, application to
(Formerly CSE 273.) Functional versus imperative pro- layout compaction; logic simulation; circuit simulation; optimization problems, layered perceptrons, recurrent
gramming. Type systems and polymorphism; the ML design for testability; two-level logic synthesis; multi- networks, and unsupervised learning. Programming
language. Higher order functions, lazy evaluation. level logic synthesis. (S/U grades permitted.) Prere- exercises explore model behavior, with a final project
Abstract versus concrete syntax, structural and well- quisite: consent of instructor. on a cognitive science, artificial intelligence, or opti-
founded induction. The lambda calculus, reduction mization problem of the student’s choice. Prerequisites:
strategies, combinators. Denotational semantics, ele- CSE 243. Computer-Aided Design for VLSI (4) knowledge of C and consent of instructor. (S/U grades
mentary domain theory. Prerequisite: CSE 130 or equiva- (Formerly CSE 281V.) Microarchitecture synthesis; logic permitted.)
lent, or consent of instructor. synthesis; synthesis systems for testability insertion;
intelligent silicon compilation; synthesis systems for CSE 254. Machine Learning (4)
CSE 231. Advanced Compiler Design (4) digital signal processing; expert systems in design (Formerly CSE 281T.) This course will discuss a wide
(Formerly CSE 264C.) Advanced material in program- automation; control unit synthesis; hardware descrip- range of techniques used to allow computers to learn
ming languages and translator systems. Topics include tion language issues; design automation databases. directly from experience with their environment
compilers, code optimization, and debugging inter- (S/U grades permitted.) Prerequisite: consent of instruc- rather than requiring programming by humans. The
preters. Prerequisites: CSE 100, 131A-B, or consent of tor. survey will span both high- and low-level learning
instructor. techniques as well as theoretical models that allow
CSE 248A. Application of Combinatorial Algorithms to these various techniques to be compared. (S/U grades
CSE 232. Principles of Database Systems (4) CAD (4) permitted.) Prerequisite: 250B.
(Formerly CSE 264D.) Database models including rela- (Formerly CSE 281D.) Description of models in
tional, hierarchic, and network approaches. Implemen- VLSI design. Current literature in CAD. Application of
Computer Science and Engineering (CSE)
CSE 255. Intelligent Systems (4) CSE 261. Parallel and Distributed Computation (4) science, especially information technology. Topics
Basic knowledge representation and problem-solving (Formerly CSE 274B.) The course concentrates on include requirements engineering, actor-network the-
method. Expert system architectures, languages, and developing easy-to-parallelize numerical algorithms ory, post-modernism, the Web, user interface design,
tools. Scheduling, planning, diagnosis, and training for optimization without being specific on the imple- and public policy. Prerequisites: CSE 8B or CSE 11, and
applications. Fuzzy logic and heuristic control. Neural mentation. Topics are selected from iterative methods background in the humanities.
network, decision tree, and statistical methods for data for linear and nonlinear equations; network problems;
mining. Guidelines for successful intelligent system asynchronous algorithms and partially asynchronous CSE 290. Seminar in Computer Science and
deployment. (S/U grades permited.) Prerequisite: CSE iterative methods. Prerequisite: consent of instructor. Engineering (1-4)
151 or graduate standing in the Advanced (Formerly CSE 280A.) A seminar course in which topics
Manufacturing Program, or consent of instructor. CSE 262. System Support for Applications of Parallel of special interest in computer science and engineer-
Computation (4) ing will be presented by staff members and graduate
CSE 256. Statistical Natural Language Processing (4) This course will explore design of software support for students under faculty direction. Topics vary from
An introduction to modern statistical approaches to applications of parallel computation. Topics include: quarter to quarter. May be repeated for credit. (S/U
natural language processing: part of speech tagging, programming languages, run time support, portabil- grades only.) Prerequisite: consent of instructor. (Offered
work sense disambiguation and parsing, using Markov ity, and load balancing. The course will terminate in a as faculty resources permit.)
models, hidden Markov models and probabilistic con- project. Prerequisite: consent of instructor.
text free grammars. Prerequisite: CSE 250B or equivalent CSE 291. Topics in Computer Science and
experience. CSE 263. Parallel Algorithms (4) Engineering (1-8)
(Formerly CSE 274D.) An introductory course in paral- (Formerly CSE 281A).Topics of interest in computer sci-
CSE 257. Computational Biology (4) lel algorithms on mesh, tree, hypercube, PRAM, and ence and engineering.Topics may vary from quarter to
Computational methods are indispensable to an related architectures. The algorithms include sorting quarter. May be repeated for credit with the consent of
understanding of the vast datasets emerging from and routing, matrix algorithms, graph algorithms, and instructor. (S/U grades permitted.) Prerequisite: consent
human and other organisms’ genomes. This course fast Fourier transform. Prerequisites: CSE 202, CSE 260, or of instructor. (Offered as faculty resources permit.)
surveys algorithms underlying genome analysis, consent of instructor.
sequence alignment, phylogenetic trees, protein fold- CSE 292. Faculty Research Seminar (1)
ing, gene expression, metabolic pathways, and biolog- CSE 268A. Topics in Parallel Computation (4) (Formerly CSE 282.) Computer science and engineer-
ical knowledge base design. Prerequisite: Pharm 201 or (Formerly CSE 281Y.) Current topics of interest in par- ing faculty will present one hour seminars of the
consent of instructor. allel computation will be discussed such as heteroge- current research work in their areas of interest.
neous computing, advanced topics in parallel Prerequisite: CSE graduate status.
CSE 257A. Bioinformatics II: Sequence and Structure programming environments, parallel programming
Analysis—Methods and Applications (4) models, performance criteria, etc. (S/U grades permit- CSE 293. Special Project in Computer Science and
Introduction to methods for sequence analysis. ted.) Prerequisite: graduate standing or consent of Engineering (1-8)
Applications to genome and proteome sequences. instructor. (Formerly CSE 269.) The student will conceive, design,
Protein Structure, sequence-structure analysis. and execute a project in computer science under the
CSE 268C. Topics in High-Performance Programming direction of a faculty member.The project will typically
CSE 257B. Algorithms in Computational Biology (4) (4) include a large programming or hardware design task,
This course will concentrate on computer science A systematic approach to the design, writing, and tun-
(algorithmic and combinatorial) aspects of computa- ing of programs to sustain near-peak performance
tional, molecular biology and will cover computational with particular emphasis on RISC processors and mas-
gene hunting, DNA mapping and sequencing, DNA sively parallel computers. A project will involve meas-
arrays, sequence comparison, gene finding, pattern uring and improving the performance of a
discovery in DNA, genome rearrangements, and com- computational kernel. Prerequisite: CSE 141 or consent
putational proteomics. Prerequisite: CSE 257A or BENG of instructor.
CSE 269. Seminar in Parallel Computation (1-4)
CSE 258A. Connectionists Natural Language A seminar course in which topics of special interest in
Processing (4) parallel computation will be presented by staff mem-
(Formerly CSE 281P.) This course will explore connec- bers and graduate students under faculty direction.
tionist (or parallel distributed processing) models and Topics vary from quarter to quarter. May be repeated for
their relation to cognitive processes. The course will credit. Prerequisite: consent of instructor. (S/U grades
cover various learning algorithms and the application only.)
of the paradigm to models of language processing,
memory, sequential processes, and vision. (S/U grades CSE 270. Statistics and Probability for Manufacturing
permitted.) Prerequisite: CSE 250B or equivalent experi- (4)
ence. This course covers probability and conditional proba-
bility for discrete and continuous random variables,
CSE 259. Seminar in Artificial Intelligence (1) combinations and permutations, joint random vari-
A weekly meeting featuring local (and occasional ables, estimation, hypothesis testing, and statistical
external) speakers discussing their current research in quality control, with a view to applications in manu-
Artificial Intelligence Neural Networks, and Genetic facturing. Prerequisite: none.
Algorithms. (S/U grades only.) Prerequisite: none.
CSE 271. User Interface Design: Social and Technical
CSE 260. Parallel Computation (4) Issues (4)
of parallel hardware, algorithms, models, and software. quickly build superb new systems, as well as phenom-
Topics include Flynn’s taxonomy, interconnection net- enally ugly systems that still fully meet their perform-
works, memory organization, a survey of commercially ance and functional requirements. This course
available multiprocessors, parallel algorithm para- explores interface usability and representation issues,
digms and complexity criteria, parallel programming with some focus on hypermedia and cooperative
environments and tools for parallel debugging, lan- work. Prere-quisites: CSE 20, CSE 100, or equivalent.
guage specification, mapping, performance, etc.
Prerequisite: graduate standing or consent of instructor. CSE 275. Social Aspects of Technology and Science (4)
Note: CSE 275 is pending CEP approval. Explores
approaches to the sociology of technology and