Courses Offered in MSc Computer Science

The courses are mainly drawn from the branch of theoretical Computer Science. A few system oriented courses too have been included with extra emphasis on implementation. A list of courses offered in the MSc Computer Science programme is given below. For a detailed listing of the topics covered under each course, please see MSc Computer Science Programme Prospectus.

This Scheme of Instrutions gives the exhaustive list of courses taught in the MSc degree programme right from its inception in 2008.

Program outcome

  1. Inculcate critical thinking to carry out scientific investigation objectively without being biased with preconceived notions.
  2. Equip the student with skills to analyze problems, formulate an hypothesis, evaluate and validate results, and draw reasonable conclusions thereof.
  3. Prepare students for pursuing research or careers in industry in mathematical sciences and allied fields
  4. Imbibe effective scientific and/or technical communication in both oral and writing.
  5. Continue to acquire relevant knowledge and skills appropriate to professional activities and demonstrate highest standards of ethical issues in mathematical sciences.
  6. Create awareness to become an enlightened citizen with commitment to deliver one’s responsibilities within the scope of bestowed rights and privileges.

Program Specific Outcome

  1. Understanding the theoretical underpinnings in computing and computing systems.
  2. Knowledge of the synergy between s/w and h/w through the study of computer architecture, compilers, and systems programming.
  3. Knowledge about storage, organization, and manipulation of structured data.
  4. Knowledge and application of various algorithms, algorithmic methods, and data structures in solving computational problems drawn from various fields such computer graphics, computational geometry, distributed systems, data mining, mobile computing.
  5. Understand the linkages that optimization has with machine learning, deep learning, data mining, computer vision etc
  6. Knowledge of complexity classes and its appearance in algorithm design.
  7. Develop workable solutions for problems drawn either from social context or from research corpus.
  8. Develop s/w applications for handheld devices in Android.
  9. Use software development tools, software systems in modern computing platforms.
  10. Communicate computer science concepts, designs, and solutions effectively and professionally.

MSc Course Curriculum

Theoretical Computer Science

  • Automata Theory
  • Discrete Mathematics and Logic
  • Introduction to Probability
  • Theory of NP-Completeness
  • Computational Complexity
  • Probability and Stochastic processes


  • Analysis of Algorithms
  • Graph Algorithms
  • Computational Geometry
  • Computer Graphics(*)
  • Introduction to Discrete Optimization
  • Advanced Data structures
  • Approximation and Online algorithms
  • Machine Learning
  • Data Mining

Programming and Systems

  • Concepts of Programming Languages.
  • Programming Skill Development Project
  • Object Oriented Programming using Design Patterns
  • Compiler Design
  • Theory of Operating systems
  • Design and Implementation of Database Management System
  • Android Programming for Handheld Devices
  • Distributed Systems
  • Computer Architecture


Project Report Template

  • Summer Project (1st Year)
  • Final Semester Project (2nd Year)

Tentative Courses

  • Web Technologies
  • Design Patterns and Implementation

Laboratory work is a compulsory part of the programme. The academic content has been chosen in order to infuse passion for excellence in the learners and the teachers. Every student is subject to a process of continuous evaluation comprising periodic assignments, quizzes, presentations, group discussions, and of course written examinations. We believe that this comprehensive approach can really motivate the student to strive for cultivation of knowledge with the professional career coming as a by-product.