Held in cooperation with the University of Chicago Department of Computer Science

All courses held in room 530 unless otherwise noted.

Autumn 2015

Winter 2016

Spring 2016

Summer 2016

Complete Course List

TTIC 31000 - Research at TTIC


Weekly lectures and discussions by TTIC researchers introducing their research and research problems. Provides a broad view of research carried out at TTIC. Course is pass/fail credit. Satisfies one quarter of credit (of the three required) to fulfill the Research at TTIC Series Requirement. (See Academic Program Guide for details)

TTIC 31010 - Algorithms (CMSC 37000)

Chuzhoy, Julia, and Makarychev, Yury

This is a graduate level course on algorithms with the emphasis on central combinatorial optimization problems and advanced methods for algorithm design and analysis. Topics covered include asymptotic analysis, greedy algorithms, dynamic programming, amortized analysis, randomized algorithms and probabilistic methods, combinatorial optimization and approximation algorithms, linear programming, and advanced data structures.

The course textbook is "Algorithm Design" by Kleinberg and Tardos

Lecture Plan

1. Greedy algorithms (1 week)

2. Dynamic programming (1 week)

3. Amortized analysis (1 week)

4-6 Max flow, min-cut, bipartite matching and their applications (3 weeks)

7. Linear programming, LP-duality (1 week)

8. NP-hardness (1 week)

9. Approximation algorithms (1 week)

10. Randomized algorithms (1 week)

Assumes familiarity with proofs and an the asymptotic notation. Some basic knowledge of the notion of NP-hardness is also required.

Expected outcomes:

  • Ability to design and rigorously analyze algorithms using paradigms such as greedy or dynamic programming.
  • Understand the use of linear programming in optimization. Be able to formulate problems as linear programs.
  • Understand linear programming duality and applications to problems such as max- flow/min-cut. Be able to write duals for linear programs.

Prerequisites: Assumes familiarity with proofs and an the asymptotic notation. Some basic knowledge of the notion of NP-hardness is also required.

TTIC 31020 - Introduction to Statistical Machine Learning

Shakhnarovich, Greg

A systematic introduction to machine learning, covering theoretical as well as practical aspects of the use of statistical methods. Topics include linear models for classification and regression, support vector machines, regularization and model selection, and introduction to structured prediction and deep learning. Application examples are taken from areas like information retrieval, natural language processing, computer vision and others.

Prerequisites: Probability, Linear Algebra, Undergraduate Algorithms.

Lecture Plan

I will focus on supervised learning and only talk about unsupervised settings when necessary (e.g., mixture models and density estimation for generative methods for classification). So, no clustering. There will be twenty 1.5 hour lectures; numbers in parentheses are estimated # of lectures per topic.

  • intro to ML, motivation etc. (1)
  • refresher on probability and algebra (1)
  • statistical framework for learning; loss/risk; least squares regression (1)
  • noise models; error decomposition; bias/variance and overfitting (1)
  • estimation theory; ML/MAP, overfitting, bias/variance (1)
  • model complexity, sparsity (L1/L2) in regression; stepwise methods for L0 sparsity (1)
  • classification; Fisher's LDA, logistic regression and softmax (1)
  • ensemble methods, boosting (1)
  • generative models, Naive Bayes, multivariate Gaussians (1)
  • mixture models; EM (2)
  • SVM and kernels (2)
  • nonparametric methods; nearest neighbors, density esimation (1)
  • multilayer neural networks and deep learning (1)
  • information theory and learning; information criteria, MDL and their connections to regularization (1)
  • experiment design and evaluation in ML (1)
  • advanced topics TBD (1)
  • wrap-up and review (1)

Prerequisites: knowledge of basic linear algebra, probability and calculus.

Expected outcomes:

  • Understand the notion of fitting a model to data and concepts such as model complexity, overfitting and generalization, and bias-variance tradeoff in estimation.
  • Learn and be able to apply some of the fundamental learning methods, such as logistic regression, support vector machines, boosting, decision trees, neural networks.
  • Learn the basics of optimization techniques such as gradient descent and the general EM algorithm.
  • Familiarity with multivariate Gaussians and mixtures of Gaussians.
  • Understand fundamental concepts in information theory (entropy, KL-divergence) and their relationship to machine learning.

TTIC 31030 - Mathematical Foundations

McAllester, David

This course covers the foundations of mathematics from a classical (nonconstructive) type-theoretic perspective, the general notion of a mathematical structure, the general notion of isomorphism, and the role of axiomatizations and constructions in mathematical definitions. The definition of the real numbers used as a fundamental example. The course also covers the notion of definability in well-typed formalisms. A primary example is the non-definability of a linear bijection between a vector space and its dual. Ontologies (types) relevant to machine learning are emphasized such as the type theory of PCA, CCA and Banach spaces (norms and dual norms).

Lecture Plan

There are again two lectures per week. Introduction and course outline.

Part I: Logic with Abstraction Barriers.

Sequent inference rules and proofs. Types and variable declarations. Free and bound variables. Structures and Isomorphism.

Isomorphism as equivalence under an abstract interface.

Part II: Case Studies in Abstraction

The natural numbers, integers, rationals and reals. Vector spaces. A formal treatment of the non-existence of a canonical basis (coordinate system), canonical inner product, or canonical isomorphism with the dual space. Coordinate-free treatment of matrix algebra.

Equivalences between matrix (operator) types. The fact that least squares regression does not require an ambient inner product but regularization does. Gradient descent. Gradient descent requires an ambient inner product. Newton's method does not. The covariance matrix of a probability distribution on a vector space. The fact that the multivariate central limit theorem does not require an ambient inner product. Canonical correlation analysis also does not require an ambient inner product. PCA requires and ambient inner product.

Norms and Banach spaces. Dual norms. Measure spaces. Hilbert space. Differentiable manifolds. Information geometry. Jeffery's prior. Natural Gradient Descent.

Expected outcomes:

  • Be able to write rigorous proofs and reason formally about various mathematical notions.
  • Understand basics of linear algebra, eigenvalues and eigenvectors from the viewpoint of operators.
  • Understand various algorithms such as SVMs, PCA, CCA and gradient descent from the operator viewpoint.

TTIC 31040 - Introduction to Computer Vision (CMSC 35040)

McAllester, David

Introduction to techniques in modern computer vision. The course starts with an introduction to state of the art neural network techniques for image classification and object detection. It also covers 3D vision where the current state of the art still requires an understanding of classical optics and geometry.

Lecture Plan


  • Introduction to neural networks, backpropagation.
  • introduction to GPU programming with CAFE.
  • convolutional neural networks, translation invariance, Haar wavelets as PCA on a translation invariant distribution.
  • deformable part models and maxout units.
  • dropouts and rectified linear units.
  • very deep networks --- the current state of the art in image labeling.
  • semantic segmentation.
  • 3D image interpretation --- stereo vision, deep match energies.
  • Structure from motion, the geometry of image formation.
  • Features: interest point operators, descriptors, deep-SIFT.
  • Shape-from-shading, albedo, Lambertian surfaces, generalized reflectance, intrinsic images.

Expected outcomes:

  • Ability to implement the various forms of DNN discussed in the class using CAFE
  • Mastery of the analytical topics in the class.

Prerequisites: Introduction to machine learning.

TTIC 31050 - Introduction to Bioinformatics and Computational Biology

Xu, J.

Lecture Plan

This course will focus on the application of mathematical models and computer algorithms to studying molecular biology. In particular, this course will cover the following topics.

  1. homology search ( 1 week)
  2. sequence alignment and motif discovery ( 1 week)
  3. next-gen sequencing and genome assembly ( 1 week)
  4. protein sequence/structure analysis including alignment, classification, structure and function prediction ( 2 weeks).
  5. RNA sequence/structure analysis including alignment, classification and prediction ( 1 week)
  6. gene expression analysis (1 week)
  7. biological network analysis ( 1 week)
  8. phylogeny ( 1 week)

Expected outcomes:

  • Ability to use popular bioinformatics tools to generate biologically meaningful results
  • Ability to interpret biological results generated by a bioinformatics tool
  • Ability to implement basic machine learning and optimization algorithms for important biology problems
  • Application of some basic models and algorithms such as Support Vector Machines, Hidden Markov Model, Dynamic Programming to solve biology problems

Prerequisites: None

TTIC 31060 - Computability and Complexity Theory (CMSC 38500, MATH 30500)

Razborov, A.

Part one consists of models for defining computable functions: primitive recursive functions, (general) recursive functions, and Turing machines; the Church-Turing Thesis; unsolvable problems; diagonalization; and properties of computably enumerable sets. Part two deals with Kolmogorov (resource bounded) complexity: the quantity of information in individual objects. Part three covers functions computable with time and space bounds of the Turing machine: polynomial time computability, the classes P and NP, NP- complete problems, polynomial time hierarchy, and P-space complete problems.

Lecture Plan

The tentative plan for this course is to do the following three parts.

Part I. Models for defining computable functions: primitive recursive functions, (general) recursive functions, and Turing machines; the Church-Turing Thesis; unsolvable problems; diagonalization; and properties of computably enumerable sets.

Part II. Kolmogorov (resource bounded) complexity: the quantity of information in individual objects.

Part III. Functions computable with time and space bounds of the Turing machine: polynomial time computability, the classes P and NP, NP-complete problems, polynomial time hierarchy, and P-space complete problems.

Here is the Web page of the previous version of this course: http://people.cs.uchicago.edu/~razborov/teaching/spring14.html. But I will be very willing to adjust the speed, style and content depending on the background of the students enrolled in the course.

Expected outcomes:

  • Ability to identify algorithmic problems arising in various contexts.
  • Application of classical recursion theory, Kolmogorov complexity and basic computational complexity to the analysis of problems arising in mathematics and beyond.
  • Recognize and identify solvable and unsolvable problems, problems with high/low Kolmogorov complexity, as well as problems complete for basic complexity classes.

TTIC 31070 - Convex Optimization

Orabona, Francesco

The course will cover techniques in unconstrained and constrained convex optimization and a practical introduction to convex duality. The course will focus on (1) formulating and understanding convex optimization problems and studying their properties; (2) understanding and using the dual; and (3) presenting and understanding optimization approaches, including interior point methods and first order methods for non-smooth problems. Examples will be mostly from data fitting, statistics and machine learning.

Prerequisites: Linear Algebra, Multidimensional Calculus, Undergraduate Algorithms

TTIC 31080 - Approximation Algorithms (CMSC 37503)

Chuzhoy, J.

This is a basic course on approximation algorithms, with the main focus on approximation algorithms for central combinatorial optimization problems. We will mostly focus on classical algorithmic results, but will also present some state of the art results and challenges in the area of approximation. The course will cover major algorithmic techniques, including LP-rounding, primal-dual schema, metric methods, SDP rounding and so on. While the main focus of the course is on algorithms, we will also discuss lower bounds on approximation and connections between algorithm design and lower bound proofs.

Assumes the knowledge of material covered in the Algorithms course.

Expected outcomes:

  • Understand concepts such as approximation factor, polynomial time approximation schemes and hardness of approximation.
  • Understand applications of linear programs (LPs) to design of approximation algorithms. Learn to analyze rounding algorithms for LPs and understand integrality gaps. Be able to apply LP duality.
  • Understand semi-definite programming and its applications to approximation.

Prerequisites: Algorithms (TTIC31010 or CMSC 37000)

TTIC 31090 - Signals, Systems and Random Processes

Livescu, K.

Introduction to analysis of signals and linear time-invariant systems at a graduate level. Topics include: Continuous and discrete-time transforms (Fourier and others); linear filtering; sampling and aliasing; random processes and their interaction with linear systems; applications in areas such as speech and image processing and robotics.

Prerequisites: familiarity with basic linear algebra, notions of eigenvalues and eigenvectors, and (multivariate) Gaussian distributions.

Expected outcomes:

  • Understand the properties and eigenfunctions of linear time-invariant (LTI) systems.
  • Understand Fourier Series (discrete- and continuous-time), Fourier transform, and convolutions.
  • Be able to analyze random processes, understand their stationarity properties and their interaction with LTI systems.
  • Learn about sampling and aliasing, signal estimation minimizing mean square error and parameter estimation for random processes. Understand the Karhunen-Loeve transform.

TTIC 31100 - Computational and Metric Geometry (CMSC 39010)

Makarychev, Yury

The course covers fundamental concepts, algorithms and techniques in computational and metric geometry. Topics covered include: convex hulls, polygon triangulations, range searching, segment intersection, Voronoi diagrams, Delaunay triangulations, metric and normed spaces, low–distortion metric embeddings and their applications in approximation algorithms, padded decomposition of metric spaces, Johnson—Lindenstrauss transform and dimension reduction, approximate nearest neighbor search and locality–sensitive hashing.

The course textbook is "Computational Geometry" by M. de Berg, O. Cheong, M. van Kreveld, M. Overmars.

Lecture Plan:

  1. Convexity: convex sets, convex hulls, vertices, supporting lines, edges, different definitions and basic properties, Caratheodory's theorem
  2. Convex Hulls and Line Segment Intersections: Jarvis March, Andrew's algorithm, sweep line algorithms, line segment intersection, Bentley—Ottmann algorithm
  3. Planar Graphs and Overlays: graphs, graph drawings, plane and planar graphs, Euler's formula, data structure for plane graphs, computing overlays
  4. Orthogonal Range Searching (2 lectures): binary search, kd-trees, range trees
  5. Point Location: trapezoidal maps, randomized algorithm
  6. Voronoi Diagrams: Voronoi diagrams, Fortune's algorithm
  7. Delaunay Triangulations (1.5 lectures): triangulations, Delaunay and locally Delaunay triangulations: definitions, existence and equivalence, duality between Delaunay triangulations and Voronoi diagrams, angle optimality
  8. Metric Spaces, Normed Spaces, Low Distortion Metric Embeddings (1.5 lectures): metric and normed spaces, Lipschitz maps, distortion, embeddings into Lp and lp
  9. Bourgain's Theorem
  10. Sparsest Cut: approximation algorithm for Sparsest Cut
  11. Minimum Balanced Cut, Minimum Linear Arrangement, Sparsest Cut with Non-Uniform Demands, Expanders: polylog approximation algorithms for Balanced Cut and Minimum Linear Arrangement, expander graphs, integrality gap for Sparsest Cut, Sparsest Cut with non-uniform demands
  12. Minimum Multiway Cut, Minimum Multicut: approximation algorithms for Minimum Multiway Cut and Minimum Multicut
  13. Padded Decomposition, Hierarchically Separated Trees, Applications (2 lectures)
  14. Semidefinite Programming, Algorithm of Arora, Rao and Vazirani: semidefinite programming, ARV (high-level overview), delta separated sets, matching covers
  15. Dimension Reduction, Nearest Neighbor Search: dimension reduction, approximate nearest neighbor search, locality sensitive hashing
  16. Locality Sensitive Hashing, p–Stable Random Variables: locality sensitive hashing, p–stable random variables

Expected outcomes:

  • Know standard algorithms and data structures for solving geometric problems
  • Be able to design efficient algorithms and data structures for solving geometric problems
  • Understand basic concepts of metric geometry such as metric and normed space, low distortion embedding, dimension reduction, nearest neighbor search.
  • Understand applications of metric geometry to the field of approximation algorithms and other areas of computer science.

Prerequisites: undergraduate-level algorithms, linear algebra and probability classes; a good background in mathematical analysis/calculus

TTIC 31110 - Speech Technologies (CMSC 35900)

Livescu, Karen

This course will introduce techniques used in speech technologies, mainly focusing on speech recognition. Speech recognition is one of the oldest and most complex structured sequence prediction tasks receiving significant research and commercial attention, and therefore provides a good case study for many of the techniques that are used in other areas of artificial intelligence involving sequence modeling. It is also a good example of the effectiveness of combining statistics and learning with domain knowledge. The course will include practical homework exercises using Matlab and speech toolkits.

Prerequisites: a good background in basic probability.

Expected outcomes:

  • Understand and apply tools for analyzing speech time series such as Fourier analysis and dynamic time warping.
  • Understand and apply hidden Markov models, Gaussian mixtures, and the EM algorithm for speech problems.
  • Understand and apply n-gram language models, smoothing techniques, and their application to speech recognition.
  • Understand generative and discriminative structured prediction approaches for speech problems.

TTIC 31120 - Statistical and Computational Learning Theory

Srebro, N.

The course discusses classic results and recent advances in statistical learning theory (mostly under the agnostic PAC model), touches on computational learning theory, and also explores the relationship with stochastic optimization, the oracle model of optimization, and online regret analysis. Our emphasis will be on developing a rigorous quantitative understanding of machine learning and acquiring techniques for analyzing and proving performance guarantees for learning methods.

Pre-Requisites : Mathematical maturity, as obtain, e.g., in a rigorous analysis course. Discrete Math (specifically combinatorics and asymptotic notation) Probability Theory Introduction to Machine Learning Algorithms; Basic Complexity Theory (NP-Hardness) Familiarity with Convex Optimization, Computational Complexity and background in Statistics can be helpful, but is not required.

Course Webpage

TTIC 31130 - Visual Recognition

Urtasun, R. Shakhnarovich, G.

Developing autonomous systems that are able to assist us in everyday's tasks is one of the grand challenges in modern computer science. While a variety of novel sensors have been developed in the past few years, in this class we will focus on the extraction of this knowledge from visual information alone. One of the most remarkable examples of successful recognition systems is our visual system, which is able to extract high-level information from very noisy and ambiguous data. Unfortunately, despite decades of research efforts, machines are still way below human performance. In this class we will study why this is the case.

The goal of this graduate class is to understand the different visual recognition tasks as well as the techniques employed to solve them. A strong component of the course will be statistical learning as it plays a key role in almost every modern visual recognition system. We will cover all stages of the recognition pipeline: low-level (e.g., features), mid-level (e.g., segmentation) as well as high-level reasoning (e.g., scene understanding).

Lecture Plan

Knowledge of machine learning and computer vision is not required, but highly recommended. The theoretical aspects of visual recognition will be covered during the lectures. The class will have a strong practical component, as the students will build the different recognition components during the homework sessions. A list of topics includes:

  1. Classification: features, bag of words (BOW), similarity between images, learning features as well as hashing schemes and retrieval.
  2. Detection: sliding window approaches, branch and bound, structure prediction, hough voting and NN approaches, hierarchical models.
  3. Segmentation: classical approaches (e.g., watershading) as well as modern structure pre- diction approaches including message passing and graph cuts for inference, and CRFs and structured-SVMs for learning.
  4. Modern 3D geometry and 3D scene understanding: stereo, scene layout (e.g., 3D box for indoor scenes, road layout for outdoor scenes).
  5. Pose estimation: pictorial structures (2D) as well as 3D pose estimation including particle filter-based approaches.

TTIC 31140 - Learning and Inference in Graphical Models

Urtasun, R

A graphical model is a probabilistic model, where the conditional dependencies between the random variables is specified via a graph. Graphical models provide a flexible framework for modeling large collection of variables with complex interactions, as evidenced by their wide domain of application, including for example machine learning, computer vision, speech and computational biology. This course will provide a comprehensive survey of learning and inference methods in graphical models, including variational methods, primal-dual methods and sampling techniques.

TTIC 31150 - Mathematical Toolkit (CMSC 31150)

Tulsiani, Madhur

The course is aimed at first-year graduate students and advanced undergraduates. The goal of the course is to collect and present important mathematical tools used in different areas of computer science. The course will mostly focus on linear algebra and probability.

We intend to cover the following topics and examples:

  • Abstract linear algebra: vector spaces, linear transformations, Hilbert spaces, inner product, Gram-Schmidt orthogonalization, Eigenvalues and eigenvectors, SVD, least squares (under/over-constrained)
  • Discrete probability: random variables, Markov, Chebyshev and Chernoff bounds.
  • Gaussian variables, concentration inequalities, dimension reduction
  • Martingales (time permitting)
  • Stochastic Processes (time permitting)
  • Linear programming and LP duality

Expected outcomes:

  • Ability to write correctly typed rigorous proofs.
  • Understanding of various notions of linear algebra in the context of abstract vector spaces.
  • Ability to understand and analyze stochastic processes. Familiarity with discrete and continuous random variables and various concentration bounds.

Prerequisites: None

TTIC 31160 - Topics in Bioinformatics

Xu, Jinbo

TTIC 31160 will focus on the application of mathematical models and computer algorithms to studying structure biology, in particular, protein, RNA and DNA molecule structures.

Here is a list of topics that I am going to cover in this course.

  • Introduction to molecular structures (1 week)
  • Bioinformatics for biological sequence analysis (1 week)
  • Algorithms for molecule structure comparison and alignment (1 week)
  • Algorithms for protein secondary structure prediction (0.5 week)
  • Algorithms for protein tertiary structure prediction (1 week)
  • Algorithms for RNA secondary structure prediction (1 week)
  • Algorithms for RNA tertiary structure prediction (0.5 week)
  • Algorithms for protein docking (1 week)
  • Algorithms for protein-protein and protein-RNA interaction prediction (1 week)
  • Algorithms for Chromatin structure determination ( 1 week)

There will be both homework and final projects.

Expected outcomes:

  • Ability to formulate structure biology problems into a mathematical problem
  • Application of advanced optimization algorithms (linear programming, semidefinite programming and graph algorithms) and machine learning models (probabilistic graphical models) to solve important problems in structure bioinformatics
  • Mastery of current hot topics in structure bioinformatics
  • Ability to conduct semi-independent research in structure bioinformatics

Prerequisites: None

TTIC 31170 - Planning, Learning, and Estimation for Robotics and Artificial Intelligence

Walter, Matthew

This course concerned with fundamental techniques in robotics and artificial intelligence (AI), with an emphasis on probabilistic inference, learning, and planning under uncertainty. The course will investigate the theoretical foundations underlying these topics as rigorous mathematical tools that enable solutions to real-world problems drawn broadly from robotics and AI. The course will cover topics that include: Bayesian filtering (Kalman filtering, particle filtering, and dynamic Bayesian networks), simultaneous localization and mapping, planning, Markov decision processes, partially observable Markov decision processes, reinforcement learning, and graphical models.

Expected outcomes:

  • Understand the role of and probabilistic techniques for modeling and mitigating uncertainty in dynamic systems
  • Demonstrate the ability to derive analytical and nonparametric solutions for recursive Bayesian estimation
  • Formulate probabilistic models that represent the problem of robot localization and mapping, and show how these models afford the use of techniques from recursive estimation
  • Understand algorithms for planning/search and decision making within deterministic and stochastic domains
  • Demonstrate the ability to implement state-of-the-art algorithms for uncertainty mitigation and to apply these techniques to new problems and domains

Prerequisites: Basic familiarity with basic linear algebra; background in probability theory; basic programming experience

TTIC 31190 - Natural Language Processing

Gimpel, Kevin

This course will introduce fundamental concepts in natural language processing (NLP). NLP includes a range of research problems that involve computing with natural language. Some are user-facing applications, such as spam classification, question answering, summarization, and machine translation. Others serve supporting roles, such as part-of-speech tagging and syntactic parsing. Solutions draw from statistical machine learning, algorithms, and linguistics. There is particular interest in structured prediction in which the output structure is a sequence, tree, or sentence.

Topics include:

  • text classification
  • language modeling and smoothing
  • words: lexical semantics, distributional representations, clusters, and embeddings
  • sequence labeling tasks: part-of-speech tagging and named-entity recognition
  • hidden Markov models and chain conditional random fields
  • statistical syntactic parsing, including constituency parsing and dependency parsing
  • parsing algorithms (CKY)
  • unsupervised learning in NLP: syntactic analysis, topic models
  • computational compositional semantics
  • word alignment and machine translation
  • neural network methods in NLP

Assignments include formal exercises as well as practical exercises involving implementing algorithms and using NLP toolkits.

Expected outcomes:

  • Understand why computing with natural language is difficult (ambiguity & variability of linguistic expression)
  • Understand and apply solutions to standard NLP tasks, such as naive Bayes for text classification and hidden Markov models / conditional random fields for sequence labeling
  • Be able to derive dynamic programming algorithms to perform inference in structured output spaces, and to analyze their computational properties
  • Understand common types of syntactic and semantic analysis, and how they are used in downstream applications
  • Recognize and characterize the errors made by NLP systems

Prerequisites: basic knowledge of probability and calculus; basic programming experience.

TTIC 31200 - Information and Coding Theory (CMSC 37220)

Tulsiani, Madhur

This course is meant to serve as an introduction to some basic concepts in information theory and error-correcting codes, and some of their applications in computer science and statistics. We plan to cover the following topics:

  • Introduction to entropy and source coding. Some applications of entropy to counting problems.
  • Mutual information and KL-divergence. Method of types and hypothesis testing. I-projections and applications.
  • Introduction to error-correcting codes. Unique and list decoding of Reed-Solomon and Reed-Muller codes.
  • Applications of information theory to lower bounds in computational complexity and communication complexity.

Expected outcomes:

  • Familiarity with concepts such as Entropy, Mutual information and KL-divergence.
  • Familiarity with source and channel coding.
  • Understanding of the method of types and ability to derive large-deviation bounds using information-theoretic concepts.
  • Understanding of the notions of unique and list decoding for various codes.

Prerequisites: Discrete probability. Some knowledge of finite-field algebra is required for the part on error-correcting codes but required basics are reviewed in class.

TTIC 55000 - Independent Research


Student engages in research under guidance of research advisor.

TTIC 56000 - Independent Reading

Advisor and/or other TTIC Faculty

Student engages in reading and research assignments under guidance of faculty.

TTIC 57000 - Computer Science Internship


In-depth involvement in areas of computer science in a research lab, University or business setting. Internship activities and objectives must be related to the student's program objectives. Required enrollment for F-1 CPT internship. Advisor's Consent Required.