Autumn 2020:

CSE P 527 Computational Biology
Instructor:
Larry Ruzzo
Introduction to the use of computational methods for understanding biological systems at the molecular level. Problem areas such as mapping and sequencing, sequence analysis, structure prediction, phylogenic inference, motif discovery, expression analysis, and regulatory analysis. Techniques such as dynamic programming, Markov models, MCMC, expectation-maximization, and local search. Prerequisites: none.
Course video description is available.

CSE P 546 Machine Learning
Instructor: 
Geoff Hulten
Methods for designing systems that learn from data and improve with experience. Supervised learning and predictive modeling; decision trees, rule induction, nearest neighbors, Bayesian methods, neural networks, support vector machines, and model ensembles. Unsupervised learning and clustering. Prerequisites: none.
Course video description is available.

CSE P 564 Computer Security
Instructor:
Karl Koscher
Examines the fundamental of computer security including: human factors; attack detection, measurements, and models; cryptography and communications security; system design and implementation; and side channels. Prerequisites: none.
Course video description is available.

CSE P 590 Applied Cryptography
Instructor: 
Stefano Tessaro
Introduction to cryptography, with a focus on applications to real-world systems. Topics will include classical primitives and goals (hash functions, block ciphers, secret- and public-key encryption, message authentication, authenticated encryption, key establishment, etc), as well as common attacks and implementation issues. Case studies will cover widely deployed protocols like TLS, as well as blockchains. Advanced cryptographic techniques like multi-party computation, homomorphic encryption, and zero-knowledge proofs will also be covered. Prerequisites: none, but some comfort with formal reasoning will be helpful.
Course video description is available.

Winter 2021: 

CSE P 517 Natural Language Processing
Instructor: Yejin Choi
Overview of modern approaches for natural language processing. Topics include language models, text classification, tagging, parsing, machine translation, semantics, and discourse analysis. Prerequisites: none. 
Video description to be posted.

CSE P 521 Applied Algorithms
Instructor: Richard Anderson
Principles of design of efficient algorithms with emphasis on algorithms with real world applications. Examples drawn from computational geometry, biology, scientific computation, image processing, combinatorial optimization, cryptography, and operations research. Prerequisites: none.

CSE P 552 Distributed Systems
Instructor: Tom Anderson and Daniel Berger
Principles, techniques, and examples related to the design, implementation, and analysis of distributed computer systems. Prerequisites: none.
Course video description is available.

CSE P 590 Entrepreneurship
Instructor: Greg Gottesman, 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: instructor permission; see course website for link to permission request form.
See course website for more information.

CSE P 590 Domain-Specific Languages (formerly CSE P 504)
Instructor: Ratislav Bodik
The design principles of domain-specific languages.  Implementation methods based on lightweight compilation and meta-programming support included in modern programming languages such as Lua, JavaScript and Scala.  Case studies include DSLs for data visualization (d3), web client programming (jQuery, arrowlets, Rx), and big data frameworks (the Hadoop family).
Course video description is available.

Spring 2021:

CSE P 505 A: Programming Languages
Instructor: James Wilcox
Schedule: Tuesday and Thursday, 6:30-7:50pm
Place: 100% remote
A study of non-imperative programming paradigms such as functional, object-oriented, logic, and constraint programming. Programming language semantics and type theory. Prerequisites: none.
Video description here.

CSE P 544 A: Database Management Systems
Instructor: Dan Suciu
Introduction to the principles of database management systems. Topics include database system architecture, data models, theory of database design, query optimization, concurrency control, crash recovery, and storage strategies. Prerequisites: none.
Course video description is available.

CSE P 590 A: The Future of Accessibility Technology
Instructor: Jen Mankoff
Access technology (AT) has the potential to increase autonomy, and improve millions of people’s ability to live independently. This potential is currently under-realized because the expertise needed to create the right AT is in short supply and the custom nature of AT makes it difficult to deliver inexpensively. How can computing enable new solutions to accessibility, including both access to the world and access to computers? Similarly, how can a disability studies perspective guide us in developing empowering and relevant solutions to accessibility problems? This course explores both of those questions through a combination of discussions, reading, and building.
Video description here.

CSE P 590 B: Enterprise Chatbots
Instructor
Alexandru (Andi) Gavrilescu
Theoretical and practical aspects of building chatbots for enterprises. Topics will include understanding natural language queries, extracting user intent, enterprise knowledge building from unstructured and semi structured content, querying databases, personalization, and dialog management. Prerequisites: none, but Natural Language Processing or Machine Learning are recommended.
Course video description is available.

Summer 2021:

No classes nor colloquia offered.


Course Offerings from Previous Academic Years:

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