Quantum Cryptography

The ability to transmit quantum information over long distances will enable implementation of many fascinating quantum communication tasks and provide us with novel capabilities that reach beyond what we can do over classical Internet alone. Examples of such tasks include blind quantum computing, clock synchronization or distributed quantum computing. Quantum cryptography is one family of such tasks with the most famous one being quantum key distribution.

Systems for Deep Learning

This course is designed to provide a comprehensive understanding of computer systems architecture that supports deep learning workloads. It assumes students have prior knowledge on computer systems, algorithms, and Python/C/C++ programming background. In the course, we will study the full-stack system design to support deep learning, covering topics from the high-level programming frameworks to low-level kernel implementations. We will also introduce cutting-edge research on efficient and scalable deep learning model training, inference, and serving.

Adv Natural Language Processng

This course will broadly deal with deep learning methods for natural language processing, with a specific focus on large language models. Most of the semester will focus on neural language models. It is intended for graduate students in computer science and linguistics who are (1) interested in learning about cutting-edge research progress in NLP and (2) familiar with machine learning fundamentals. We will cover modeling architectures, training objectives, and downstream tasks (e.g., text classification, question answering, and text generation).

Neural Networks: Modern Intro

This course will focus on modern, practical methods for deep learning with neural networks. The course will begin with a description of simple classifiers such as perceptrons and logistic regression classifiers, and move on to standard neural networks, convolutional neural networks, some elements of recurrent neural networks, and transformers. The emphasis will be on understanding the basics and on practical application more than on theory. Many applications will be in computer vision, but we will make an effort to cover some natural language processing (NLP) applications as well.

Optimization/Computer Science

Optimization techniques are frequently used in many areas of computer science, in particular in machine learning, to handle a variety of large-scale, data intensive problems. Moreover, algorithmic tools of ever-increasing sophistication are introduced at a fast pace, offering unparalleled opportunities to solve problems efficiently. This class will cover a wide range of optimization methods, including convex, nonconvex and discrete optimization.

Fixing Social Media

This course examines sociotechnical problems with existing modes of social media and works towards building new, affirmative visions for social media through technical and policy means. Students will examine interventions to address problems with contemporary social media and design and develop possible interventions.
Subscribe to