CS 255: Introduction to Cryptography
For advanced undergraduates and graduate students. Theory and practice of cryptographic techniques used in computer security. Topics: encryption (symmetric and public key), digital signatures, data integrity, authentication, key management, PKI, zeroknowledge protocols, and realworld applications. Prerequisite: basic probability theory.
Terms: Win

Units: 3

Grading: Letter or Credit/No Credit
Instructors:
Boneh, D. (PI)
CS 261: Optimization and Algorithmic Paradigms
Algorithms for network optimization: maxflow, mincost flow, matching, assignment, and mincut problems. Introduction to linear programming. Use of LP duality for design and analysis of algorithms. Approximation algorithms for NPcomplete problems such as Steiner Trees, Traveling Salesman, and scheduling problems. Randomized algorithms. Introduction to online algorithms. Prerequisite: 161 or equivalent.
Terms: Win

Units: 3

Grading: Letter or Credit/No Credit
Instructors:
Plotkin, S. (PI)
CS 263: Algorithms for Modern Data Models (MS&E 317)
We traditionally think of algorithms as running on data available in a single location, typically main memory. In many modern applications including web analytics, search and data mining, computational biology, finance, and scientific computing, the data is often too large to reside in a single location, is arriving incrementally over time, is noisy/uncertain, or all of the above. Paradigms such as mapreduce, streaming, sketching, Distributed Hash Tables, Bulk Synchronous Processing, and random walks have proved useful for these applications. This course will provide an introduction to the design and analysis of algorithms for these modern data models. Prerequisite: Algorithms at the level of
CS 261.
Terms: Spr

Units: 3

Grading: Letter or Credit/No Credit
Instructors:
Bosagh Zadeh, R. (PI)
;
Goel, A. (PI)
CS 265: Randomized Algorithms and Probabilistic Analysis (CME 309)
Randomness pervades the natural processes around us, from the formation of networks, to genetic recombination, to quantum physics. Randomness is also a powerful tool that can be leveraged to create algorithms and data structures which, in many cases, are more efficient and simpler than their deterministic counterparts. The key tools of probabilistic analysis, and application of these tools to understand the behaviors of random processes and algorithms. Emphasis is on theoretical foundations, though we will apply this theory broadly, discussing applications in machine learning and data analysis, networking, and systems. Topics include tail bounds, the probabilistic method, Markov chains, and martingales, with applications to analyzing random graphs, metric embeddings, random walks, and a host of powerful and elegant randomized algorithms. Prerequisites:
CS 161 and STAT 116, or equivalents and instructor consent.
Terms: Aut

Units: 3

Grading: Letter or Credit/No Credit
Instructors:
Valiant, G. (PI)
CS 266: Parameterized Algorithms and Complexity
An introduction to the area of parameterized algorithms and complexity, which explores multidimensional methods for measuring the difficulty and feasibility of solving computational problems. Topics include: fixedparameter tractability (FPT) and its characterizations, FPT algorithms for hard problems, the Whierarchy (W[1], W[2], W[P], and complete problems for these classes), and the relationships between parameterized questions and classical theory questions. Prerequisites:
CS 154 and 161 or the equivalent mathematical maturity.
Terms: not given this year

Units: 3

Grading: Letter or Credit/No Credit
CS 275B: Music Query, Analysis, and Style Simulation (MUSIC 254)
Leveraging off three synchronized sets of symbolic data resources for notation and analysis, the lab portion introduces students to the opensource Humdrum Toolkit for music representation and analysis. Issues of data content and quality as well as methods of information retrieval, visualization, and summarization are considered in class. Grading based primarily on student projects. Prerequisite: 253 or consent of instructor.
Terms: Spr

Units: 24

Grading: Letter or Credit/No Credit
Instructors:
Sapp, C. (PI)
;
SelfridgeField, E. (PI)
CS 294: Research Project in Computer Science
Student teams work under faculty supervision on research and implementation of a large project in some major subdiscipline in computer science. Lectures on stateoftheart methods related to the particular problem domain. Prerequisites: consent of instructor.
Terms: offered occasionally

Units: 3

Repeatable for credit

Grading: Letter or Credit/No Credit
CS 294A: Research Project in Artificial Intelligence
Student teams under faculty supervision work on research and implementation of a large project in AI. Stateoftheart methods related to the problem domain. Prerequisites: AI course from 220 series, and consent of instructor.
Terms: not given this year

Units: 3

Repeatable for credit

Grading: Letter or Credit/No Credit
CS 294H: Research Project in HumanComputer Interaction
Student teams under faculty supervision work on research and implementationnof a large project in HCI. Stateoftheart methods related to the problemndomain. Prerequisites
CS 377, 147, 247, or permission from instructor.
Terms: not given this year

Units: 3

Grading: Letter or Credit/No Credit
CS 295: Software Engineering
Software specification, testing, and verification. Emphasis is on current best practices and technology for developing reliable software at reasonable cost. Assignments focus on applying these techniques to realistic software systems. Prerequisites: 108. Recommended a project course such as 140, 143, or 145.
Terms: not given this year

Units: 23

Grading: Letter or Credit/No Credit
Filter Results: