COS 511

Theoretical Machine Learning

Professor/Instructor

Chi Jin

Course introduces the mathematical foundations of machine learning, including theoretical models of machine learning, and the design and analysis of learning algorithms. Topics include: bounds on the number of random examples needed to learn; learning from non-random examples in the on-line learning model (i.e., for investment portfolio selection); how to boost the accuracy of a weak learning algorithm; learning with queries; Fourier-based algorithms and support-vector machines.

ECE 539 / COS 512

Special Topics in Data and Information Science

Professor/Instructor

Chi Jin

Advanced studies in selected areas in signal processing, communication and information theory, decision and control, and system theory. Emphasis on recent developments and current literature. Content varies from year to year according to the instructor's and students' interests.

COS 513 / SML 513

Foundations of Probabilistic Modeling

Professor/Instructor

Adji Bousso Dieng

A study of the essential tools for analyzing the vast amount of data that have become available in modern scientific research. Mathematical foundations of the field will be studied, along with the methods underlying the current state of the art. Probabilisitc graphical models and a unifying formalism for descrtibing and extending previous methods from statistics and engineering will be considered. Prerequisites COS402 or COS424. Undergraduates by permission only.

COS 516 / ECE 516

Automated Reasoning about Software

Professor/Instructor

Aarti Gupta

An introduction to algorithmic techniques for reasoning about software. Basic concepts in logic-based techniques including model checking, invariant generation, symbolic execution, and syntax-guided synthesis; automatic decision procedures in modern solvers for Boolean Satisfiability (SAT) and Satisfiability Modulo Theory (SMT); and their applications in automated verification, analysis, and synthesis of software. Emphasis on algorithms and automatic tools.

COS 518

Advanced Computer Systems

Professor/Instructor

Wyatt A. Lloyd

Survey of operating systems covering: early systems, virtual memory, protection, synchronization, process management, scheduling, input/output, file systems, virtual machines, performance analysis, software engineering, user interfaces, distributed systems, networks, current operating systems, case studies. Survey of research papers from classic literature through contemporary research. Prerequisite: COS 318 or equivalent.

COS 522 / MAT 578

Computational Complexity

Professor/Instructor

Gillat Kol

Introduction to research in computational complexity theory. Computational models: nondeterministic, alternating, and probabilistic machines. Boolean circuits. Complexity classes associated with these models: NP, Polynomial hierarchy, BPP, P/poly, etc. Complete problems. Interactive proof systems and probabilistically checkable proofs: IP=PSPACE and NP=PCP (log n, 1). Definitions of randomness. Pseudorandomness and derandomizations. Lower bounds for concrete models such as algebraic decision trees, bounded-depth circuits, and monotone circuits.

COS 526 / ECE 576

Neural Rendering

Professor/Instructor

Felix Heide

Advanced topics in computer graphics, with focus on learning recent methods in rendering, modeling, and animation. Appropriate for students who have taken COS426 (or equivalent) and who would like further exposure to computer graphics.

COS 528

Data Structures and Graph Algorithms

Professor/Instructor

Robert Endre Tarjan

Data structures and algorithms for graph and network problems, including disjoint set union, heaps, search trees, search on graphs, minimum spanning trees, shortest paths, network flows, and matchings. The intent of the course is to examine the most efficient algorithms known for a variety of combinatorial problems and to discover the principles underlying the design and analysis of these algorithms. The emphasis is on asymptotic worst-case and amortized analysis. Prerequisite: 423 or the equivalent.

COS 557 / MOL 557

Analysis & Visualization of Large-Scale Genomic Data Sets

Professor/Instructor

Olga G. Troyanskaya

Introduces students to computational issues involved in analysis and display of large-scale biological data sets. Algorithms covered will include clustering and machine learning techniques for gene expression and proteomics data analysis, biological networks, joint learning from multiple data sources, and visualization issues for large-scale biological data sets. No prior knowledge of biology or bioinformatics is required; an introduction to bioinformatics and the nature of biological data will be provided. In depth knowledge of computer science is not required, but students should have some understanding of programming and computation.

COS 561

Advanced Computer Networks

Professor/Instructor

Ravi Arun Netravali

Survey of computer networks covering end-to-end principle, multiplexing, virtualization, packet switching vs. circuit switching, router design, network protocols, congestion control, internet routing architecture, network measurement, network management, and overlay networks. Survey of research papers from classic literature through contemporary research.

COS 583 / ECE 583

Great Moments in Computing

Professor/Instructor

Margaret Rose Martonosi

Course covers pivotal developments in computing, including hardware, software, and theory. Material will be covered by reading seminal papers, patents, and descriptions of highly-influential architectures. Course emphasizes a deep understanding of the discoveries and inventions that brought computer systems to where they are today, and class is discussion-oriented. Final project or paper required. Graduate students and advanced undergraduates from ELE, COS, and related fields welcome.

COS 584

Advanced Natural Language Processing

Professor/Instructor

Danqi Chen, Karthik Narasimhan

Natural Language Processing (NLP) is witnessing exciting developments in core technologies and applications to a wide variety of domains. This graduate-level course focuses on an advanced study of frameworks, algorithms and methods in NLP -- including state-of-the-art techniques for problems such as language modeling, text classification, machine translation, and question answering. The course contains multiple programming assignments, paper readings, a mid-term and a final project. Students are expected to have taken at least one introductory course in machine learning prior to this class, and be comfortable with programming in Python.

SPI 586F / COS 586

Topics in STEP

Professor/Instructor

Jonathan Mayer

Currently unavailable

COS 590

Extramural Research Internship

Professor/Instructor

One-term full time research internship at a host institution to perform scholarly research directly relevant to a student's dissertation work. Research objectives will be determined by the student's advisor in consultation with the outside host. Monthly progress reports and a final paper are required. Enrollment is limited to post-generals students. Students will be permitted to enroll in this one-semester course at most twice. Participation will be considered exceptional.

ECE 539B / COS 597

Special Topics in Information Sciences and Systems

Professor/Instructor

Maria Apostolaki

Advanced studies in selected areas in signal processing, communication and information theory, decision and control, and system theory. Emphasis on recent developments and current literature. Content varies from year to year according to the instructor's and students' interests.

COS 597A

Advanced Topics in Computer Science

Professor/Instructor

Topics involving current research in computer science and applications in other fields.

COS 597B

Advanced Topics in Computer Science

Professor/Instructor

Tom Griffiths

Topics involving current research in computer science and applications in other fields.

COS 597C

Advanced Topics in Computer Science

Professor/Instructor

Barbara E Engelhardt

Topics involving current research in computer science and applications in other fields.

COS 597D

Advanced Topics in Computer Science

Professor/Instructor

Ben Raphael

Topics involving current research in computer science and applications in other fields.

COS 597E

Advanced Topics in Computer Science

Professor/Instructor

Aarti Gupta

Topics involving current research in computer science and applications in other fields.

COS 597F

Advanced Topics in Computer Science

Professor/Instructor

Karthik Narasimhan

Topics involving current research in computer science and applications in other fields.

COS 597G

Advanced Topics in Computer Science

Professor/Instructor

Danqi Chen

Topics involving current research in computer science and applications in other fields.

COS 597I

Advanced Topics in Computer Science

Professor/Instructor

Andrés Monroy-Hernández

An in-depth study of compiler backend techniques for modern computer architectures. The course includes coverage of the fundamentals and a survey of current research. Students work together on a research project. Familiarity with both computer architecture and compilers is recommended.

COS 597J

Advanced Topics in Computer Science

Professor/Instructor

Huacheng Yu

This seminar prepares computer science graduate students and advanced undergraduate students to effectively engage on matters of public policy and law. The core of the course is a survey of computer science research that has successfully influenced government decision making or commercial practices. Topics include consumer privacy, data security, net neutrality, government surveillance, artificial intelligence fairness, election integrity, and cryptocurrencies. Assignments challenge participants to develop their own research interests into deliverables for public policy and law audiences.

COS 597M

Advanced Topics in Computer Science

Professor/Instructor

Aleksandra Korolova

Topics involving current research in computer science and applications in other fields.