Computer Science

University of California, Berkeley

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

About the Program

The Department of Electrical Engineering and Computer Sciences (EECS) offers two graduate programs in Computer Science: the Master of Science (MS), and the Doctor of Philosophy (PhD).

Master of Science (MS)

The Master of Science (MS) emphasizes research preparation and experience and, for most students, is a chance to lay the groundwork for pursuing a PhD

Doctor of Philosophy (PhD)

The Berkeley PhD in EECS combines coursework and original research with some of the finest EECS faculty in the U.S. preparing for careers in academia or industry. Our alumni have gone on to hold amazing positions around the world.

Visit Department Website

Admissions

Admission to the University

Uniform minimum requirements for admission

The following minimum requirements apply to all programs and will be verified by the Graduate Division:

  1. A bachelor’s degree or recognized equivalent from an accredited institution;
  2. A minimum grade-point average of B or better (3.0);
  3. If the applicant comes from a country or political entity (e.g. Quebec) where English is not the official language, adequate proficiency in English to do graduate work, as evidenced by a TOEFL score of at least 570 on the paper-and-pencil test, 230 on the computer-based test, 90 on the iBT test, or an IELTS Band score of at least 7 (note that individual programs may set higher levels for any of these); and
  4. Enough undergraduate training to do graduate work in the given field.

Applicants who already hold a graduate degree

The Graduate Council views academic degrees as evidence of broad research training, not as vocational training certificates; therefore, applicants who already have academic graduate degrees should be able to take up new subject matter on a serious level without undertaking a graduate program, unless the fields are completely dissimilar.

Programs may consider students for an additional academic master’s or professional master’s degree if the additional degree is in a distinctly different field.

Applicants admitted to a doctoral program that requires a master’s degree to be earned at Berkeley as a prerequisite (even though the applicant already has a master’s degree from another institution in the same or a closely allied field of study) will be permitted to undertake the second master’s degree, despite the overlap in field.

The Graduate Division will admit students for a second doctoral degree only if they meet the following guidelines:

  1. Applicants with doctoral degrees may be admitted for an additional doctoral degree only if that degree program is in a general area of knowledge distinctly different from the field in which they earned their original degree. For example, a physics PhD could be admitted to a doctoral degree program in music or history; however, a student with a doctoral degree in mathematics would not be permitted to add a PhD in statistics.
  2. Applicants who hold the PhD degree may be admitted to a professional doctorate or professional master’s degree program if there is no duplication of training involved.

Applicants may only apply to one single degree program or one concurrent degree program per admission cycle.

Any applicant who was previously registered at Berkeley as a graduate student, no matter how briefly, must apply for readmission, not admission, even if the new application is to a different program.

Required documents for admissions applications

  1. Transcripts:  Upload unofficial transcripts with the application for the departmental initial review. Official transcripts of all college-level work will be required if admitted. Official transcripts must be in sealed envelopes as issued by the school(s) you have attended. Request a current transcript from every post-secondary school that you have attended, including community colleges, summer sessions, and extension programs.
    If you have attended Berkeley, upload unofficial transcript with the application for the departmental initial review. Official transcript with evidence of degree conferral will not be required if admitted.
  2. Letters of recommendation: Applicants can request online letters of recommendation through the online application system. Hard copies of recommendation letters must be sent directly to the program, not the Graduate Division.
  3. Evidence of English language proficiency: All applicants from countries in which the official language is not English are required to submit official evidence of English language proficiency. This requirement applies to applicants from Bangladesh, Burma, Nepal, India, Pakistan, Latin America, the Middle East, the People’s Republic of China, Taiwan, Japan, Korea, Southeast Asia, and most European countries. However, applicants who, at the time of application, have already completed at least one year of full-time academic course work with grades of B or better at a U.S. university may submit an official transcript from the U.S. university to fulfill this requirement. The following courses will not fulfill this requirement: 1) courses in English as a Second Language, 2) courses conducted in a language other than English, 3) courses that will be completed after the application is submitted, and 4) courses of a non-academic nature. If applicants have previously been denied admission to Berkeley on the basis of their English language proficiency, they must submit new test scores that meet the current minimum from one of the standardized tests.

Admission to the Program

The following items are required for admission to the Berkeley EECS MS/PhD program in addition to the University’s general graduate admissions requirements:

  1. GRE Scores: All three sections of the GRE are required. Send your scores electronically to Institution Code 4833. (Scores must be from the last five years.)
  2. Statement of Purpose: Why are you applying for this program? What will you do during this degree program? What do you want to do after and how will this help you?
  3. Personal History Statement: What from your past made you decide to go into this field? And how will your personal history help you succeed in this program and your future goals?
  4. GPA: If you attended a university outside of the USA, please leave the GPA section blank.
  5. Resume: Please also include a full resume/CV listing your experience and education.

Complete the online UC Berkeley graduate application:

  1. Start your application through this link , and fill in each relevant page.
  2. Upload the materials above, and send the recommender links several weeks prior to the application deadline, to give your recommenders time to submit their letters.

Doctoral Degree Requirements

Normative Time Requirements

Total Normative Time

Normative Time in the EECS department is between 5.5-6 years for the doctoral program.

Time to Advancement

Curriculum

The Faculty of the College of Engineering recommends a minimum number of courses taken while in graduate standing. The total minimum is  24 units of coursework, taken for a letter grade and not including 298, 299, 301, and 602. Students entering prior to Fall 2009 have the option of completing 32 units of coursework with a reduced teaching requirement.

12 units. from one major field within EECS, with a 3.5 grade point average12
6 units from one minor field within EECS, with a 3.0 grade point average6
6 units from one minor field outside EECS, with a 3.0 grade point average6
COMPSCI 375Teaching Techniques for Computer Science2

Preliminary Exams

The EECS Preliminary Requirement consists of two components:

Oral examination

The oral exam serves an advisory role in a student's graduate studies program, giving official feedback from the exam committee of faculty members. Students must be able to demonstrate an integrated grasp of the exam area's body of knowledge in an unstructured framework. Students must pass the oral portion of the preliminary exam within their first two attempts. A third attempt is possible with a petition of support from the student's faculty advisor and final approval by the Prelim Committee chair. Failure to pass the oral portion of the preliminary exam will result in the student being ineligible to complete the PhD program. The examining committee awards a score in the range of 0-10. The minimum passing score is 6.0.

Breadth courses

The breadth courses ensure that students have an exposure to areas outside of their concentration. It is expected that students achieve high academic standards in these courses.

CS students must complete courses from three of the following areas, passing each with at least a B+. One course must be selected from the Theory, AI, or Graphics/HCI group; and one course must be selected from the Programming, Systems, or Architecture/VLSI group1.

Theory
COMPSCI 270Combinatorial Algorithms and Data Structures3
COMPSCI 271Randomness and Computation3
COMPSCI 273Foundations of Parallel Computation3
COMPSCI 274Computational Geometry3
COMPSCI 276Cryptography3
COMPSCI 278Course Not Available3
AI
COMPSCI 280Course Not Available3
COMPSCI C281AStatistical Learning Theory3
COMPSCI C281BAdvanced Topics in Learning and Decision Making3
COMPSCI 287Advanced Robotics3
COMPSCI 288Natural Language Processing4
COMPSCI 289Course Not Available3
Graphics/HCI
COMPSCI 260BHuman-Computer Interaction Research3
COMPSCI 283Course Not Available3
Programming
COMPSCI 263Design of Programming Languages3
COMPSCI 264Implementation of Programming Languages4
COMPSCI 265Compiler Optimization and Code Generation3
COMPSCI 267Course Not Available3
EL ENG 219CComputer-Aided Verification3
Systems
COMPSCI 261Security in Computer Systems3
COMPSCI 261NInternet and Network Security4
COMPSCI 262AAdvanced Topics in Computer Systems4
COMPSCI 262BAdvanced Topics in Computer Systems3
COMPSCI 268Computer Networks3
COMPSCI 286BImplementation of Data Base Systems3
Architecture/VLSI
COMPSCI 250VLSI Systems Design4
COMPSCI 252Graduate Computer Architecture4
COMPSCI 258Course Not Available3
1

COMPSCI 260BCOMPSCI 263, and EL ENG 219C cannot be used to fulfill this constraint, though they can be used to complete one of the three courses.

QE

The Qualifying Examination is an important checkpoint meant to show that a student is on a promising research track toward the PhD degree. It is a University examination, administered by the Graduate Council, with the specific purpose of demonstrating that "the student is clearly an expert in those areas of the discipline that have been specified for the examination, and that he or she can, in all likelihood, design and produce an acceptable dissertation." Despite such rigid criteria, faculty examiners recognize that the level of expertise expected is that appropriate for a 3rd year graduate student who may be only in the early stages of a research project.

The EECS Departments offers the Qualifying exam in two formats A or B. Students may choose the exam type of their choice after consultation with their advisor.

Format A
  1. Students prepare a write-up and presentation summarizing a specific research area, preferably the one in which they intend to do their dissertation work. Their summary surveys that area and describes open and interesting research problems.
  2. They describe why they chose these problems and indicate what direction their research may take in the future.
  3. They prepare to display expertise on both the topic presented and on any related material that the committee thinks is relevant.
  4. The student should talk (at least briefly) about any research progress to date (e.g. MS project, PhD research, class project etc.). Some evidence of the ability to do research is expected.
  5. The committee shall evaluate students on the basis of their comprehension of the fundamental facts and principles that apply within their research area and the student’s ability to think incisively and critically about the theoretical and practical aspects of this field.
  6.  Students must demonstrate command of the content and the ability to design and produce an acceptable dissertation.
Format B

This option includes the presentation and defense of a thesis proposal in addition to the requirements of option A. It will include a summary of research to date and plans for future work (or at least the next stage thereof). The committee shall not only evaluate the student's thesis proposal and his/her progress to date, but shall also evaluate according to option A. As in option A, the student should prepare a single document and presentation, but in this case additional emphasis must be placed on research completed to date, and plans for the remainder of the dissertation research.

Thesis Proposal Defense

Students not presenting a satisfactory thesis proposal defense, either because they took option A for the Qual, or because the material presented in an option B exam was not deemed a satisfactory proposal defense (although it may have sufficed to pass the Qual), must write up and present a thesis proposal, which should include a summary of the research to date and plans for the remainder of the dissertation research. They should be prepared to discuss background and related areas, but the focus of the proposal should be on the progress made so far, and detailed plans for completing the thesis. The standard for continuing on with PhD research is that the proposal has sufficient merit to lead to a satisfactory dissertation. Another purpose of this presentation is for faculty to provide feedback on the quality of work to date. For this step, the committee should consist of at least 3 members from EECS familiar with the research area, preferably including those on the dissertation committee.

Normative Time in Candidacy

Advancement to Candidacy

Students must file the advancement form in the Graduate Office no later than the end of the semester following the one in which the Qualifying Exam was passed. In approving this application, Graduate Division approves the dissertation committee and will send a Certificate of Candidacy.

Dissertation Talk

As part of the requirements for the doctoral degree, students must give a public talk on the research covered by their dissertation. The dissertation talk is to be given a few months before the signing of the final submission of the dissertation. The talk should cover all the major components of the dissertation work in a substantial manner; in particular, the dissertation talk should not omit topics that will appear in the dissertation but are incomplete at the time of the talk.

The dissertation talk is to be attended by the whole dissertation committee, or, if this is not possible, by at least a majority of the members. Attendance at this talk is part of the committee's responsibility. It is, however, the responsibility of the student to schedule a time for the talk that is convenient for members of the committee.

Required Professional Development

Graduate Student Instructor Teaching Requirement

The Department requires all PhD candidates to serve as Graduate Student Instructors (GSIs) within the EECS department. The GSI teaching requirement not only helps to develop a student's communication skills, but it also makes a great contribution to the department's academic community. Students must fulfill this requirement by working as a GSI (excluding EL ENG 301COMPSCI 301,  EL ENG 375 or COMPSCI 375) for a total of 30 hours minimum prior to graduation. At least 20 of those hours must be for an EE or CS undergraduate course.

Master's Degree Requirements

Unit requirements

A minimum of 24 units is required.

Curriculum

All courses must be taken for a letter grade, except courses numbered  299s, which are only offered for S/U credit.

Students must maintain a minimum cumulative GPA of 3.0. No credit will be given for courses in which the student earns a grade of D+ or below.

Transfer credit may be awarded for a maximum of 4 semester or 6 quarter units of graduate coursework from another institution.

Plan I
10 units of courses, selected from the 200-series (excluding 298 and 299) in EECS
EL ENG 299Individual Research4-10
or COMPSCI 299 Individual Research
Upper-division or graduate courses to reach the minimum of 24 units
Plan II
10 units of courses, selected from the 200-series (excluding 298 and 299) in EECS
EL ENG 299Individual Research3-6
or COMPSCI 299 Individual Research
Upper-division or graduate courses to reach the minimum of 24 units

Advancement to Candidacy

For both Plan I and Plan II MS students, students need to complete the departmental Advance to Candidacy form, have their research adviser sign it, and submit the form to the Department. Once a student is advanced to candidacy, candidacy is valid for 3 years.

Capstone/Thesis (Plan I)

Students planning to use Plan I for their MS Degree will need to follow the Graduate Division's “Thesis Filing Guidelines." They will also need to complete the “Graduate Division Advance to Candidacy” form and submit this to the department no later than the end of the 2nd week of classes of their final semester.

Capstone/Master's Project (Plan II)

Students planning to use Plan II for their MS Degree will need to produce an MS Plan II Title/Signature Page. There is no special formatting required for the body of the Plan II MS report unlike the Plan I MS thesis which must follow strict Graduate Division guidelines.

Courses

Computer Science

COMPSCI C219D Concurrent Models of Computation 3 Units

Theory and practice of concurrent models of computation (MoCs) with applications to software systems, embedded systems, and cyber-physical systems. Analysis for boundedness, deadlock, and determinacy; formal semantics (fixed point semantics and metric-space models); composition; heterogeneity; and model-based design. MoCs covered may include process networks, threads, message passing, synchronous/reactive, dataflow, rendezvous, time-triggered, discrete events, and continuous time.

COMPSCI C249A Introduction to Embedded Systems 4 Units

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 250 VLSI Systems Design 4 Units

Unified top-down and bottom-up design of integrated circuits and systems concentrating on architectural and topological issues. VLSI architectures, systolic arrays, self-timed systems. Trends in VLSI development. Physical limits. Tradeoffs in custom-design, standard cells, gate arrays. VLSI design tools.

COMPSCI 252 Graduate Computer Architecture 4 Units

Graduate survey of contemporary computer organizations covering: early systems, CPU design, instruction sets, control, processors, busses, ALU, memory, I/O interfaces, connection networks, virtual memory, pipelined computers, multiprocessors, and case studies. Term paper or project is required.

COMPSCI 260A User Interface Design and Development 4 Units

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 260B Human-Computer Interaction Research 3 Units

This course is a broad introduction to conducting research in Human-Computer Interaction. Students will become familiar with seminal and recent literature; learn to review and critique research papers; re-implement and evaluate important existing systems; and gain experience in conducting research. Topics include input devices, computer-supported cooperative work, crowdsourcing, design tools, evaluation methods, search and mobile interfaces, usable security, help and tutorial systems.

COMPSCI 261 Security in Computer Systems 3 Units

Graduate survey of modern topics in computer security, including protection, access control, distributed access security, firewalls, secure coding practices, safe languages, mobile code, and case studies from real-world systems. May also cover cryptographic protocols, privacy and anonymity, and/or other topics as time permits.

COMPSCI 261N Internet and Network Security 4 Units

Develops a thorough grounding in Internet and network security suitable for those interested in conducting research in the area or those more broadly interested in security or networking. Potential topics include denial-of-service; capabilities; network intrusion detection/prevention; worms; forensics; scanning; traffic analysis; legal issues; web attacks; anonymity; wireless and networked devices; honeypots; botnets; scams; underground economy; attacker infrastructure; research pitfalls.

COMPSCI 262A Advanced Topics in Computer Systems 4 Units

Graduate survey of systems for managing computation and information, covering a breadth of topics: early systems; volatile memory management, including virtual memory and buffer management; persistent memory systems, including both file systems and transactional storage managers; storage metadata, physical vs. logical naming, schemas, process scheduling, threading and concurrency control; system support for networking, including remote procedure calls, transactional RPC, TCP, and active messages; security infrastructure; extensible systems and APIs; performance analysis and engineering of large software systems. Homework assignments, exam, and term paper or project required.

COMPSCI 262B Advanced Topics in Computer Systems 3 Units

Continued graduate survey of large-scale systems for managing information and computation. Topics include basic performance measurement; extensibility, with attention to protection, security, and management of abstract data types; index structures, including support for concurrency and recovery; parallelism, including parallel architectures, query processing and scheduling; distributed data management, including distributed and mobile file systems and databases; distributed caching; large-scale data analysis and search. Homework assignments, exam, and term paper or project required.

COMPSCI 263 Design of Programming Languages 3 Units

Selected topics from: analysis, comparison, and design of programming languages, formal description of syntax and semantics, advanced programming techniques, structured programming, debugging, verification of programs and compilers, and proofs of correctness.

COMPSCI 264 Implementation of Programming Languages 4 Units

Compiler construction. Lexical analysis, syntax analysis. Semantic analysis code generation and optimization. Storage management. Run-time organization.

COMPSCI 265 Compiler Optimization and Code Generation 3 Units

Table-driven and retargetable code generators. Register management. Flow analysis and global optimization methods. Code optimization for advanced languages and architectures. Local code improvement. Optimization by program transformation. Selected additional topics. A term paper or project is required.

COMPSCI C267 Applications of Parallel Computers 3 Units

Models for parallel programming. Fundamental algorithms for linear algebra, sorting, FFT, etc. Survey of parallel machines and machine structures. Exiting parallel programming languages, vectorizing compilers, environments, libraries and toolboxes. Data partitioning techniques. Techniques for synchronization and load balancing. Detailed study and algorithm/program development of medium sized applications.

COMPSCI 268 Computer Networks 3 Units

Distributed systems, their notivations, applications, and organization. The network component. Network architectures. Local and long-haul networks, technologies, and topologies. Data link, network, and transport protocols. Point-to-point and broadcast networks. Routing and congestion control. Higher-level protocols. Naming. Internetworking. Examples and case studies.

COMPSCI 270 Combinatorial Algorithms and Data Structures 3 Units

Design and analysis of efficient algorithms for combinatorial problems. Network flow theory, matching theory, matroid theory; augmenting-path algorithms; branch-and-bound algorithms; data structure techniques for efficient implementation of combinatorial algorithms; analysis of data structures; applications of data structure techniques to sorting, searching, and geometric problems.

COMPSCI 271 Randomness and Computation 3 Units

Computational applications of randomness and computational theories of randomness. Approximate counting and uniform generation of combinatorial objects, rapid convergence of random walks on expander graphs, explicit construction of expander graphs, randomized reductions, Kolmogorov complexity, pseudo-random number generation, semi-random sources.

COMPSCI 273 Foundations of Parallel Computation 3 Units

. Fundamental theoretical issues in designing parallel algorithms and architectures. Shared memory models of parallel computation. Parallel algorithms for linear algegra, sorting, Fourier Transform, recurrence evaluation, and graph problems. Interconnection network based models. Algorithm design techniques for networks like hypercubes, shuffle-exchanges, threes, meshes and butterfly networks. Systolic arrays and techniques for generating them. Message routing.

COMPSCI 274 Computational Geometry 3 Units

. Constructive problems in computational geometry: convex hulls, triangulations, Voronoi diagrams, arrangements of hyperplanes; relationships among these problems. Search problems: advanced data structures; subdivision search; various kinds of range searches. Models of computation; lower bounds.

COMPSCI 276 Cryptography 3 Units

Graduate survey of modern topics on theory, foundations, and applications of modern cryptography. One-way functions; pseudorandomness; encryption; authentication; public-key cryptosystems; notions of security. May also cover zero-knowledge proofs, multi-party cryptographic protocols, practical applications, and/or other topics, as time permits.

COMPSCI C280 Computer Vision 3 Units

Paradigms for computational vision. Relation to human visual perception. Mathematical techniques for representing and reasoning, with curves, surfaces and volumes. Illumination and reflectance models. Color perception. Image segmentation and aggregation. Methods for bottom-up three dimensional shape recovery: Line drawing analysis, stereo, shading, motion, texture. Use of object models for prediction and recognition.

COMPSCI C281A Statistical Learning Theory 3 Units

Classification regression, clustering, dimensionality, reduction, and density estimation. Mixture models, hierarchical models, factorial models, hidden Markov, and state space models, Markov properties, and recursive algorithms for general probabilistic inference nonparametric methods including decision trees, kernal methods, neural networks, and wavelets. Ensemble methods.

COMPSCI C281B Advanced Topics in Learning and Decision Making 3 Units

Recent topics include: Graphical models and approximate inference algorithms. Markov chain Monte Carlo, mean field and probability propagation methods. Model selection and stochastic realization. Bayesian information theoretic and structural risk minimization approaches. Markov decision processes and partially observable Markov decision processes. Reinforcement learning.

COMPSCI 284A Foundations of Computer Graphics 4 Units

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.

COMPSCI 284B Advanced Computer Graphics Algorithms and Techniques 4 Units

This course provides a graduate-level introduction to advanced computer graphics algorithms and techniques. Students should already be familiar with basic concepts such as transformations, scan-conversion, scene graphs, shading, and light transport. Topics covered in this course include global illumination, mesh processing, subdivision surfaces, basic differential geometry, physically based animation, inverse kinematics, imaging and computational photography, and precomputed light transport.

COMPSCI 286A Introduction to Database Systems 4 Units

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 286B Implementation of Data Base Systems 3 Units

Implementation of data base systems on modern hardware systems. Considerations concerning operating system design, including buffering, page size, prefetching, etc. Query processing algorithms, design of crash recovery and concurrency control systems. Implementation of distributed data bases and data base machines.

COMPSCI 287 Advanced Robotics 3 Units

Advanced topics related to current research in robotics. Planning and control issues for realistic robot systems, taking into account: dynamic constraints, control and sensing uncertainty, and non-holonomic motion constraints. Analysis of friction for assembly and grasping tasks. Sensing systems for hands including tactile and force sensing. Environmental perception from sparse sensors for dextrous hands. Grasp planning and manipulation.

COMPSCI 288 Natural Language Processing 4 Units

Methods and models for the analysis of natural (human) language data. Topics include: language modeling, speech recognition, linguistic analysis (syntactic parsing, semantic analysis, reference resolution, discourse modeling), machine translation, information extraction, question answering, and computational linguistics techniques.

COMPSCI 289A Introduction to Machine Learning 4 Units

This course provides an introduction to theoretical foundations, algorithms, and methodologies for machine learning, emphasizing the role of probability and optimization and exploring a variety of real-world applications. Students are expected to have a solid foundation in calculus and linear algebra as well as exposure to the basic tools of logic and probability, and should be familiar with at least one modern, high-level programming language.

COMPSCI 294 Special Topics 1 - 4 Units

Topics will vary from semester to semester. See Computer Science Division announcements.

COMPSCI 297 Field Studies in Computer Science 1 - 12 Units

Supervised experience in off-campus companies relevant to specific aspects and applications of electrical engineering and/or computer science. Written report required at the end of the semester.

COMPSCI 298 Group Studies Seminars, or Group Research 1 - 4 Units

Advanced study in various subjects through seminars on topics to be selected each year, informal group studies of special problems, group participation in comprehensive design problems, or group research on complete problems for analysis and experimentation.

COMPSCI 299 Individual Research 1 - 12 Units

Investigations of problems in computer science.

COMPSCI 300 Teaching Practice 1 - 6 Units

Supervised teaching practice, in either a one-on-one tutorial or classroom discussion setting.

COMPSCI 302 Designing Computer Science Education 3 Units

Discussion and review of research and practice relating to the teaching of computer science: knowledge organization and misconceptions, curriculum and topic organization, evaluation, collaborative learning, technology use, and administrative issues. As part of a semester-long project to design a computer science course, participants invent and refine a variety of homework and exam activities, and evaluate alternatives for textbooks, grading and other administrative policies, and innovative uses of technology.

COMPSCI 375 Teaching Techniques for Computer Science 2 Units

Discussion and practice of techniques for effective teaching, focusing on issues most relevant to teaching assistants in computer science courses.

COMPSCI 399 Professional Preparation: Supervised Teaching of Computer Science 1 or 2 Units

Discussion, problem review and development, guidance of computer science laboratory sections, course development, supervised practice teaching.

COMPSCI 602 Individual Study for Doctoral Students 1 - 8 Units

Individual study in consultation with the major field adviser, intended to provide an opportunity for qualified students to prepare themselves for the various examinations required of candidates for the Ph.D. (and other doctoral degrees).

Contact Information

Department of Electrical Engineering and Computer Sciences

387 Soda Hall

Phone: 510-642-1042

Fax: 510-642-5775

Visit Department Website

Department Chair

David Culler, MS, PhD

389 Soda Hall

Phone: 510-643-7572

culler@cs.berkeley.edu

Associate Chair

Tsu-Jae King Liu, MS, PhD

225 Cory Hall

Phone: 510-643-9251

tking@eecs.berkeley.edu

Vice Chair, Masters’ Degree Programs (MEng and MS)

George Necula, PhD

783 Soda Hall

Phone: 510-642-1481

necula@cs.berkeley.edu

Vice Chair of Graduate Study and Prelims

Ron Fearing, PhD

725 Sutardja Dai Hall

Phone: 510-642-9193

ronf@eecs.berkeley.edu

Vice Chair of Graduate Study and Prelims

Vern Paxson

737 Soda Hall

Phone: 510-643-4209

vern@cs.berkeley.edu

Head Graduate Adviser, Vice Chair for Computer Science Graduate Matters

John Wawrzynek, PhD

737 Soda Hall

Phone: 510-643-4209

johnw@berkeley.edu

Head Graduate Adviser, Vice Chair for Electrical Engineering Graduate Matters

Murat Arcak, MS, PhD

569 Cory Hall

Phone: 510-642-4804

arcak@eecs.berkeley.edu

Director of EECS Student Services

Susanne Kauer

219 Cory Hall

skauer@eecs.berkeley.edu

CS Graduate Admissions and GSI Recruitment

Catherine Bouvier Dang

211 Cory Hall

Phone: 510-642-6285

catherinedang@eecs.berkeley.edu

Graduate Admissions and EE GSI Recruitment

Pat Hernan

205 Cory Hall

Phone: 510-642-9265

Hernan@eecs.berkeley.edu

Associate Director for Diversity and Achievement

Tiffany Reardon

203 Cory Hall

Phone: 510-642-2357

treardon@eecs.berkeley.edu

Associate Director for Grad Matters, EE Grad Adviser

Shirley Salanio

217 Cory Hall

Phone: 510-643-8347

shirley@eecs.berkeley.edu

Masters Student Services Adviser (interim)

Carlyn Chinen

205 Cory Hall

Phone: 510-643-8107

cchinen@eecs.berkeley.edu

Back to Top