## CS 140: Operating Systems and Systems Programming

Operating systems design and implementation. Basic structure; synchronization and communication mechanisms; implementation of processes, process management, scheduling, and protection; memory organization and management, including virtual memory; I/O device management, secondary storage, and file systems. Prerequisite:
CS 110.

Terms: Win, Spr
| Units: 3-4
| UG Reqs: GER:DB-EngrAppSci

Instructors:
Mazieres, D. (PI)
;
Ousterhout, J. (PI)

## CS 144: Introduction to Computer Networking

Principles and practice. Structure and components of computer networks, packet switching, layered architectures. Applications: web/http, voice-over-IP, p2p file sharing and socket programming. Reliable transport: TCP/IP, reliable transfer, flow control, and congestion control. The network layer: names and addresses, routing. Local area networks: ethernet and switches. Wireless networks and network security. Prerequisite:
CS 110.

Terms: Aut
| Units: 3-4
| UG Reqs: GER:DB-EngrAppSci

Instructors:
McKeown, N. (PI)
;
Winstein, K. (PI)
;
Fouladi, S. (TA)
...
more instructors for CS 144 »

Instructors:
McKeown, N. (PI)
;
Winstein, K. (PI)
;
Fouladi, S. (TA)
;
Hirning, N. (TA)
;
Marx, E. (TA)
;
Ozdemir, A. (TA)
;
Tollman, S. (TA)
;
Zhuk, W. (TA)

## CS 149: Parallel Computing

This course is an introduction to parallelism and parallel programming. Most new computer architectures are parallel; programming these machines requires knowledge of the basic issues of and techniques for writing parallel software. Topics: varieties of parallelism in current hardware (e.g., fast networks, multicore, accelerators such as GPUs, vector instruction sets), importance of locality, implicit vs. explicit parallelism, shared vs. non-shared memory, synchronization mechanisms (locking, atomicity, transactions, barriers), and parallel programming models (threads, data parallel/streaming, MapReduce, Apache Spark, SPMD, message passing, SIMT, transactions, and nested parallelism). Significant parallel programming assignments will be given as homework. The course is open to students who have completed the introductory CS course sequence through 110.

Terms: Aut
| Units: 3-4
| UG Reqs: GER:DB-EngrAppSci

Instructors:
Fatahalian, K. (PI)
;
Olukotun, O. (PI)
;
Baichoo, K. (TA)
...
more instructors for CS 149 »

Instructors:
Fatahalian, K. (PI)
;
Olukotun, O. (PI)
;
Baichoo, K. (TA)
;
Lee, M. (TA)
;
Narayanan, D. (TA)

## CS 155: Computer and Network Security

For seniors and first-year graduate students. Principles of computer systems security. Attack techniques and how to defend against them. Topics include: network attacks and defenses, operating system security, application security (web, apps, databases), malware, privacy, and security for mobile devices. Course projects focus on building reliable code. Prerequisite: 110. Recommended: basic Unix.

Terms: Spr
| Units: 3
| UG Reqs: GER:DB-EngrAppSci

Instructors:
Boneh, D. (PI)
;
Durumeric, Z. (PI)

## ESS 260: Advanced Statistical Methods for Earth System Analysis (STATS 360)

Introduction for graduate students to important issues in data analysis relevant to earth system studies. Emphasis on methodology, concepts and implementation (in R), rather than formal proofs. Likely topics include the bootstrap, non-parametric methods, regression in the presence of spatial and temporal correlation, extreme value analysis, time-series analysis, high-dimensional regressions and change-point models. Topics subject to change each year. Prerequisites:
STATS 110 or equivalent.

Last offered: Winter 2016

## STATS 110: Statistical Methods in Engineering and the Physical Sciences

Introduction to statistics for engineers and physical scientists. Topics: descriptive statistics, probability, interval estimation, tests of hypotheses, nonparametric methods, linear regression, analysis of variance, elementary experimental design. Prerequisite: one year of calculus.

Terms: Aut, Sum
| Units: 5
| UG Reqs: GER:DB-Math, WAY-AQR, WAY-FR

## STATS 110U: Statistical Methods in Engineering and the Physical Sciences

For Summer UG Visitors only. Same as 110. This course is offered remotely only via video segments. TAs will host remote weekly office hours using an online platform such as Zoom.

Terms: Sum
| Units: 5

## STATS 191: Introduction to Applied Statistics

Statistical tools for modern data analysis. Topics include regression and prediction, elements of the analysis of variance, bootstrap, and cross-validation. Emphasis is on conceptual rather than theoretical understanding. Applications to social/biological sciences. Student assignments/projects require use of the software package R. Prerequisite: introductory statistical methods course. Recommended: 60, 110, or 141.

Terms: Aut
| Units: 3
| UG Reqs: GER:DB-Math, WAY-AQR

## STATS 290: Computing for Data Science

Programming and computing techniques for the requirements of data science: acquisition and organization of data; visualization, modelling and inference for scientific applications; presentation and interactive communication of results. Emphasis on computing for substantial projects. Software development with emphasis on R, plus other key software tools. Prerequisites: Programming experience including familiarity with R; computing at least at the level of
CS 106; statistics at the level of
STATS 110 or 141.

Terms: Win
| Units: 3

Instructors:
Chambers, J. (PI)
;
Narasimhan, B. (PI)

## STATS 360: Advanced Statistical Methods for Earth System Analysis (ESS 260)

Introduction for graduate students to important issues in data analysis relevant to earth system studies. Emphasis on methodology, concepts and implementation (in R), rather than formal proofs. Likely topics include the bootstrap, non-parametric methods, regression in the presence of spatial and temporal correlation, extreme value analysis, time-series analysis, high-dimensional regressions and change-point models. Topics subject to change each year. Prerequisites:
STATS 110 or equivalent.

Last offered: Winter 2016

Filter Results: