Computer Science

University of California, Berkeley

This is an archived copy of the 2015-16 guide. To access the most recent version of the guide, please visit http://guide.berkeley.edu.

About the Program

Choosing a Computer Science Path

There are two ways to study Computer Science (CS) at UC Berkeley:

  1. Be admitted to the Electrical Engineering & Computer Sciences (EECS) major in the College of Engineering (COE) as a freshman. Admission to the COE, however, is extremely competitive. This option leads to a Bachelor of Science (BS) degree. This path is appropriate for people who want an engineering education.
  2. Enter the College of Letters & Science (L&S) and, after successful completion of the courses required to declare with the minimum grade point average (GPA), petition to be admitted to the L&S Computer Science major. This path is appropriate for people who are interested in a broader education in the sciences and arts (such as double majoring in other L&S fields), and/or are not sure at the time of application that they can gain admission to EECS. This option leads to a Bachelor of Arts (BA) degree.

There is no difference in the CS course content between the BS and BA programs. The difference is in what else you take: mainly engineering, or mainly humanities and social sciences. In particular, an interest in hardware suggests the EECS route; an interest in double majoring (for example, in math or cognitive science) suggests the L&S route.

Bachelor of Science (BS) in Computer Science

For information regarding the BS degree, please see the Electrical Engineering and Computer Sciences program  information in this Guide. 

Bachelor of Arts (BA) in Computer Science

This CS major is for students enrolled in the College of Letters & Science (L&S ). Berkeley emphasizes the science of computer science, which means much more than just computer programming. It includes the theory of computation, the design and analysis of algorithms, the architecture and logic design of computers, programming languages, compilers, operating systems, scientific computation, computer graphics, databases, artificial intelligence, and natural language processing. Our goal is to prepare students both for a possible research career and long-term technical leadership in industry. We must therefore look beyond today's technology and give students the primary ideas and the learning skills that will prepare them to teach themselves about tomorrow's technology.

Declaring the Major (BA only)

It is necessary to achieve a minimum prerequisite grade point average (GPA) in order to declare the Computer Science major. Information on this GPA and the process to petition for admission to the major can be found on the Petitioning to the Computer Science Major website.

Transfer students admitted to Berkeley must apply separately to the Computer Science major after matriculating and completing the missing prerequisite courses for declaration. Not all transfer students will meet the criteria required for the major. Therefore, we recommend that transfer students be prepared to pursue an alternative major at Berkeley. Questions may be directed to the CS advising office, 379 Soda Hall, 510-664-4436, or via email at cs-advising@cs.berkeley.edu. 

Five-Year BS/MS Program

This program is geared toward students who would like to pursue an education beyond the BS/BA, allowing them to achieve greater breadth and/or depth of knowledge, and who would like to try their hand at research as well. For information, please see the Five-Year BS/MS Requirements tab on this page. 

Honors Program

Computer Science majors with an overall GPA of 3.70 or above are eligible to apply to the EECS honors degree program.

Minor Program

A minor in Computer Science is available to all undergraduate students at Berkeley with a declared major, with the exception of EECS majors. For information regarding minor requirements, please see the Minor Requirements tab on this page.

Visit Department Website

Major Requirements (BA)

In addition to the University, campus, and college requirements, listed on the College Requirements tab, students must fulfill the below requirements specific to their major program.

General Guidelines

  1. All courses taken to fulfill the major requirements below must be 3 or more units and taken for a letter grade.
  2. No more than one upper division course may be used to simultaneously fulfill requirements for a student's major and minor programs.
  3. A minimum grade point average (GPA) of 2.0 must be maintained in both upper and lower division courses used to fulfill the major requirements.

For information regarding residence requirements and unit requirements, please see the College Requirements tab.

Lower Division Prerequisites

MATH 1ACalculus4
MATH 1BCalculus4
MATH 54Linear Algebra and Differential Equations4
COMPSCI 61AThe Structure and Interpretation of Computer Programs4
COMPSCI 61BData Structures4
COMPSCI 61CMachine Structures4
COMPSCI 70Discrete Mathematics and Probability Theory4

Lower Division Requirement

EL ENG 16ADesigning Information Devices and Systems I4
or EL ENG 20 Course Not Available
or EL ENG 40 Course Not Available

 Upper Division Requirements

Select one design course from the following:
COMPSCI C149Introduction to Embedded Systems4
COMPSCI 150Course Not Available
COMPSCI 152Computer Architecture and Engineering4
COMPSCI 160User Interface Design and Development4
COMPSCI 162Operating Systems and System Programming4
COMPSCI 164Programming Languages and Compilers4
COMPSCI 169Software Engineering4
COMPSCI 184Foundations of Computer Graphics4
COMPSCI 186Introduction to Database Systems4
EL ENG C106AIntroduction to Robotics4
EL ENG C128Feedback Control Systems4
EL ENG 130Integrated-Circuit Devices4
EL ENG 140Linear Integrated Circuits4
EL ENG 141Course Not Available
EL ENG 143Microfabrication Technology4
EL ENG C149Introduction to Embedded Systems4
EL ENG 192Mechatronic Design Laboratory4
Select two additional upper division computer science courses from the following, or from the above list:
COMPSCI 161Computer Security4
COMPSCI 168Introduction to the Internet: Architecture and Protocols4
COMPSCI 170Efficient Algorithms and Intractable Problems4
COMPSCI 172Computability and Complexity4
COMPSCI 176Algorithms for Computational Biology4
COMPSCI 186Introduction to Database Systems4
COMPSCI 188Introduction to Artificial Intelligence4
COMPSCI 189Introduction to Machine Learning4
COMPSCI C191Quantum Information Science and Technology3
Select two additional electrical engineering or computer science courses from the above list or from the following:
EL ENG 105Microelectronic Devices and Circuits4
EL ENG 113Power Electronics4
EL ENG 117Electromagnetic Fields and Waves4
EL ENG 118Introduction to Optical Engineering3
EL ENG 120Signals and Systems4
EL ENG 121Introduction to Digital Communication Systems4
EL ENG 122Introduction to Communication Networks4
EL ENG 123Digital Signal Processing4
EL ENG 126Probability and Random Processes4
EL ENG 127Optimization Models in Engineering4
EL ENG C128Feedback Control Systems4
EL ENG 129Neural and Nonlinear Information Processing3
EL ENG 130Integrated-Circuit Devices4
EL ENG 134Fundamentals of Photovoltaic Devices4
EL ENG 137AIntroduction to Electric Power Systems4
EL ENG 137BIntroduction to Electric Power Systems4
EL ENG 140Linear Integrated Circuits4
EL ENG 142Integrated Circuits for Communications4
EL ENG 144Fundamental Algorithms for Systems Modeling, Analysis, and Optimization4
EL ENG C145BMedical Imaging Signals and Systems4
EL ENG C145LIntroductory Electronic Transducers Laboratory3
EL ENG C145MIntroductory Microcomputer Interfacing Laboratory3
EL ENG C145OLaboratory in the Mechanics of Organisms3
EL ENG 147Introduction to Microelectromechanical Systems (MEMS)3
EL ENG C149Introduction to Embedded Systems4
Technical electives: In addition to the 20 units of required CS coursework above, 7 units of technical electives can be CS, EE, or from the list of approved non-computer science technical electives (see list below) for a total of 27 units for the major.27

Approved Non-Computer Science Technical Electives

ARCH 122Principles of Computer Aided Architectural Design4
ARCH 129Special Topics in Digital Design Theories and Methods4
ARCH 222Principles of Computer Aided Architectural Design4
ARCH 229Special Topics in Digital Design Theories and Methods4
ART 178Game Design Methods4
ASTRON C162Planetary Astrophysics4
All technical undergraduate and graduate courses in BIO ENG, except BIO ENG 100, C181, 190, 192, and 196
UGBA 103Introduction to Finance4
UGBA 104Analytic Decision Modeling Using Spreadsheets3
UGBA 119Leading Strategy Implementation3
UGBA 120AAIntermediate Financial Accounting 14
UGBA 120ABIntermediate Financial Accounting 24
UGBA 152Negotiation and Conflict Resolution3
NWMEDIA 190Special Topics in New Media1-4
NWMEDIA 290Special Topics in New Media1-4
CHEM 120APhysical Chemistry3
CHEM 120BPhysical Chemistry3
CHEM C130Biophysical Chemistry: Physical Principles and the Molecules of Life4
All technical undergraduate and graduate courses in CIV ENG, except CIV ENG 192, CIV ENG 252L, and CIV ENG 290R
COG SCI C101The Mind and Language4
COG SCI C126Perception3
COG SCI C127Cognitive Neuroscience3
All Technical undergraduate and graduate courses in COMP SCI
COG SCI 131Computational Models of Cognition4
ECON 100AEconomic Analysis--Micro4
ECON 100BEconomic Analysis--Macro4
ECON 101AEconomic Theory--Micro4
ECON 101BEconomic Theory--Macro4
ECON 136Financial Economics4
ECON 141Econometric Analysis4
All technical undergraduate and graduate courses in EL ENG
All technical undergraduate and graduate courses in ENGIN, except ENGIN 102, 125, 157AC
FILM 140Special Topics in Film (depending on topic)4
GEOG 143Global Change Biogeochemistry3
GEOG C188Geographic Information Systems4
EPS 104Mathematical Methods in Geophysics4
EPS 122Physics of the Earth and Planetary Interiors3
EPS C162Planetary Astrophysics4
All technical undergraduate and graduate courses in IND ENG
INFO 152Mobile Application Design and Development3
INFO 155Introduction to High-Level Programming3
INFO 214Needs and Usability Assessment3
INFO 219Course Not Available
INFO 242XML Foundations3
INFO 256Applied Natural Language Processing3
INFO 257Database Management3
INFO 290Special Topics in Information1-4
INFO 293Curricular Practical Training for International Students0.0
INFO 295Doctoral Colloquium1
INFO 298Directed Group Study1-3
INFO 296ASeminar2-4
All technical undergraduate and graduate courses in integrative biology
LINGUIS C105The Mind and Language4
LINGUIS 120Introduction to Syntax and Semantics4
LINGUIS 158Computational Methods3
All technical undergraduate and graduate courses in MATH, except MATH 160
All technical undergraduate and graduate courses in MECH ENG
All technical undergraduate and graduate courses in MCB
MCELLBI 102Survey of the Principles of Biochemistry and Molecular Biology4
MCELLBI 150LImmunology Laboratory4
MCELLBI 160LNeurobiology Laboratory4
MCELLBI 166Biophysical Neurobiology3
MCELLBI C262Circuit and Systems Neurobiology3
MCELLBI C100ABiophysical Chemistry: Physical Principles and the Molecules of Life4
MUSIC 108Music Perception and Cognition3
MUSIC 158Musical Applications of Computers and Related Technologies4
MUSIC 209Advanced Topics in Computer Music4
All technical undergraduate and graduate courses in PHYSICS
PSYCH 101Research and Data Analysis in Psychology4
PSYCH 128/290QTopical Seminars in Cognitive Psychology3
All technical undergraduate and graduate courses in STAT except STAT 131A, STAT 131B, & STAT 131F
VIS SCI 265Neural Computation3
 

Five-Year BS/MS

This program is geared toward students who would like to pursue an education beyond the BS/BA, allowing them to achieve greater breadth and/or depth of knowledge, and who would like to try their hand at research as well. It is not intended for students who have definitely decided to pursue a PhD immediately following graduation. Those students are advised to apply for a PhD program at Berkeley or elsewhere during their senior year. Students who have been accepted into the Five-Year BA/MS or BS/MS are free to change their minds later and apply to enter the PhD program or apply to a PhD program at another university. Note that admission is competitive with all our PhD applicants.

The program is focused on interdisciplinary training at a graduate level; with at least 8 units of course work outside EECS required. Students will emerge as leaders in their technical and professional fields.

  • Focused on interdisciplinary study and more experience in aligned technical fields such as physics, materials science, statistics, biology, etc., and/or professional disciplines such as management of technology, business, law and public policy.
  • If admitted to the program, students must begin the graduate portion in the semester immediately following the conferral of the bachelor's degree.
  • Only one additional year (two semesters) beyond the bachelor's degree.
  • Only available to Berkeley EECS and L&S CS undergraduates.
  • Participants in program may serve as graduate student instructors (GSIs) with approval from their faculty research adviser and the Five-Year MS Committee.
  • Participants in program are self-funded.

For further information regarding this program, please see the department's website

Minor Requirements

Students who have a strong interest in an area of study outside their major often decide to complete a minor program. These programs have set requirements and are noted officially on the transcript in the memoranda section, but are not noted on diplomas.

General Guidelines

  1. All courses taken to fulfill the minor requirements below must be taken for graded credit.
  2. A minimum of three of the upper division courses taken to fulfill the minor requirements must be completed at UC Berkeley.
  3. A minimum grade point average (GPA) of 2.0 is required for courses used to fulfill the minor requirements.
  4. Courses used to fulfill the minor requirements may be applied toward the Seven-Course Breadth requirement, for Letters & Science students.
  5. No more than one upper division course may be used to simultaneously fulfill requirements for a student's major and minor programs.
  6. All minor requirements must be completed prior to the last day of finals during the semester in which you plan to graduate. If you cannot finish all courses required for the minor by that time, please see a College of Letters & Science adviser.
  7. All minor requirements must be completed within the unit ceiling. (For further information regarding the unit ceiling, please see the College Requirements tab.)

Requirements

Lower Division Prerequisites
COMPSCI 61AThe Structure and Interpretation of Computer Programs4
COMPSCI 61BData Structures4
or COMPSCI 61BL Data Structures and Programming Methodology
COMPSCI 61CMachine Structures4
COMPSCI 70Discrete Mathematics and Probability Theory4
Upper Division
Select three upper division, technical courses in computer science

College Requirements

Undergraduate students in the College of Letters & Science must fulfill the following requirements in addition to those required by their major program.

For detailed lists of courses that fulfill college requirements, please see the College of Letters & Sciences  page in this Guide.

Entry Level Writing

All students who will enter the University of California as freshmen must demonstrate their command of the English language by fulfilling the Entry Level Writing requirement. Fulfillment of this requirement is also a prerequisite to enrollment in all reading and composition courses at UC Berkeley. 

American History and American Institutions

The American History and Institutions requirements are based on the principle that a US resident graduated from an American university should have an understanding of the history and governmental institutions of the United States.

American Cultures

American Cultures is the one requirement that all undergraduate students at Cal need to take and pass in order to graduate. The requirement offers an exciting intellectual environment centered on the study of race, ethnicity and culture of the United States. AC courses offer students opportunities to be part of research-led, highly accomplished teaching environments, grappling with the complexity of American Culture.

Quantitative Reasoning

The Quantitative Reasoning requirement is designed to ensure that students graduate with basic understanding and competency in math, statistics, or computer science. The requirement may be satisfied by exam or by taking an approved course.

Foreign Language

The Foreign Language requirement may be satisfied by demonstrating proficiency in reading comprehension, writing, and conversation in a foreign language equivalent to the second semester college level, either by passing an exam or by completing approved course work.

Reading and Composition

In order to provide a solid foundation in reading, writing and critical thinking the College requires two semesters of lower division work in composition. Students must complete a first-level reading and composition course by the end of their second semester and a second-level course by the end of their fourth semester.

Breadth Requirements

The undergraduate breadth requirements provide Berkeley students with a rich and varied educational experience outside of their major program. As the foundation of a liberal arts education, breadth courses give students a view into the intellectual life of the University while introducing them to a multitude of perspectives and approaches to research and scholarship. Engaging students in new disciplines and with peers from other majors, the breadth experience strengthens interdisciplinary connections and context that prepares Berkeley graduates to understand and solve the complex issues of their day.

Unit Requirements

  • 120 total units, including at least 60 L&S units

  • Of the 120 units, 36 must be upper division units

  • Of the 36 upper division units, 6 must be taken in courses offered outside your major department

Residence Requirements

For units to be considered in "residence," you must be registered in courses on the Berkeley campus as a student in the College of Letters & Science. Most students automatically fulfill the residence requirement by attending classes here for four years. In general, there is no need to be concerned about this requirement, unless you go abroad for a semester or year or want to take courses at another institution or through University Extension during your senior year. In these cases, you should make an appointment to see an adviser to determine how you can meet the Senior Residence Requirement.

Note: Courses taken through UC Extension do not count toward residence.

Senior Residence Requirement

After you become a senior (with 90 semester units earned toward your BA degree), you must complete at least 24 of the remaining 30 units in residence in at least two semesters. To count as residence, a semester must consist of at least 6 passed units. Intercampus Visitor, EAP, and UC Berkeley-Washington Program (UCDC) units are excluded.

You may use a Berkeley summer session to satisfy one semester of the Senior Residence requirement, provided that you successfully complete 6 units of course work in the Summer Session and that you have been enrolled previously in the college.

Modified Senior Residence Requirement

Participants in the UC Education Abroad Program (EAP) or the UC Berkeley Washington Program (UCDC) may meet a Modified Senior Residence requirement by completing 24 (excluding EAP) of their final 60 semester units in residence. At least 12 of these 24 units must be completed after you have completed 90 units.

Upper Division Residence Requirement

You must complete in residence a minimum of 18 units of upper division courses (excluding EAP units), 12 of which must satisfy the requirements for your major.

Plan of Study (BA)

Computer Science (in the College of Letters & Science), BA

For more detailed information regarding the courses listed below (e.g., elective information, GPA requirements, etc.), please see the Major Requirements tab.

Freshman
FallUnitsSpringUnits 
COMPSCI 104COMPSCI 61A4 
MATH 1A4EL ENG 16A4 
Reading & Composition A4Reading & Composition B4 
L&S Breadth3L&S Breadth3 
 15 15
Sophomore
FallUnitsSpringUnitsSummerUnits
COMPSCI 61B4COMPSCI 61C4Internship 
EL ENG 16B4COMPSCI 704
OR
 
L&S Breadth4L&S Breadth3Study Abroad 
L&S Breadth3American Cultures Reqt4 
 15 15 0
Junior
FallUnitsSpringUnitsSummerUnits
UD CS major course (1 of 5)4UD CS major course (2 of 5)4Internship 
MATH 1B4UD CS major course (3 of 5)4
OR
 
L&S Breadth4UD major technical elective4Study Abroad 
LD/UD Elective3MATH 544 
 15 16 0
Senior
FallUnitsSpringUnits 
UD CS major course (4 of 5)4UD CS major course (5 of 5)4 
L&S Breadth4UD major technical elective4 
UD Elective4LD/UD Elective4 
UD Elective outside major dept3UD Elective outside major dept3 
 15 15
Total Units: 121
1

 This is a sample program plan. This plan assumes that the student has completed the Entry Level Writing, American History and Institutions, Quantitative Reasoning, and Foreign Language requirements prior to admission.

2

 Students are strongly advised to work with an academic adviser to determine a personal program plan. Your program plan will differ depending on previous credit received, your course schedule, and available offerings.

Major Adviser Notes: For Fall term in Year 3 students are advised to avoid taking courses known to be particularly heavy in terms of workload. Ideally, students should choose courses from the following list as they're more manageable: COMPSCI 160, COMPSCI 161, COMPSCI 168, COMPSCI 186, and COMPSCI 188. Suggestions are provided in parenthesis though there are many favorable combinations.

3

 EECS 151, COMPSCI 152, COMPSCI 162, COMPSCI 164, COMPSCI 169, COMPSCI 170, and COMPSCI 184 are known to have heavy workloads. It is not recommended to take these courses in combination.

4

 Course Definitions: UD CS major course: Course meeting the 20 units of upper division CS requirement (at least one of these must be a Design Course).

UD major technical elective: Course meeting the 7 units of technical electives requirement.

Example Major Course Sequences:
General: COMPSCI 160 or COMPSCI 184, COMPSCI 170, COMPSCI 188, COMPSCI 162, COMPSCI 186
Systems: EECS 151, COMPSCI 170, COMPSCI 162, COMPSCI 161, COMPSCI 186 or EECS 149
HCI: COMPSCI 160, COMPSCI 170, COMPSCI 188, COMPSCI 184, EECS 149
AI: EL ENG 120 + (EL ENG 126 or EL ENG 127), COMPSCI 170, COMPSCI 188, COMPSCI 189, EL ENG C106A or EL ENG 192
Theory: EL ENG 120 + (EL ENG 126 or EL ENG 127), COMPSCI 170, COMPSCI 188, COMPSCI 172, EL ENG C128

Plan of Study (BS)

For more detailed information regarding the courses listed below (e.g., elective information, GPA requirements, etc.), please see the Major Requirements tab.

Electrical Engineering and Computer Sciences (in the College of Engineering), BS

Freshman
FallUnitsSpringUnits
MATH 1A4MATH 1B4
COMPSCI 61A4COMPSCI 61B or 61BL4
Natural Science Elective13-5EL ENG 16A4
Reading and Composition course from List A4Reading and Composition course from List B4
 15-17 16
Sophomore
FallUnitsSpringUnits
MATH 534MATH 544
PHYSICS 7A4PHYSICS 7B4
EL ENG 16B4COMPSCI 61C or 61CL4
Humanities/Social Sciences course3-4Humanities/Social Sciences course3-4
 15-16 15-16
Junior
FallUnitsSpringUnits
COMPSCI 704EECS Upper Division Electives28
EECS Upper Division Electives28Humanities/Social Sciences course3-4
Humanities/Social Sciences course3-4Ethics/Social Implications of Technology31-4
 Free Elective2
 15-16 14-18
Senior
FallUnitsSpringUnits
EECS Upper Division Elective24Technical Elective43
Technical Elective43Free Electives12
Free Electives8 
 15 15
Total Units: 120-129
1

Students must complete one course from the following list: ASTRON 7AASTRON 7B, BIOLOGY 1A and BIOLOGY 1AL (must take both), BIOLOGY 1BCHEM 1A and CHEM 1AL (must take both), CHEM 1B, CHEM 3A and CHEM 3AL (must take both), CHEM 3B and CHEM 3BL (must take both), CHEM 4ACHEM 4B, MCELLBI 32 and MCELLBI 32L (must take both), PHYSICS 7C, or an upper-division course of 3 units or more in astronomy, biology, chemistry, earth and planetary science (other than EPS 170AC), integrative biology, molecular cell biology, physics, or plant & microbial biology. This requirement is listed in the freshman year curriculum, but many of the options would not be appropriate for a first year student. Complete this requirement in the semester when it is most appropriate to do so (i.e., take PHYSICS 7C after completing PHYSICS 7B). Your ESS or faculty adviser can help guide your selection on this requirement.

2

Students must complete a minimum of 20 units of upper division EECS courses. One course must provide a major design experience, and be selected from the following list: EECS 149,  EL ENG C128, EL ENG 130, EL ENG 140, EL ENG 141, EL ENG 143, EL ENG C149, EL ENG 192, COMPSCI C149, COMPSCI 150, COMPSCI 160, COMPSCI 162, COMPSCI 164, COMPSCI 169, COMPSCI 184, COMPSCI 186, EECS 151 and EECS 151LA (must take both), EECS 151 and EECS 151LB (must take both).

3

Students must complete one course about engineering ethics or social implications of technology. This may be fulfilled by completing one of the following courses: BIO ENG 100*, COMPSCI 195COMPSCI H195, ENE,RES C100*, ENGIN 125*, ENGIN 157AC*, IAS 157AC*, ISF 100D*. Courses marked with an asterisk fulfill both a humanities/social science requirement and the EECS ethics/social implication of technology requirement.

4

Students must complete a minimum of 45 units of engineering coursework. The 45 units of engineering courses cannot include:

Accelerated Program Plans

For students considering graduating in less than four years, it's important to acknowledge the reasons to undertake such a plan of study. While there are advantages to pursuing a three-year degree plan such as reducing financial burdens, they are not for everyone and do involve sacrifices; especially with respect to participating in co-curricular activities, depth of study,  and summer internships, which typically lead to jobs upon graduation. All things considered, please see the tables for three and three and a half year degree options.

3.5 Year Plan

3 Year Plan

3 Year Plan with Exams

Student Learning Goals

Mission

  1. Preparing graduates to pursue postgraduate education in electrical engineering, computer science, or related fields.
  2. Preparing graduates for success in technical careers related to electrical and computer engineering, or computer science and engineering.
  3. Preparing graduates to become leaders in fields related to electrical and computer engineering or computer science and engineering.

Learning Goals for the Major

  1. An ability to apply knowledge of mathematics, science, and engineering.
  2. An ability to configure, apply test conditions, and evaluate outcomes of experimental systems.
  3. An ability to design systems, components, or processes that conform to given specifications and cost constraints.
  4. An ability to work cooperatively, respectfully, creatively, and responsibly as a member of a team.
  5. An ability to identify, formulate, and solve engineering problems.
  6. An understanding of the norms of expected behavior in engineering practice and their underlying ethical foundations.
  7. An ability to communicate effectively by oral, written, and graphical means.
  8. An awareness of global and societal concerns and their importance in developing engineering solutions.
  9. An ability to independently acquire and apply required information, and an appreciation of the associated process of lifelong learning.
  10. A knowledge of contemporary issues.
  11. An in-depth ability to use a combination of software, instrumentation, and experimental techniques practiced in circuits, physical electronics, communication, networks and systems, hardware, programming, and computer science theory.

Courses

Computer Science

COMPSCI C8 Foundations of Data Science 4 Units

Offered through: Electrical Engin and Computer Sci
Terms offered: Fall 2017, Spring 2017, Fall 2016
Foundations of data science from three perspectives: inferential thinking, computational thinking, and real-world relevance. Given data arising from some real-world phenomenon, how does one analyze that data so as to understand that phenomenon? The course teaches critical concepts and skills in computer programming and statistical inference, in conjunction with hands-on analysis of real-world
datasets, including economic data, document collections, geographical data, and social networks. It delves into social and legal issues surrounding data analysis, including issues of privacy and data ownership.

COMPSCI 9A Matlab for Programmers 2 Units

Offered through: Electrical Engin and Computer Sci
Terms offered: Fall 2017, Spring 2017, Fall 2016
Introduction to the constructs in the Matlab programming language, aimed at students who already know how to program. Array and matrix operations, functions and function handles, control flow, plotting and image manipulation, cell arrays and structures, and the Symbolic Mathematics toolbox.

COMPSCI 9C C for Programmers 2 Units

Offered through: Electrical Engin and Computer Sci
Terms offered: Fall 2017, Spring 2017, Fall 2016
Self-paced course in the C programming language for students who already know how to program. Computation, input and output, flow of control, functions, arrays, and pointers, linked structures, use of dynamic storage, and implementation of abstract data types.

COMPSCI 9D Scheme and Functional Programming for Programmers 2 Units

Offered through: Electrical Engin and Computer Sci
Terms offered: Spring 2017, Spring 2016, Fall 2015
Self-paced course in functional programming, using the Scheme programming language, for students who already know how to program. Recursion; higher-order functions; list processing; implementation of rule-based querying.

COMPSCI 9E Productive Use of the UNIX Environment 2 Units

Offered through: Electrical Engin and Computer Sci
Terms offered: Fall 2017, Spring 2017, Fall 2016
Use of UNIX utilities and scripting facilities for customizing the programming environment, organizing files (possibly in more than one computer account), implementing a personal database, reformatting text, and searching for online resources.

COMPSCI 9F C++ for Programmers 2 Units

Offered through: Electrical Engin and Computer Sci
Terms offered: Fall 2017, Spring 2017, Fall 2016
Self-paced introduction to the constructs provided in the C++ programming language for procedural and object-oriented programming, aimed at students who already know how to program.

COMPSCI 9G JAVA for Programmers 2 Units

Offered through: Electrical Engin and Computer Sci
Terms offered: Fall 2017, Spring 2017, Fall 2016
Self-paced course in Java for students who already know how to program. Applets; variables and computation; events and flow of control; classes and objects; inheritance; GUI elements; applications; arrays, strings, files, and linked structures; exceptions; threads.

COMPSCI 9H Python for Programmers 2 Units

Offered through: Electrical Engin and Computer Sci
Terms offered: Fall 2017, Spring 2017, Fall 2016
Introduction to the constructs provided in the Python programming language, aimed at students who already know how to program. Flow of control; strings, tuples, lists, and dictionaries; CGI programming; file input and output; object-oriented programming; GUI elements.

COMPSCI 10 The Beauty and Joy of Computing 4 Units

Offered through: Electrical Engin and Computer Sci
Terms offered: Fall 2017, Summer 2017 8 Week Session, Spring 2017
An introduction to the beauty and joy of computing. The history, social implications, great principles, and future of computing. Beautiful applications that have changed the world. How computing empowers discovery and progress in other fields. Relevance of computing to the student and society will be emphasized. Students will learn the joy of programming a computer using
a friendly, graphical language, and will complete a substantial team programming project related to their interests.

COMPSCI W10 The Beauty and Joy of Computing 4 Units

Offered through: Electrical Engin and Computer Sci
Terms offered: Fall 2012
This course meets the programming prerequisite for 61A. An introduction to the beauty and joy of computing. The history, social implications, great principles, and future of computing. Beautiful applications that have changed the world. How computing empowers discovery and progress in other fields. Relevance of computing to the student and society will be emphasized. Students will learn the joy of programming a
computer using a friendly, graphical language, and will complete a substantial team programming project related to their interests.

COMPSCI 39J Freshman/Sophomore Seminar 1.5 - 4 Units

Offered through: Electrical Engin and Computer Sci
Terms offered: Spring 2011, Fall 2010, Spring 2010
Freshman and sophomore seminars offer lower division students the opportunity to explore an intellectual topic with a faculty member and a group of peers in a small-seminar setting. These seminars are offered in all campus departments; topics vary from department to department and from semester to semester. Enrollment limits are set by the faculty, but the suggested limit is 25.

COMPSCI 39K Freshman/Sophomore Seminar 1.5 - 4 Units

Offered through: Electrical Engin and Computer Sci
Terms offered: Spring 2013, Spring 2011, Spring 2010
Freshman and sophomore seminars offer lower division students the opportunity to explore an intellectual topic with a faculty member and a group of peers in a small-seminar setting. These seminars are offered in all campus departments; topics vary from department to department and from semester to semester. Enrollment limits are set by the faculty, but the suggested limit is 25.

COMPSCI 39M Freshman/Sophomore Seminar 1.5 - 4 Units

Offered through: Electrical Engin and Computer Sci
Terms offered: Fall 2008
Freshman and sophomore seminars offer lower division students the opportunity to explore an intellectual topic with a faculty member and a group of peers in a small-seminar setting. These seminars are offered in all campus departments; topics vary from department to department and from semester to semester. Enrollment limits are set by the faculty, but the suggested limit is 25.

COMPSCI 39N Freshman/Sophomore Seminar 1.5 - 4 Units

Offered through: Electrical Engin and Computer Sci
Terms offered: Fall 2010, Fall 2009
Freshman and sophomore seminars offer lower division students the opportunity to explore an intellectual topic with a faculty member and a group of peers in a small-seminar setting. These seminars are offered in all campus departments; topics vary from department to department and from semester to semester. Enrollment limits are set by the faculty, but the suggested limit is 25.

COMPSCI 39P Freshman/Sophomore Seminar 1.5 - 4 Units

Offered through: Electrical Engin and Computer Sci
Terms offered: Fall 2013, Spring 2013, Fall 2012
Freshman and sophomore seminars offer lower division students the opportunity to explore an intellectual topic with a faculty member and a group of peers in a small-seminar setting. These seminars are offered in all campus departments; topics vary from department to department and from semester to semester. Enrollment limits are set by the faculty, but the suggested limit is 25.

COMPSCI 39Q Freshman/Sophomore Seminar 1.5 - 4 Units

Offered through: Electrical Engin and Computer Sci
Terms offered: Fall 2011
Freshman and sophomore seminars offer lower division students the opportunity to explore an intellectual topic with a faculty member and a group of peers in a small-seminar setting. These seminars are offered in all campus departments; topics vary from department to department and from semester to semester. Enrollment limits are set by the faculty, but the suggested limit is 25.

COMPSCI 39R Freshman/Sophomore Seminar 1.5 - 4 Units

Offered through: Electrical Engin and Computer Sci
Terms offered: Spring 2016, Spring 2013
Freshman and sophomore seminars offer lower division students the opportunity to explore an intellectual topic with a faculty member and a group of peers in a small-seminar setting. These seminars are offered in all campus departments; topics vary from department to department and from semester to semester. Enrollment limits are set by the faculty, but the suggested limit is 25.

COMPSCI 47A Completion of Work in Computer Science 61A 1 Unit

Offered through: Electrical Engin and Computer Sci
Terms offered: Fall 2017, Spring 2017, Fall 2016
Implementation of generic operations. Streams and iterators. Implementation techniques for supporting functional, object-oriented, and constraint-based programming in the Scheme programming language. Together with 9D, 47A constitutes an abbreviated, self-paced version of 61A for students who have already taken a course equivalent to 61B.

COMPSCI 47B Completion of Work in Computer Science 61B 1 Unit

Offered through: Electrical Engin and Computer Sci
Terms offered: Fall 2017, Spring 2017, Fall 2016
Iterators. Hashing, applied to strings and multi-dimensional structures. Heaps. Storage management. Design and implementation of a program containing hundreds of lines of code. Students with sufficient partial credit in 61B may, with consent of instructor, complete the credit in this self-paced course.

COMPSCI 47C Completion of Work in Computer Science 61C 1 Unit

Offered through: Electrical Engin and Computer Sci
Terms offered: Fall 2017, Spring 2017, Fall 2016
MIPS instruction set simulation. The assembly and linking process. Caches and virtual memory. Pipelined computer organization. Students with sufficient partial credit in 61C may, with consent of instructor, complete the credit in this self-paced course.

COMPSCI 61A The Structure and Interpretation of Computer Programs 4 Units

Offered through: Electrical Engin and Computer Sci
Terms offered: Fall 2017, Summer 2017 8 Week Session, Spring 2017
Introduction to programming and computer science. This course exposes students to techniques of abstraction at several levels: (a) within a programming language, using higher-order functions, manifest types, data-directed programming, and message-passing; (b) between programming languages, using functional and rule-based languages as examples. It also relates these techniques
to the practical problems of implementation of languages and algorithms on a von Neumann machine. There are several significant programming projects.

COMPSCI 61AS The Structure and Interpretation of Computer Programs (Self-Paced) 1 - 4 Units

Offered through: Electrical Engin and Computer Sci
Terms offered: Spring 2016, Fall 2015, Summer 2015 8 Week Session
Introductory programming and computer science. Abstraction as means to control program complexity. Programming paradigms: functional, object-oriented, client/server, and declarative (logic). Control abstraction: recursion and higher order functions. Introduction to asymptotic analysis of algorithms. Data abstraction: abstract data types, type-tagged data, first class data
types, sequences implemented as lists and as arrays, generic operators implemented with data-directed programming and with message passing. Implementation of object-oriented programming with closures over dispatch procedures. Introduction to interpreters and compilers. There are several significant programming projects. Course may be completed in one or two semesters. Students must complete a mimimum of two units during their first semester of 61AS.

COMPSCI 61B Data Structures 4 Units

Offered through: Electrical Engin and Computer Sci
Terms offered: Fall 2017, Spring 2017, Fall 2016
Fundamental dynamic data structures, including linear lists, queues, trees, and other linked structures; arrays strings, and hash tables. Storage management. Elementary principles of software engineering. Abstract data types. Algorithms for sorting and searching. Introduction to the Java programming language.

COMPSCI 61BL Data Structures and Programming Methodology 4 Units

Offered through: Electrical Engin and Computer Sci
Terms offered: Summer 2017 8 Week Session, Summer 2016 10 Week Session, Summer 2016 8 Week Session
The same material as in 61B, but in a laboratory-based format.

COMPSCI 61C Machine Structures 4 Units

Offered through: Electrical Engin and Computer Sci
Terms offered: Fall 2017, Summer 2017 8 Week Session, Spring 2017
The internal organization and operation of digital computers. Machine architecture, support for high-level languages (logic, arithmetic, instruction sequencing) and operating systems (I/O, interrupts, memory management, process switching). Elements of computer logic design. Tradeoffs involved in fundamental architectural design decisions.

COMPSCI 61CL Machine Structures (Lab-Centric) 4 Units

Offered through: Electrical Engin and Computer Sci
Terms offered: Fall 2009, Spring 2009, Fall 2008
The same material as in 61C but in a lab-centric format.

COMPSCI 70 Discrete Mathematics and Probability Theory 4 Units

Offered through: Electrical Engin and Computer Sci
Terms offered: Fall 2017, Summer 2017 8 Week Session, Spring 2017
Logic, infinity, and induction; applications include undecidability and stable marriage problem. Modular arithmetic and GCDs; applications include primality testing and cryptography. Polynomials; examples include error correcting codes and interpolation. Probability including sample spaces, independence, random variables, law of large numbers; examples include load balancing
, existence arguments, Bayesian inference.

COMPSCI C79 Societal Risks and the Law 3 Units

Offered through: Electrical Engin and Computer Sci
Terms offered: Spring 2013
Defining, perceiving, quantifying and measuring risk; identifying risks and estimating their importance; determining whether laws and regulations can protect us from these risks; examining how well existing laws work and how they could be improved; evaluting costs and benefits. Applications may vary by term. This course cannot be used to complete engineering unit or technical elective requirements for students
in the College of Engineering.

COMPSCI 88 Computational Structures in Data Science 2 Units

Offered through: Electrical Engin and Computer Sci
Terms offered: Fall 2017, Spring 2017, Fall 2016
Development of Computer Science topics appearing in Foundations of Data Science (C8); expands computational concepts and techniques of abstraction. Understanding the structures that underlie the programs, algorithms, and languages used in data science and elsewhere. Mastery of a particular programming language while studying general techniques for managing program complexity, e.g., functional
, object-oriented, and declarative programming. Provides practical experience with composing larger systems through several significant programming projects.

COMPSCI 94 Special Topics 1 - 4 Units

Offered through: Electrical Engin and Computer Sci
Terms offered: Spring 2016, Fall 2015
Topics will vary semester to semester. See the Computer Science Division announcements.

COMPSCI 97 Field Study 1 - 4 Units

Offered through: Electrical Engin and Computer Sci
Terms offered: Fall 2017, Summer 2017 8 Week Session, Spring 2017
Students take part in organized individual field sponsored programs with off-campus companies or tutoring/mentoring relevant to specific aspects and applications of computer science on or off campus. Note Summer CPT or OPT students: written report required. Course does not count toward major requirements, but will be counted in the cumulative units toward graduation.

COMPSCI 98 Directed Group Study 1 - 4 Units

Offered through: Electrical Engin and Computer Sci
Terms offered: Fall 2017, Fall 2016, Spring 2016
Seminars for group study of selected topics, which will vary from year to year. Intended for students in the lower division.

COMPSCI 99 Individual Study and Research for Undergraduates 1 - 2 Units

Offered through: Electrical Engin and Computer Sci
Terms offered: Fall 2017, Summer 2017 8 Week Session, Spring 2017
A course for lower division students in good standing who wish to undertake a program of individual inquiry initiated jointly by the student and a professor. There are no other formal prerequisites, but the supervising professor must be convinced that the student is able to profit by the program.

COMPSCI C100 Principles & Techniques of Data Science 4 Units

Offered through: Electrical Engin and Computer Sci
Terms offered: Spring 2017
In this course, students will explore the data science lifecycle, including question formulation, data collection and cleaning, exploratory data analysis and visualization, statistical inference and prediction​, and decision-making.​ This class will focus on quantitative critical thinking​ and key principles and techniques needed to carry out this cycle. These include languages for transforming, querying and
analyzing data; algorithms for machine learning methods including regression, classification and clustering; principles behind creating informative data visualizations; statistical concepts of measurement error and prediction; and techniques for scalable data processing.

COMPSCI 146L Programmable Digital Systems Laboratory 2 Units

Offered through: Electrical Engin and Computer Sci
Terms offered: Spring 2015
Hardware description languages for digital system design and interactions with tool flows. Design, implementation, and verification of digital designs. Digital synthesis, partitioning, placement, routing, and simulation for Field-Programmable Gate Arrays. Large digital-system design concepts. Project design component – example, a full processor implementation with peripherals.

COMPSCI C149 Introduction to Embedded Systems 4 Units

Offered through: Electrical Engin and Computer Sci
Terms offered: Fall 2015, Fall 2014, Fall 2013
This course introduces students to the basics of models, analysis tools, and control for embedded systems operating in real time. Students learn how to combine physical processes with computation. Topics include models of computation, control, analysis and verification, interfacing with the physical world, mapping to platforms, and distributed embedded systems. The course has a strong laboratory
component, with emphasis on a semester-long sequence of projects.

COMPSCI 152 Computer Architecture and Engineering 4 Units

Offered through: Electrical Engin and Computer Sci
Terms offered: Fall 2017, Fall 2016, Spring 2016
Instruction set architecture, microcoding, pipelining (simple and complex). Memory hierarchies and virtual memory. Processor parallelism: VLIW, vectors, multithreading. Multiprocessors.

COMPSCI 160 User Interface Design and Development 4 Units

Offered through: Electrical Engin and Computer Sci
Terms offered: Fall 2017, Summer 2017 8 Week Session, Spring 2017
The design, implementation, and evaluation of user interfaces. User-centered design and task analysis. Conceptual models and interface metaphors. Usability inspection and evaluation methods. Analysis of user study data. Input methods (keyboard, pointing, touch, tangible) and input models. Visual design principles. Interface prototyping and implementation methodologies and
tools. Students will develop a user interface for a specific task and target user group in teams.

COMPSCI 161 Computer Security 4 Units

Offered through: Electrical Engin and Computer Sci
Terms offered: Fall 2017, Spring 2017, Fall 2016
Introduction to computer security. Cryptography, including encryption, authentication, hash functions, cryptographic protocols, and applications. Operating system security, access control. Network security, firewalls, viruses, and worms. Software security, defensive programming, and language-based security. Case studies from real-world systems.

COMPSCI 162 Operating Systems and System Programming 4 Units

Offered through: Electrical Engin and Computer Sci
Terms offered: Fall 2017, Summer 2017 8 Week Session, Spring 2017
Basic concepts of operating systems and system programming. Utility programs, subsystems, multiple-program systems. Processes, interprocess communication, and synchronization. Memory allocation, segmentation, paging. Loading and linking, libraries. Resource allocation, scheduling, performance evaluation. File systems, storage devices, I/O systems. Protection, security, and
privacy.

COMPSCI 164 Programming Languages and Compilers 4 Units

Offered through: Electrical Engin and Computer Sci
Terms offered: Spring 2017, Spring 2016, Fall 2015
Survey of programming languages. The design of modern programming languages. Principles and techniques of scanning, parsing, semantic analysis, and code generation. Implementation of compilers, interpreters, and assemblers. Overview of run-time organization and error handling.

COMPSCI 168 Introduction to the Internet: Architecture and Protocols 4 Units

Offered through: Electrical Engin and Computer Sci
Terms offered: Fall 2017, Summer 2017 8 Week Session, Fall 2016
This course is an introduction to the Internet architecture. We will focus on the concepts and fundamental design principles that have contributed to the Internet's scalability and robustness and survey the various protocols and algorithms used within this architecture. Topics include layering, addressing, intradomain routing, interdomain routing, reliable delivery, congestion
control, and the core protocols (e.g., TCP, UDP, IP, DNS, and HTTP) and network technologies (e.g., Ethernet, wireless).

COMPSCI 169 Software Engineering 4 Units

Offered through: Electrical Engin and Computer Sci
Terms offered: Fall 2017, Summer 2017 8 Week Session, Fall 2016
Ideas and techniques for designing, developing, and modifying large software systems. Function-oriented and object-oriented modular design techniques, designing for re-use and maintainability. Specification and documentation. Verification and validation. Cost and quality metrics and estimation. Project team organization and management. Students will work in teams on a substantial
programming project.

COMPSCI 170 Efficient Algorithms and Intractable Problems 4 Units

Offered through: Electrical Engin and Computer Sci
Terms offered: Fall 2017, Summer 2017 8 Week Session, Spring 2017
Concept and basic techniques in the design and analysis of algorithms; models of computation; lower bounds; algorithms for optimum search trees, balanced trees and UNION-FIND algorithms; numerical and algebraic algorithms; combinatorial algorithms. Turing machines, how to count steps, deterministic and nondeterministic Turing machines, NP-completeness. Unsolvable and intractable
problems.

COMPSCI 172 Computability and Complexity 4 Units

Offered through: Electrical Engin and Computer Sci
Terms offered: Spring 2016, Fall 2015, Spring 2015
Finite automata, Turing machines and RAMs. Undecidable, exponential, and polynomial-time problems. Polynomial-time equivalence of all reasonable models of computation. Nondeterministic Turing machines. Theory of NP-completeness: Cook's theorem, NP-completeness of basic problems. Selected topics in language theory, complexity and randomness.

COMPSCI 174 Combinatorics and Discrete Probability 4 Units

Offered through: Electrical Engin and Computer Sci
Terms offered: Spring 2017, Spring 2016, Spring 2015
Permutations, combinations, principle of inclusion and exclusion, generating functions, Ramsey theory. Expectation and variance, Chebychev's inequality, Chernov bounds. Birthday paradox, coupon collector's problem, Markov chains and entropy computations, universal hashing, random number generation, random graphs and probabilistic existence bounds.

COMPSCI 176 Algorithms for Computational Biology 4 Units

Offered through: Electrical Engin and Computer Sci
Terms offered: Fall 2017, Fall 2016, Fall 2015
Algorithms and probabilistic models that arise in various computational biology applications: suffix trees, suffix arrays, pattern matching, repeat finding, sequence alignment, phylogenetics, genome rearrangements, hidden Markov models, gene finding, motif finding, stochastic context free grammars, RNA secondary structure. There are no biology prerequisites for this course, but a strong quantitative
background will be essential.

COMPSCI 184 Foundations of Computer Graphics 4 Units

Offered through: Electrical Engin and Computer Sci
Terms offered: Fall 2017, Spring 2017, Fall 2016
Techniques of modeling objects for the purpose of computer rendering: boundary representations, constructive solids geometry, hierarchical scene descriptions. Mathematical techniques for curve and surface representation. Basic elements of a computer graphics rendering pipeline; architecture of modern graphics display devices. Geometrical transformations such as rotation, scaling, translation
, and their matrix representations. Homogeneous coordinates, projective and perspective transformations. Algorithms for clipping, hidden surface removal, rasterization, and anti-aliasing. Scan-line based and ray-based rendering algorithms. Lighting models for reflection, refraction, transparency.

COMPSCI 186 Introduction to Database Systems 4 Units

Offered through: Electrical Engin and Computer Sci
Terms offered: Fall 2017, Spring 2017, Fall 2016
Access methods and file systems to facilitate data access. Hierarchical, network, relational, and object-oriented data models. Query languages for models. Embedding query languages in programming languages. Database services including protection, integrity control, and alternative views of data. High-level interfaces including application generators, browsers, and report writers. Introduction
to transaction processing. Database system implementation to be done as term project.

COMPSCI 188 Introduction to Artificial Intelligence 4 Units

Offered through: Electrical Engin and Computer Sci
Terms offered: Fall 2017, Summer 2017 8 Week Session, Spring 2017
Ideas and techniques underlying the design of intelligent computer systems. Topics include search, game playing, knowledge representation, inference, planning, reasoning under uncertainty, machine learning, robotics, perception, and language understanding.

COMPSCI 189 Introduction to Machine Learning 4 Units

Offered through: Electrical Engin and Computer Sci
Terms offered: Fall 2017, Summer 2017 8 Week Session, Spring 2017
Theoretical foundations, algorithms, methodologies, and applications for machine learning. Topics may include supervised methods for regression and classication (linear models, trees, neural networks, ensemble methods, instance-based methods); generative and discriminative probabilistic models; Bayesian parametric learning; density estimation and clustering; Bayesian networks;
time series models; dimensionality reduction; programming projects covering a variety of real-world applications.

COMPSCI C191 Quantum Information Science and Technology 3 Units

Offered through: Electrical Engin and Computer Sci
Terms offered: Spring 2017, Fall 2014, Spring 2012
This multidisciplinary course provides an introduction to fundamental conceptual aspects of quantum mechanics from a computational and informational theoretic perspective, as well as physical implementations and technological applications of quantum information science. Basic sections of quantum algorithms, complexity, and cryptography, will be touched upon, as well as pertinent physical
realizations from nanoscale science and engineering.

COMPSCI 194 Special Topics 1 - 4 Units

Offered through: Electrical Engin and Computer Sci
Terms offered: Fall 2017, Spring 2017, Fall 2016
Topics will vary semester to semester. See the Computer Science Division announcements.

COMPSCI 195 Social Implications of Computer Technology 1 Unit

Offered through: Electrical Engin and Computer Sci
Terms offered: Fall 2017, Spring 2017, Fall 2016
Topics include electronic community; the changing nature of work; technological risks; the information economy; intellectual property; privacy; artificial intelligence and the sense of self; pornography and censorship; professional ethics. Students will lead discussions on additional topics.

COMPSCI H195 Honors Social Implications of Computer Technology 3 Units

Offered through: Electrical Engin and Computer Sci
Terms offered: Fall 2014, Spring 2014, Fall 2013
Topics include electronic community; the changing nature of work; technological risks; the information economy; intellectual property; privacy; artificial intelligence and the sense of self; pornography and censorship; professional ethics. Students may lead discussions on additional topics.

COMPSCI H196A Senior Honors Thesis Research 1 - 4 Units

Offered through: Electrical Engin and Computer Sci
Terms offered: Fall 2017, Spring 2017, Fall 2016
Thesis work under the supervision of a faculty member. To obtain credit the student must, at the end of two semesters, submit a satisfactory thesis to the Electrical Engineering and Computer Science department archive. A total of four units must be taken. The units many be distributed between one or two semesters in any way. H196A-H196B count as graded technical elective units, but may not
be used to satisfy the requirement for 27 upper division technical units in the College of Letters and Science with a major in Computer Science.

COMPSCI H196B Senior Honors Thesis Research 1 - 4 Units

Offered through: Electrical Engin and Computer Sci
Terms offered: Fall 2017, Spring 2017, Fall 2016
Thesis work under the supervision of a faculty member. To obtain credit the student must, at the end of two semesters, submit a satisfactory thesis to the Electrical Engineering and Computer Science department archive. A total of four units must be taken. The units many be distributed between one or two semesters in any way. H196A-H196B count as graded technical elective units, but may not
be used to satisfy the requirement for 27 upper division technical units in the College of Letters and Science with a major in Computer Science.

COMPSCI 197 Field Study 1 - 4 Units

Offered through: Electrical Engin and Computer Sci
Terms offered: Fall 2017, Summer 2017 8 Week Session, Summer 2017 First 6 Week Session
Students take part in organized individual field sponsored programs with off-campus companies or tutoring/mentoring relevant to specific aspects and applications of computer science on or off campus. Note Summer CPT or OPT students: written report required. Course does not count toward major requirements, but will be counted in the cumulative units toward
graduation.

COMPSCI 198 Directed Group Studies for Advanced Undergraduates 1 - 4 Units

Offered through: Electrical Engin and Computer Sci
Terms offered: Fall 2017, Spring 2017, Fall 2016
Group study of selected topics in Computer Sciences, usually relating to new developments.

COMPSCI 199 Supervised Independent Study 1 - 4 Units

Offered through: Electrical Engin and Computer Sci
Terms offered: Fall 2017, Summer 2017 8 Week Session, Spring 2017
Supervised independent study. Enrollment restrictions apply.

Contact Information

Department of Electrical Engineering and Computer Science

379 Soda Hall

Phone: 510-664-4436

Visit Department Website

Letters & Science

Computer Science

http://ls-advise.berkeley.edu/major/compsci.html

College of Engineering

Electrical Engineering and Computer Sciences

http://www.eecs.berkeley.edu/

Department Chair

Tsu-Jae King Liu, PhD

510-642-0253

tking@eecs.berkeley.edu

Director, Center for Student Affairs

Susanne Kauer

221 Cory Hall

Phone: 510-642-3694

skauer@eecs.berkeley.edu

Associate Director of Undergraduate Matters and Computer Science Advising

Christopher Hunn

377 Soda Hall

Phone: 510-642-7214

cthunn@eecs.berkeley.edu

CS Scholars Program Coordinator/CS Adviser

Charlene Hughes

203 Cory Hall

Phone: 510-642-2357

cdhughes@eecs.berkeley.edu

Computer Science Adviser

Lily Zhang

379 Soda Hall

Phone: 510-664-4436

lilyz@eecs.berkeley.edu

Computer Science Adviser/CS Scheduler

Michael-David Sasson

379 Soda Hall

Phone: 510-643-6002

sasson@berkeley.edu

Back to Top