Courses

The tentative list of courses will be added shortly.

Error Correcting Codes

Instructor: Mrinal Kumar

Course description

The problem of storing and transmitting data effectively in the presence of noise is a fundamental problem of interest at the intersection of computer science, engineering and mathematics. Ideally, we would like communication and storage schemes that allow us to efficiently recover the original information even if a part of the data is corrupted, for instance, if your DVD has some scratches, or if some of the packets are dropped while being transmitted over the internet.

Error correcting codes are mathematical objects designed to solve precisely these problems. The foundations of the theory of error correcting codes (or simply coding theory) emerged from the beautiful and profound works of Shannon and Hamming in the 1940’s. This course will be a gentle introduction to this world of error correcting codes. We will discuss what these objects are, why they are of interest, and talk about some examples of codes and their properties.

Prerequisites

Basic linear algebra, discrete probability and undergraduate algorithms.

Algorithms on Graphs

Instructors: Juhi Chaudhary and Umang Bhaskar

Course description

Social networks, financial networks, road networks, computer networks, neural networks - these are only some of the networks we encounter in our lives. Graphs are a mathematical abstraction for studying networks. In this course we’ll look at some of these networks, and study algorithms for analysing them. Topics we will cover include matchings, maximum flows, minimum cuts (and other types of cuts), planarity in graphs, and games on graphs.

Prerequisites

Basic linear algebra and discrete math. A course in undergraduate algorithms or graph theory would be useful but is not required.

Introduction to Quantum Computing

Instructor: Piyush Srivastava

Course description

This course will be a short introduction to computational phenomena arising from quantum mechanics, and their contrast with classical computation.

Prerequisites

  1. Basic undergraduate linear algebra and probability.

  2. It might help to have some experience of programming (in any programming language)

  3. No prior background in quantum mechanics or physics will be required, but some knowledge of basic class 12 level physics will be helpful.

Gems in Computer Science

Instructors: (several)

Course description

This course will be an assorted list of wonderful gems in the field of computer science spanning a wide range of topics. The following are the rough topics that will be covered.