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