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.

RandomizedAlgorithms/App to DS

Randomness has proven to be an important resource in developing provably efficient algorithms and protocols for large scale data processing. This course will explore advanced techniques for designing and analyzing randomized algorithms, with applications to data compression, sketching and sampling, communication and space efficient protocols, approximation algorithms, and beyond. The course is a natural follow on to both COMPSCI 514: Algorithms for Data Science and COMPSCI 611: Advanced Algorithms.

Adv Logic in Computer Science

Rigorous introduction to mathematical logic from an algorithmic perspective. Topics include: Propositional logic: Horn clause satisfiability and SAT solvers; First Order Logic: soundness and completeness of resolution, compactness theorem. We will use various state-of-the-art tools for applying logic to automatically verifying correctness properties of programs or finding errors, including model checkers, SAT and SMT solvers and theorem provers.

Advanced Algorithms

The design and analysis of efficient algorithms for important computational problems. Paradigms for algorithm design including Divide and Conquer, Greedy Algorithms, Dynamic Programming; and, the use of Randomness in Algorithms. Algorithms for Sorting and Searching, Graph Algorithms, Matroid, Linear Programming, Proving NP completeness, Approximation Algorithms for NP Complete Problems, and others. Prerequisites: The mathematical maturity expected of incoming Computer Science graduate students, knowledge of algorithms at the level of COMPSCI 311.

Robotics

This course is intended to serve as an advanced overview of robotics spanning the complete autonomy loop: perception, planning, and control. We will study the theory, algorithms, and efficient implementations related to these topics, with focus on open discussions for how to do research to go beyond the state of the art. Students will gain hands-on experience in implementing, and extending such algorithms using simulations.

Research Methods/Empirical CS

This course introduces concepts, practices, and tools for conducting effective research. You will learn how to read technical papers, interpret published research, assess the research frontier, select research topics, devise research questions and hypotheses, propose and plan research activities, analyze experimental results, and report those results.
Subscribe to