Course structure for M.Tech in CB
Coursework in M. Tech – Computational Biology program will strive for rigorous training in theoretical and computational approaches (for solving biological problems) and includes algorithms and programming, fundamentals of biology, genetics and bioinformatics, systems and synthetic biology, mathematical modeling, structural bioinformatics, stochastic simulations, statistical data analysis and biophysics. Training in practical problems
will be provided through summer internship and thesis work. The program will focus on strengthening key computer science capabilities needed for solving biology problems, and in developing skills in bio-informatics, techniques for modeling biological systems, analysis approaches for biological data, etc.
In this program, students are required to complete 32 credits in academic courses and 16 credits for industrial or research internship during 3 and 4 semesters, in total 48 credits . As this is an interdisciplinary program, it will have basic courses in Computing and Biology to build the foundations in the two disciplines. The courses will be added as the program evolves.
REFRESHER COURSE (Before the start of SEMESTER 1):
- Data Structures and Algorithms This course is aimed at giving students a revision of concepts in C, followed by basic data structures and algorithms concepts. The major focus will be on covering important data structure(lists, stacks, queues), commonly applied algorithms(Quicksort & Merge sort, Heaps & Priority Queue, Heap sort, Linear time sorting), learning simple analysis and File Handling, Problem solving, Trees and Graphs
- Cell biology and Biochemistry This refresher course conducted for M.Tech students in computational biology on Cell biology and Biochemistry is divided into three parts: (i) Understanding qualitative and quantitative aspects of cell biology and biochemistry (ii) Understanding basics of linear algebra and calculus and (iii) Programming in MATLAB.
- Introduction to Mathematical Biology (Core)
The aim of this course is to introduce mathematics as applied in quantitative study of biological systems. Both exact and numerical solution of differential equations (ordinary and partial) will be discussed. Dynamical systems theory based analysis will be taken up. We will use these mathematical tools to address problems in basic biology as well as in technological applications. Application of ODE and PDE based approaches in biological / clinical data analysis will be emphasized throughout the course.
- Foundations of Modern biology (Core)
This is the foundational course for the M.Tech program in computational biology. This course aims to cover the basics of molecular biology and traditional classical genetics, which are the two pillars of modern biology (Other two being cell biology and biochemistry, and these are extensively covered in refresher course). While the molecular biology part will be qualitative in nature, the classical genetics part will be quantitative, where students will learn to use the techniques from probability and statistics to predict the occurrence of various phenotypes.
- Algorithms of Computational Biology (Core)
This course is an advanced form of an introductory algorithms course, and is meant to have a thorough grounding in core Algorithms required for pursuing PG degree in Computational Biology. The course covers topics such as asymptotic notation, recurrence relation, graph algorithms, heaps, dynamic programming, greedy algorithms, divide and conquer, NP-completeness. This course also covers Special Reading on Bioinformatics Algorithms.
- Object oriented programming and design (Core)
It is a postgraduate level core course in advanced programming, designed to improve programming skills, and ability to use contemporary software development practices and tools. The course curriculum focuses on large software development, collaborative development environment, automatic testing and deployment, common libraries and continuous integration. It also aims to enhance the quality of design in terms of scalability and maintainability with design principles and design patterns. Along with course, students get an opportunity to learn development tools like IDEs and common frameworks.
- Systems and Synthetic Biology (Core)
This course will provide design principles governing biological networks. This includes introducing network motifs like feed forward and feedback loops that occurs recurrently in biological networks, gene regulatory networks, signal transduction network, chemotaxis, robustness and evolvability and introduction to mathematical modeling of these phenomena.
- Scientific communication (Core)
This course focuses on improving the skills of scientific reading, writing, presentation, and carrying out literature review for research. In particular, students practice scientific writing via short assignments. They are provided with exercises on research paper reading along with writing short critiques on research papers read. Students will practice on presentation skills and on conducting literature review.
- Molecular Modeling and Biological Physics (Elective)
This course will provide an introduction to various techniques adopted in molecular modeling and computational biology and illustration of how these techniques may be used to study different biological phenomena. A major objective is to introduce molecular mechanics and molecular simulation techniques such as Molecular Dynamics (MD) and Monte Carlo (MC) methods to sample conformational space. The analysis of simulation results and how the thermodynamic and kinetic behavior of the systems of interest can be extracted will be discussed through statistical mechanics approach. These techniques are widely used to study interactions of biomolecules at various degrees of details and the knowledge of which provides critical insights in designing de novo drug molecules to combat lethal diseases.
- Stochastic Simulations in Systems Biology and Biophysics (Elective)
This course will introduce students to stochastic simulation techniques as used in solving problems in biology and immunology. Topics include theoretical basis of stochastic simulations, master equations, Monte Carlo simulations (as a tool to obtain solution of master equations), stability of steady states in a stochastic setting and single cell data analysis. Emphasis will be on kinetic Monte Carlo approaches that capture stochastic dynamics and cell-to-cell variability. We will discuss how single cell approaches (including single cell genomics) are utilized in addressing important biomedical problems (such as in personalized medicine).
- Data science for genomics (Elective)
This course will cover an introduction to genetics/genomics, microarray and sequencing technologies, various types of genomics data available and current computational/statistical methods used for analyzing the data to answer questions in functional and clinical genomics. Methods from both open source tools in R/Bioconductor and commercial tool (Strand NGS, developed by Strand Life Sciences) will be discussed. We will cover concepts and methods for the analysis of microarray gene expression data and sequencing data with a special focus on analysing DNA sequencing data for clinical diagnostics applications.
- GPU computing (Elective)
This course will introduce parallel computing paradigms with focus on GPGPU programming to harness the massively parallel GPU architecture in solving computationally demanding tasks. The NVIDIA CUDA and industry standard OpenCL frameworks will be introduced and used with most of the labs. This is a project based course where the students will work on scientific computational problems.
- Probabilistic graph models (Elective)
This course will introduce the basic concepts of probabilistic graphical models. The topic is a regular course at multiple places. The proposed course will be loosely based upon the contents at Stanford, Caltech and MPI. Graphical Models are unified framework that allows expressing complex probability distributions in a compact way. Many machine learning applications are tackled by the use of these models.
- Big data analytics (Elective)
With the various technological advances in processing power, storage capability and increase in number of users at Internet, a lot of data is being generated. It demands for effective and sophisticated knowledge discovery methods for converting information into intelligence to help in making smart business decisions. The course on big data analytics would focus on learning and using algorithms and techniques for extracting information from large datasets such as web, social networks and document repositories. This course will be a project-based learning course and students will work on some real life practical problems.
Student will be required to do a thesis in Computational Biology (either academic research or Industrial internship) for 16 credits. Aims of this thesis work are: (i) enhance problem solving ability in students, (ii) introduce them to the cutting-edge research at the interface of biological sciences and computer science, and, (iii) allow them to work on problems of practical significance in the biomedical field.
- Computational Neuroscience (Elective)
This course will introduce students to the human nerve cell and the analytical mathematical models used to describe the a) mechanism of generation and propagation of action potential, b) the excitability and bursting of neurons. In the second part of the course, students will be introduced the basics of functional and structural magnetic resonance imaging (MRI), fMRI experiment design and fMRI data analysis. At the end of this course students will be able to build and analyze simple neuronal systems and provide biological meaning to the mathematical models of neurons.
- Introduction to Biosimulations (Elective)
In modern computer science, software engineering, and other fields, probability, statistics and simulations play an integral role to understand complex network. The level of complexity and uncertainty is even higher in biological systems and hence these techniques are equally relevant and important in computational biology. From a broad perspective various distributions (probability) and their study comes under Statistical Mechanics (SM), which also act as the key step to understand simulations. This course will introduce the concept of basic SM and simulations and how that can be applied to study biomolecules such as proteins, DNA etc. A major portion of the course will discuss different distributions, testing their significance, calculating associated errors in estimating the average property.
- Practical bioinformatics (Elective)
- Machine learning (Elective) The course will introduce graduate students to concepts in machine learning. This course is designed to cover the theory and practice of machine learning from a variety of perspectives. The assignments, critiques and projects will include applications ranging from game theory to pattern classification. Critiques will be focused towards reading classic machine learning papers and then critiquing them. Seminars will be used to evaluate and improve their ability to understand and present a technical paper. The project component of this course will test the student's ability to design and evaluate classifiers on appropriate datasets.
- Complex systems (Elective)
- Biostatistics (Elective)
- Introduction to Biology and its Quantitative Modeling (IBQM) (Elective)
This course will provide a broad overview of some of the important areas of biology and its quantitative modeling. Physical aspects of biological processes will be discussed in the context of biological problem solving. Some simple mathematical and computational tools will be taken up to carry out quantitative analysis of biological systems. Aspects of this course will focus on elucidating how biological systems are engineered. Part of the learning will be achieved through study of important papers and class discussions. Assignments and project work will include quantitative modeling and data analysis for biological processes (using MATLAB and c/c++).