The course work for the programme will consist of five categories, as follows.
Programming Languages
Basic Programming Laboratory
Design and Analysis of Algorithms
Theory of Computation
Advanced Algorithms
Distributed Systems
Mathematical Logic in Computer Science
Computer Systems Verification
Algorithmic Complexity Theory
Operations Research
Cryptography and Computer Security
Probability and Statistics
Networks
Databases
Compilers
Software Engineering
Advanced Computer Organization
Digital Systems Design
These will be offered from a list that will be updated periodically, including courses such as Mobile Computing, Computational Biology, Computational Geometry and Symbolic Computation.
To earn an MSc, a student must complete the equivalent of 16 regular courses, normally over a period of four semesters. These 16 courses must include all four Core courses and a project/dissertation.
Each advanced level course is equivalent to two regular courses and the project/dissertation is equivalent to four regular courses. At the discretion of the admissions committee, a student who has already completed any of the core courses as an undergraduate may substitute these courses by a suitable number of alternative courses to make up the overall course requirements.
Detailed information about the courses is available at the CMI website, http://www.cmi.ac.in.