Courses offered by the theoretical computer science group at IMSc

Graduate level courses covering various aspects of theoretical computer science are offered at IMSc in various formats: lecture-based courses, seminar-based courses, reading courses, etc. Here is a list of courses that have been offered in the last few years. Current courses (Aug-Nov 2015 semester) are marked with an asterisk.

Discrete Mathematics* | Programming Languages Theory |

Algorithms and Data Structures* | Advanced Topics in Algorithms |

Automata Theory and Computability* | Theory of Computation - 2 |

Introduction to Logic* | Logic-2 |

Introduction to Computational Complexity | Computational Complexity-2 |

Randomized Algorithms | Computational Geometry |

Algebra and Computation | Algebra and Computation - 2 |

Distributed Algorithms | Games and Computation |

Automata and Concurrency | Verification |

Randomness and Computation* | Algebraic Theory of Automata |

Circuit Complexity | Parameterized Complexity |

Kernelization | Infinite Discrete Structures |

Concurrency | Communication Complexity |

Linear Programming and Combinatorial Optimization* | Mathematical Foundations of Computer Science |

Graph Theory | Algorithms for solving polynomial equations |

Algorithms for special classes of graphs | Advanced Graph Agorithms |

Approximation and Online Algorithms* | Dynamic Graph Algorithms |