Autumn 2021

CSE P 501 A Compiler Construction
Instructor: Hal Perkins
Principles and practice of building efficient implementations of modern programming languages. Lexical, syntactic, and semantic analysis of programs. Intermediate program representations. Intra- and interprocedural analysis and optimization. Run-time system techniques. Related programming environment facilities such as source-level debuggers and profilers. Prerequisites: none.
Course video description available.

CSE P 546 A Machine Learning
Instructor: Byron Boots
Methods for identifying valid, novel, useful, and understandable patterns in data. Induction of predictive models from data: classification, regression, probability estimation. Discovery of clusters and association rules. Prerequisites: none.
Video description to be posted.

CSE P 576 A Computer Vision
Instructor: Vitaly Ablavsky
Provides an overview of computer vision, emphasizing the middle ground between image processing and artificial intelligence. Image formation, pre-attentive image processing, boundary and region representations, and case studies of vision architectures. Prerequisites: none.
Course video description available.

CSE P 590 A Special Topics: Security Engineering
Instructor: Adam Shostack
Covers security as a feature versus security as a systems property, as well as the economic, political, and organizational factors that contribute to security being built; and market, usability, and network effects that lead to security being either part of or an obstacle to market success. Complementing CSE P 564 Computer Security (autumn 2020), Security Engineering (SE) will rely on existing understanding of security flaws and how they work and focus on the engineering techniques that students can bring to bear in delivering secure products and services. The course will focus on a “read, discuss and explore” approach more than coding assignments or configuration exercises.
Course video description available.

Winter 2022

CSE P 524 Parallel Computation
Instructor: Andrew Lumsdaine
Survey of parallel computing including the processing modes of pipelining, data parallelism, thread parallelism, and task parallelism; algorithmic implications of memory models; shared memory and message passing; hardware implementations; bandwidth and latency; synchronization, consistency, interprocessor communication; programming issues including implicit and explicit parallelism, locality, portability. Prerequisites: none.
Video description available.

CSE P 531 Computability and Complexity Theory
Instructor: Anup Rao
Survey of the theory of computation including Turing Machines, Churche's Thesis, computability, incompleteness, undecidability, complexity classes, problem reductions, Cook's theorem, NP-completeness, randomized computation, cryptography, parallel computation, and space complexity. Some emphasis will be placed on historical and philosophical aspects of the theory of computation. Prerequisites: none.
Video description available.

CSE P 573 Applications of Artificial Intelligence
Instructor: Hannaneh Hajishirzi
Introduction to the use of Artificial Intelligence tools and techniques in industrial and company settings. Topics include foundations (search, knowledge representation) and tools such as expert systems, natural language interfaces and machine learning techniques. Prerequisites: none.
Video description available.

CSE P 590 A Special Topics: Performance Engineering
Instructor: Mark Friedman
Introduction to the field of software performance engineering. Topics include queueing theory, operational analysis of computer systems, the mathematical analysis of scheduling policies, practical skill used to diagnose and fix performance problems, the role of stress and load testing in assuring quality of new releases, basic performance characteristics of computer hardware and its practical limits, and performance optimizations embedded in operating systems software. Prerequisites: none.
Video description available.

CSE P 590 B Special Topics: Entrepreneurship
Instructor: Greg Gottesman and Ed Lazowska
Company-building from formation to successful exit. This course is about entrepreneurship and specifically about starting, growing, managing, leading, and ultimately exiting a new venture. Prerequisites: none; enrollment by instructor permission.
Instructor permission required to enroll; please see course website for link to enrollment application.

Spring 2022

CSE P 561 Network Systems
Instructor: Matthew Johnson
The design of modern network systems. Fundamental concepts illustrated with case studies of the Internet, LANs and 802.11. Topics include: wireless, media access, and transport-layer technologies, routing, congestion control, internetworking, network management, peer-to-peer systems, and network security. Prerequisites: none.
Course video description is available.

CSE P 590 section A Special Topics: Machine Learning for Big Data
Instructor: Tim Althoff
The course will discuss data mining and machine learning algorithms for analyzing very large amounts of data. The emphasis will be on MapReduce and Spark as tools for creating parallel algorithms that can process very large amounts of data. Topics include: Frequent itemsets and association rules, near neighbor search in high dimensional data, locality sensitive hashing (LSH), dimensionality reduction, recommendation systems, clustering, link analysis, large scale supervised machine learning, data streams, mining the web for structured data.
Course video description is available.

CSE P 590 section B Special Topics: Explainable AI
Instructor: Su-In Lee
Overview of explainable AI concepts including feature importance (Shapley values, removal-based and propagation explanations), evaluating interpretability; concept-based explanations and inherently interpretable models; granular interpretation and counterfactual explanations; instance explanations, model improvement, and enhancing human-AI collaboration.

CSE P 590 section C Special Topics: Molecular Programming
Instructor: Chris Thachuk
Introduction to molecular programming: the art and (computer) science of programming the nanoscale world with a focus on DNA nanotechnology. Topics include molecular computation, algorithmic self-assembly of nanostructures, DNA data storage, and nanorobotics. Prerequisites: none.
Course video description is available.

CSE P 590 section D Special Topics: Advanced Topics in Data Management
Instructor: Dan Suciu
In this course we will discuss advanced topics in data management, with a focus on query optimizers and query engines. There will be several invited lecturers, presenting modern database systems or cloud database systems, and there will be in class discussions. Tentatively, we will cover the following systems: Cockroach Lab, Cascades/SQL Server, BigQuery, Redshift, Teradata, Snowflake. Grading will be based on a project, which all students will have to present in class, during the last lecture.
Prerequisites: none, but students are expected to be familiar with relational databases and some basic notions in query processing and optimization.
Course video description is available.

Summer 2022

No PMP courses or colloquia offered in summer.


Course Offerings from Previous Academic Years:

2011-2012 offerings, 2012-2013 offerings, 2013-2014 offerings, 2014-2015 offerings, 2015-2016 offerings, 2016-2017 offerings, 2017-2018 offerings, 2018-2019 offerings, 2019-2020 offerings, and 2020-2021 offerings are also available for review.