DS 200 (AUG) 0:1 Research Methods
Faculty
This course will develop the soft skills required for the CDS students. The modules (each spanning 3 hours) that each student needs to complete include: Seminar attendance, literature review, technical writing (reading, writing, reviewing), technical presentation, CV/resume preparation, grant writing, Intellectual property generation (patenting), incubation/startup opportunities, and academia/industry job search.
Compulsory for all CDS students and all modules needs to be completed by all students (more information)
DS 201 (AUG) 2:0 Bioinformatics
K. Sekar and D. Pal
Unix utilities, overview of various biological databases (Protein Data Bank, structural classification of proteins, genome database and Cambridge structural database for small molecules), introduction to protein structures, introduction to how to solve macromolecular structure using various biophysical methods, protein structure analysis, visualization of biological macro molecules, data mining techniques using protein sequences and structures. short sequence alignments, multiple sequence alignments, genome alignments, phylogenetic analysis, genome contextbased methods, RNA and transcriptome analysis, mass spectrometry applications in proteome and metabolome analysis, molecular modeling, protein docking and dynamics simulation. Algorithms, scaling challenges and order of computing in big biological data.
Prerequisites: Undergraduate level familiarity in Physics, Chemistry and Maths.
*C. Branden and J. Tooze (eds) Introduction to Protein Structure, Garland, 1991
*Mount, D.W., Bioinformatics: Sequence and Genome Analysis, Cold. Spring Harbor Laboratory Press, 2001.
*Baxevanis, A.D., and Ouellette, B.F.F. (Eds), Bioinformatics: A practical guide to the analysis of the genes and proteins, WileyInterscience, 1998
DS 202 (Jan) 2:1 Algorithmic Foundations of Big Data Biology (www)
Chirag Jain
Overview:
This course will cover computer science techniques involved in the analysis of biological big data. The focus will be on understanding the algorithmic and mathematical foundations of the methods, and how these methods get implemented in associated tools to support biological applications. Handson programming assignments will be offered to appreciate the complexities of real sequencing data.
Syllabus:
(0) Introduction basics of biological data, highthroughput DNA/RNA sequencing and associated biotechnological breakthroughs, data structures and algorithms warmup
(1) Exact string pattern matching: Z algorithm, KnuthMorrisPratt and BoyerMoore
(2) Genomescale index structures: suffix tries and suffix trees, BurrowsWheeler Transform, FMIndex
(3) Approximate string pattern matching: Hamming distance, edit distance, dynamic programming, pairwise and multiple sequence alignment
(4) Alignmentfree sequence comparison: colinear chaining problem, wholegenome comparison
(5) Genome assembly: de Bruijn graphs, overlap graphs, haplotype assembly and phasing
(6) Pattern discovery: Hidden Markov models, gene finding
(7) Phylogenetics – algorithms for evolutionary tree reconstruction, distancebased phylogeny, neighbourjoining algorithm
(8) Trending topics – cancer genomics, deep learning in genomics, transcriptomics, singlecell omics, population genomics
Prerequisites:
Knowledge of basic data structures, algorithms, programming experience, and DS221 (or) DS201 (or) E0251 (or) E0225 (or) consent from the Instructor
References:
· Gusfield, Dan. “Algorithms on stings, trees, and sequences: Computer science and computational biology.” Acm Sigact News 28.4 (1997): 4160.
· Durbin, Richard, et al. Biological sequence analysis: probabilistic models of proteins and nucleic acids. Cambridge university press, 1998.
· Jones, Neil C. and Pavel Pevzner. An introduction to bioinformatics algorithms. MIT press, 2004.
· Mäkinen, Veli, et al. Genomescale algorithm design. Cambridge University Press, 2015.
· Aluru, Srinivas, ed. Handbook of computational molecular biology. CRC Press, 2005.
DS 211 (AUG) 3:0 Numerical Optimization
Deepak Subramani
Introduces numerical optimization with emphasis on convergence and numerical analysis of algorithms as well as applying them in problems of practical interest. Topics include: Methods for solving matrix problems and linear systems that arise in the context of optimization algorithms. Major algorithms in unconstrained optimization (e.g., modified Newton, quasiNewton, steepest descent, nonlinear conjugate gradient, trustregion methods, line search methods), constrained optimization (e.g., simplex, barrier, penalty, sequential gradient, augmented Lagrangian, sequential linear constrained, interior point methods), derivativefree methods (e.g., simulated annealing, Bayesian optimization, Surrogateassisted optimization), dynamic programming, and optimal control.
Prerequisites: Basic knowledge of Numerical Methods, linear algebra, and/or consent from the advisor
*Numerical Optimization, J. Nocedal and S. Wright, Springer Series in Operations Research and Financial Engineering, 2006.
*Linear Programming with MATLAB, M. Ferris, O. Mangasarian, and S. Wright, MPSSIAM Series on Optimization, 2007.
* Practical Methods of Optimization by R. Fletcher 2nd edition, Wiley, 1987.
DS 221 (AUG) 3:1 Introduction to Scalable Systems (www)
Sathish Vadhiyar and Yogesh Simmhan
Architecture: computer organization, singlecore optimizations including exploiting cache hierarchy and vectorization, parallel architectures including multicore, shared memory, distributed memory and GPU architectures; Algorithms and Data Structures: algorithmic analysis, overview of trees and graphs, algorithmic strategies, concurrent data structures; Parallelization Principles: motivation, challenges, metrics, parallelization steps, data distribution, PRAM model; Parallel Programming Models and Languages: OpenMP, MPI, CUDA; Distributed Computing: Commodity cluster and cloud computing; Distributed Programming: MapReduce/Hadoop model.
Prerequisites: Basic knowledge of system science and/or consent from the advisor
* Parallel Computing Architecture. A Hardware/Software Approach. David Culler, Jaswant Singh. Publisher: Morgan Kauffman. ISBN: 9814033103. 1999.
* Parallel Computing. Theory and Practice. Michael J. Quinn. Publisher: Tata: McGrawHill. ISBN: 0070495467. 2002.
* Computer Systems – A Programmer’s Perspective. Bryant and O’Hallaron. Publisher: Pearson Education. ISBN: 8129700263. 2003.
* Data Structures, Algorithms, and Applications in C++, 2nd Edition, Sartaj Sahni
* Introduction to Parallel Computing. Ananth Grama, Anshul Gupta, George Karypis, Vipin Kumar. Publisher: Addison Wesley. ISBN: 0201648652. 2003.
* An Introduction to Parallel Programming. Peter S Pacheco. Publisher: Morgan Kauffman. ISBN: 9789380931753. 2011.
* Online references for OpenMP, MPI, CUDA
* Distributed and Cloud Computing: From Parallel Processing to the Internet of Things, Kai Hwang, Jack Dongarra and Geoffrey Fox, Morgan Kaufmann, 2011
* DataIntensive Text Processing with MapReduce, Jimmy Lin and Chris Dyer, 2010
DS 222 (AUG) 3:1 Machine Learning with Large Datasets
P P Talukdar
Streaming algorithms and Naive Bayes, fast nearest neighbor, parallel perceptrons, parallel SVM, randomized algorithms, hashing, sketching, scalable SGD, parameter servers, graphbased semisupervised learning, scalable link analysis, largescale matrix factorization, speeding up topic modeling, big learning and data platforms, learning with GPUs.
Prerequisites: Prior exposure to machine learning.
* Mining of Massive Dataset. Jure Leskovec, Anand Rajaraman, Jeff Ullman
* Scaling up Machine Learning: Parallel and Distributed Approaches. Ron Bekkerman, Mikhail Bilenko, John Langford
* Foundations of Data Science. Avrim Blum, John Hopcroft, Ravi Kannan
* Research literature
DS 226 (AUG) 2:1 Introduction to Computing for AI & Machine Learning
Sashikumaar Ganesan
This course is aimed at building the foundation of computational thinking with applications to Artificial Intelligence and Machine learning (AI&ML). Besides, how to build a neural network and how to train, evaluate and optimize it with TensorFlow will also be covered in this course.
Topics:
Programming Foundation: Fundamentals of digital storage of data,Performance of a computer, Caches, Debugging and Profiling, Basic optimization techniques for serial codes.
Introduction to Object oriented programming: Object and Data Structure Basics, Python Statements, Methods and Functions,
Objectoriented programming (OOP): Inheritance,Encapsulation, Abstraction, Polymorphism. OOP concepts in Python. OOP concepts in C++. Python tools for Data Science: Pandas, NumPy, Matplotlib, ScikitLearn, JustinTime(JIT) compilers, Numba
Computational Thinking: Arrays, MatrixVector, Matrix multiplication, Solving dense andsparse systems. Basic machine learning algorithms.
Deep Learning with Opensource AI/MLPackages: Tensors,Tensor Flow basics, mlpack, Interface to mlpack, Simple statistics and plotting, Loading and exploring data, Learning with Tensor Flow and Keras, Miniproject.
Prerequisites: Basic knowledge of mathematics, data structures, and algorithms.
Textbooks:
1. John Hennessy David Patterson. Computer Architecture .A Quantitative Approach. 6th edition,Morgan Kauffman, 2017. https://www.elsevier.com/books/computerarchitecture/hennessy/9780128119051
2. Shaw, Zed A.Learn python 3 the hard way: A very simpleintroduction to the terrifyinglybeautiful world of computers and code. AddisonWesleyProfessional, 2017.
3. Aurélien Géron, HandsOn Machine Learning with ScikitLearn,Keras, and TensorFlow, 2ndEdition, O’Reilly Media, Inc. 2019
DS 244 (JAN) 2:1 Hardwareaware Scientific Computing
Sashikumaar Ganesan
This course is focused on building hardware aware hybrid parallel libraries for Exascale computing. It is at the intersection of Computer architecture, Objectoriented parallel programming and Numerical algorithms.
Topics:
Parallel Computer Architecture: Fundamentals of Parallel Multicore Architecture, Communication networks. Debugging and Profiling, GDB, Profiling with GProf.
Hybrid Parallel Programming Models: Shared Memory Programming basics, OpenMP with accelerator devices, C++ threads, Intel Thread Building Blocks, Messagepassing, MPI with threads, OpenCL, CUDA with multiGPU, CUDAAware MPI, Kokkos, Taskbased programming, StarPU, MPI+X programming model.
Parallel Algorithms: Speedup & scalability, Roofline model, Performance measurements, Likwid. Computational LinearAlgebra, Sparse linear algebra; Iterative Solution of Linear Sparse Systems: SELLCsigma, Varying precision algorithms. HighPerformance Libraries: MAGMA, MANDALA.
Course Plan: https://indianinstituteofscience.sharepoint.com/sites/hasc
Prerequisites: Good knowledge of C/C++ and Consent from the instructor
Textbooks:
1. Frédéric Magoules, FrançoisXavier Roux, GuillaumeHouzeaux. Parallel Scientific Computing,Wiley, 2016, doi: 10.1002/9781118761687
2. Georg Hager, Gerhard Wellen. Introduction to HighPerformance Computing for Scientists andEngineers. CRC Press, 2010.
3. John Hennessy David Patterson. Computer Architecture.A Quantitative Approach. 6th edition,Morgan Kauffman, 2017. https://www.elsevier.com/books/computerarchitecture/hennessy/9780128119051
4. Ananth Grama, Anshul Gupta, George Karypis, VipinKumar. Introduction to ParallelComputing. 2nd edition, Benjamin/Cummings, 2003.https://wwwusers.cs.umn.edu/~karypis/parbo
DS 250 (JAN) 3:1 Multigrid Methods
Sashikumaar Ganesan
Classical iterative methods, convergence of classical iterative methods, Richardson iteration method, Krylov subspace methods: Generalized minimal residual (GMRES), Conjugate Gradient (CG), BiCG method. Geometric Multigrid Method: Grid transfer, Prolongation and restriction operators, twolevel method, Convergence of coarse grid approximation, Smoothing analysis. Multigrid Cycles: Vcycle, Wcycle, Fcycle, convergence of multigrid cycles, remarks on computational complexity. Algebraic Multigrid Method: Hierarchy of levels, Algebraic smoother, Coarsening, Interpolation, remarks on parallel implementation.
Prerequisites: Good knowledge of Linear Algebra and/or consent from the instructor.
* Pieter Wesseling, An Introduction to Multigrid Methods, R.T. Edwards, Inc., 2004.
* William L. Briggs, Van Emden Henson and Steve F. McCormick, A Multigrid Tutorial, SIAM, 2nd edition, 2000.
DS 252 (AUG) 3:1 Cloud Computing
Yogesh Simmhan
Context: Shared/distributed memory computing; Data/task parallel computing; Role of Cloud computing.
Technology: Cloud Virtualization, Elastic computing; Infrastructure/Platform/Software as a Service (IaaS/PaaS/SaaS); Public/Private Clouds; Service oriented architectures; Mobile, Edge and Fog computing; Multiclouds.
Application Design Patterns: Workflow and dataflow; Batch, transactional and continuous; Scaling, locality and speedup; Cloud, Mobile and Internet of Things (IoT) applications.
Execution Models: Synchronous/asynchronous patterns; Scale up/Scale out; Data marshalling/unmarshalling; Load balancing; stateful/stateless applications; Performance metrics; Consistency, Availability and Partitioning (CAP theorem).
Programming project using public Cloud infrastructure, e.g. Amazon AWS, Microsoft Azure Cloud resources provided.
Prerequisites: Data Structures, Programming and Algorithm concepts. Programming experience.
* Distributed and Cloud Computing: From Parallel Processing to the Internet of Things, Kai Hwang, Jack Dongarra and Geoffrey Fox, Morgan Kaufmann, 2011
* Current literature.
DS 255 (JAN) 3:1 System Virtualization
J. Lakshmi
Virtualization as a construct for resource sharing; Reemergence of virtualization and it’s importance for Cloud computing; System abstraction layers and modes of virtualization; Mechanisms for system virtualization – binary translation, emulation, paravirtualization and hardware virtualization; Virtualization using HAL layer – Exposing physical hardware through HAL (example of x86 architecture) from an OS perspective; System bootup process; Virtual Machine Monitor; Processor virtualization; Memory Virtualization; NIC virtualization; Disk virtualization; Graphics card virtualization; OSlevel virtualization and the container model; OS resource abstractions and virtualization constructs (Linux Dockers example) ; Virtualization using APIs – JVM example.
Prerequisites: Basic course on operating systems and consent of the instructor.
* J. Smith, R. Nair, Virtual Machines: Versatile Platforms for Systems and Processess, Morgan Kaufman, 2005.
* D. Bovet, M. Casti, Understanding the Linux Kernel, Third Edition, O’Reilly, 2005.
* Wolfgang Mauerer, Linux Kernel Architecture, Wiley India, 2012.
* D. Chisnall, The Definitive Guide to the Xen Hypervisor, Prentice Hall, 2007
* R. Bryant, D. O’Hallaron, Computer Systems: A Programmer’s Perspective (2nd Edition), Addison Wesley, 2010
* Current literature.
DS 256 (JAN) 3:1 Scalable Systems for Data Science
Yogesh Simmhan
Design of distributed program models and abstractions, such as MapReduce, Dataflow and Vertexcentric models, for processing volume, velocity and linked datasets, and for storing and querying over NoSQL datasets.
Approaches and design patterns to translate existing dataintensive algorithms and analytics into these distributed programming abstractions.
Distributed software architectures, runtime and storage strategies used by Big Data platforms such as Apache Hadoop, Spark, Storm, Giraph and Hive to execute applications developed using these models on commodity clusters and Clouds in a scalable manner.
This course has a handson project where students will work with real, large datasets and commodity clusters, and use scalable algorithms and platforms to develop a Big Data application.
Prerequisites: Data Structures, Programming and Algorithm concepts with strong programming experience, and DS 221 (or) DS 222 (or) DS 252 (or) consent from the Instructor
* DataIntensive Text Processing with MapReduce, Jimmy Lin and Chris Dyer, 2010
* Mining of Massive Datasets, Jure Leskovec, Anand Rajaraman and Jeff Ullman, 2nd Edition (v2.1), 2014.
* Current literature
DS 260 (JAN) 3:0 Medical Imaging
Phaneendra K Yalavarthy
Xray Physics, interaction of radiation with matter, Xray production, Xray tubes, dose, exposure, screenfilm radiography, digital radiography, Xray mammography, Xray Computed Tomography (CT). Basic principles of CT, single and multislice CT. Tomographic image reconstruction, filtering, image quality, contrast resolution, CT artifacts. Magnetic Resonance Imaging (MRI): brief history, MRI major components. Nuclear Magnetic Resonance: basics, localization of MR signal, gradient selection, encoding of MR signal, T1 and T2 relaxation, kspace filling, MR artifacts. Ultrasound basics, interaction of ultrasound with matter, generation and detection of ultrasound, resolution. Doppler ultrasound, nuclear medicine (PET/SPECT), multimodal imaging, PET/CT, SPECT/CT, oncological imaging, medical image processing and analysis, image fusion, contouring, segmentation, and registration.
Prerequisites: Basic knowledge of system theory and Consent from the instructor.
* Bushberg, J.T., Seibert, J.A., Leidholdt, E.M. Jr., and Boone, J.M., The Essential Physics of Medical Imaging, Second Edn, Lippincott Williams and Wilkins Publishers, Philiadelphia, 2002.
* Wolbarst, A.B., Physics of Radiology, Second Edn, Medical Physics Publishing, Madison, WI, 2005.
* Current Literature
DS 263 (AUG) 3:1 Video Analytics
R. Venkatesh Babu, Anirban Chakrabarty and Arjun Jain
Revisit to Digital Image and Video Processing, Camera Models, Background Modelling, Object Detection and Recognition, Local Feature Extraction, Biologically Inspired Vision, Object Classification, Segmentation, Object Tracking, Activity Recognition, Anomaly Detection, Handling Occlusion, Scale and Appearance changes, Other Applications.
Prerequisites: Image Processing, Probability, Linear Algebra.
* Richard Szeliski, Computer Vision: Algorithms and Applications, Springer 2010
* Forsyth, D.A., and Ponce, J., Computer Vision: A Modern Approach, Pearson Education, 2003.
* Current Literature
DS 265 (JAN) 3:1 Deep Learning for Computer Vision
R. Venkatesh Babu and Anirban Chakrabarty
Computer vision – brief overview; Machine Learning – overview of selected topics ; Introduction to Neural Networks, Backpropagation, Multilayer Perceptrons ; Convolutional Neural Networks ; Training Neural Networks ; Deep Learning Software Frameworks ; Popular CNN Architectures ; Recurrent Neural Networks ; Applications of CNNs Classification, Detection, Segmentation, Visualization, Model compression ; Unsupervised learning ; Generative Adversarial Networks.
Prerequisites: Basic knowledge of Computer Vision and Machine Learning, Proficiency in Python, C/C++.
 Current Literature
DS 269 (JAN) 2:1 Computational Methods for Reacting Flows
Aditya Konduri
Course description: This is an advanced elective course for research students. The first part of this course would train students in developing detail chemistry based reacting flow solvers, specifically relevant to combustion processes. Dimensionality reduction concepts coupled with neural networks for parametrising thermochemical properties that would significantly lower computational costs will be introduced. The second part of the course focuses on data analysis methods for combustion datasets. Both standard and machine learning based analyses methods would be covered. In addition to the theoretical background, the course would involve programming of a onedimensional solver and handson data analysis exercises.
Topics

Solver design:
 Governing equations: conservation of mass, momentum, energy and species. Low mach number and fully compressible formulations. Nondimensional numbers. (1 week)
 Discretisation methods: finite difference and finite volume. (1 weeks)
 Elements of a solver development: initial and boundary conditions, simulation algorithms, verification and validation (3 weeks)
 Dimensionality reduction: principal component analysis, higher order moment tensors (1 week)
 Regression methods for thermochemical coefficients (1.5 weeks)
Introduction to chemical kinetics: global and elementary reactions, Arrhenius equation, chemical time scales, stiffness. (1 week)

Data analytics:
 DNS database analysis: premixed and nonpremixed turbulent flames, modes of combustion, flame structure, turbulencechemistry interactions, chemical explosive mode analysis (3.5 weeks)
 Machine learning based analysis: flame surface extraction, detection of combustion instabilities (2 weeks)
Prerequisites: Basic knowledge in combustion (AE 241 or equivalent), numerical methods for differential equations (DS 289 or equivalent) and machine learning (E0 229 or equivalent), or a consent from the instructor. Good proficiency in programming.
Evaluation: assignments, paper presentation, project, final exam.

Reference Text books:
 An Introduction to Combustion, Stephen R. Turns, McGraw Hill, 2011.
 Theoretical and numerical combustion, Thierry Poinsot and Denis Veynante, RT Edwards Inc., 2005.
 DataDriven Science and Engineering: Machine Learning, Dynamical Systems, and Control content, J. Nathan Kutz and Steven L. Brunton, Cambridge University Press, 2019.
 Research papers, material/notes provided by instructor.
DS 284 (AUG) 2:1 Numerical Linear Algebra (Join Course Page for Aug 2021 Term)
Phani Motamarri
A foundational course on computational linear algebra and is fundamental to computational and data science research conducted in many emerging scientific disciplines including AI/ML.
Topics include: Matrix and vector norms, floating points arithmetic, forward and backward stability of algorithms, conditioning of a problem, perturbation analysis, Solving linear systems, Gaussian elimination, LU factorization, Pivoting, Cholesky decomposition, Iterative refinement, QR factorization, GramSchmidt orthogonalization, Projections, Householder reflectors, Givens rotation, Singular Value Decomposition, Rank and matrix approximations, image compression using SVD, Least squares and least norm solution of linear systems, pseudoinverse, normal equations, Eigenvalue problems, Gershgorin theorem, Similarity transform, Eigenvalue & eigenvector computations and sensitivity, Power method, Schur decomposition, QR iteration with & without shifts, Hessenberg transformation, Rayleigh quotient, Symmetric eigenvalue problem, Computing the Singular Value Decomposition, GolubKahanReinsch algorithm, Chan SVD algorithm, Krylov subspace methods: Lanczos, Arnoldi, MINRES, GMRES, Conjugate Gradient.
Prerequisites: Basic knowledge of multivariate calculus and elementary real analysis
* Biswa Nath Datta, Numerical Linear Algebra and Applications, 2nd Edition, 2004
* Lloyd N. Trefethen and David Bau, III, Numerical linear algebra, SIAM, 1997.
* C. G. Cullen, An Introduction to numerical linear algebra, Charles PWS Publishing, 1994.
* David C. Lay, Linear Algebra and its Applications, Pearson, 2013.
* Golub, G., Van Loan C.F., Matrix Computation, John Hopkins, 1996.
* Saad, Y., Iterative Methods for Sparse Linear Systems, Second Edition, SIAM, 2003
DS 288 (AUG) 3:0 Numerical Methods (Equivalent to UE 201 : Introduction to Scientific Computing)
Sashikumaar Ganesan/Phaneendra K Yalavarthy
Root finding: Functions and polynomials, zeros of a function, roots of a nonlinear equation, bracketing, bisection, secant, and NewtonRaphson methods. Interpolation, splines, polynomial fits, Chebyshev approximation. Numerical Integration and Differentiation: Evaluation of integrals, elementary analytical methods, trapezoidal and Simpson’s rules, Romberg integration, Gaussian quadrature and orthogonal polynomials, multidimensional integrals, summation of series, EulerMaclaurin summation formula, numerical differentiation and estimation of errors. Optimization: Extremization of functions, simple search, NelderMead simplex method, Powell’s method, gradientbased methods, simulated annealing. Complex analysis: Complex numbers, functions of a complex variable, analytic functions, conformal mapping, Cauchy’s theorem. Calculus of residues. Fourier and Laplace Transforms, Discrete Fourier Transform, z transform, Fast Fourier Transform (FFT), multidimensional FFT, basics of numerical optimization.
Prerequisites: Basic knowledge of multivariate calculus and elementary real analysis
* Richard L. Burden and J. Douglas Faires, Numerical Analysis: Theory and Applications, India Edition, Cengage BrooksCole Publishers, 2010.
* Press, W.H., Teukolsky, S.A., Vetterling, W.T., and Flannery, B.P., Numerical Recipes in C/FORTRAN, Prentice Hall of India, New Delhi, 1994.
* Borse, G.J., Numerical Methods with MATLAB: A Resource for Scientists and Engineers, PWS Publishing Co., Boston, 1997.
DS 289 (JAN) 3:1 Numerical Solution of Differential Equations
Aditya Konduri
Ordinary differential equations: Lipschitz condition, solutions in closed form, power series method. Numerical methods: error analysis, stability and convergence, Euler and RungeKutta methods, multistep methods, AdamsBashforth and AdamsMoulton methods, Gear’s open and closed methods, predictorcorrector methods. SturmLiouville problem: eigenvalue problems, special functions, Legendre, Bessel, and Hermite functions. Partial differential equations: classification, elliptic, parabolic and hyperbolic PDEs, Dirichlet, Neumann and mixed boundary value problems, separation of variables, Green’s functions for inhomogeneous problems. Numerical solution of PDEs: relaxation methods for elliptic PDEs, CrankNicholson method for parabolic PDEs, LaxWendroff method for hyperbolic PDEs. Calculus of variations and variational techniques for PDEs, integral equations. Finite element method and finite difference time domain method, method of weighted residuals, weak and Galerkin forms, ordinary and weighted/general least squares. Fitting models to data, parameter estimation using PDEs.
Prerequisites: Basic course on numerical methods and consent of the instructor.
* Arfken, G.B., and Weber, H.J., Mathematical Methods for Physicists, Sixth Edition, Academic Press, 2005.
* Press, W.H., Teukolsky, S.A., Vetterling, W.T., and Flannery, B.P., Numerical Recipes in C/FORTRAN – The art of Scientific Computing, Second Edn, Cambridge University Press, 1998.
* Lynch, D.R., Numerical Partial Differential Equations for Environmental Scientists and Engineers – A First Practical Course, Springer, New York, 2005.
DS 290 (AUG) 3:0 Modelling and Simulation
Soumyendu Raha
Statistical description of data, datafitting methods, regression analysis, analysis of variance, goodness of fit. Probability and random processes, discrete and continuous distributions, Central Limit theorem, measure of randomness, Monte Carlo methods. Stochastic Processes and Markov Chains, Time Series Models. Modelling and simulation concepts,Discreteevent simulation: Event scheduling/Time advance algorithms verification and validation of simulation models. Continuous Simulation: Modelling with and Simulation of Stochastic Differential Equations
Prerequisites: Basic course on numerical methods and consent of the instructor.
* Banks, J., Carson, J.S., and Nelson, B., DiscreteEvent System Simulation, Second Edn, Prentice Hall of India, 1996.
* Francois E. Cellier, Ernesto Kofman, Continuous System Simulation, Springer, 2006, ISBN: 0387261028.
* Peter E. Kloden, Eckhard Platen, Numerical Solutions of Stochastic Differential Equations, Springer, Verlog, 1999.
* Peter E. Kloden, Eckhard Platen, Henri Schurz, Numerical Solution of SDE through Computer Experiments, Springer Verlog, 1994
DS 291 (AUG) 3:1 Finite Elements: Theory and Algorithms
Sashikumaar Ganesan
Generalized (weak) derivatives, Sobolev norms and associated spaces, innerproduct spaces, Hilbert spaces, construction of finite element spaces, mapped finite elements, two and threedimensional finite elements,Interpolation and discretization error, variational formulation of second order elliptic boundary value problems, finite element algorithms and implementation for linear elasticity, MindlinReissner plate problem, systems in fluid mechanics
Prerequisites: Good knowledge of numerical analysis along with basic programming background and/or consent from the instructor.
* Sashikumaar Ganesan, Lutz Tobiska: Finite elements: Theory and Algorithms, CambridgeIISc Series, Cambridge University Press, 2017
* Dietrich Braess, Finite Elements: Theory, Fast Solvers, and Applications in Solid Mechanics, Cambridge University Press, 3rd ed., 2007.
* Susanne C. Brenner, Ridgway Scott, The Mathematical Theory of Finite Element Methods, SpringerVerlag, 3rd ed., 2008.
* Current literature
DS 294 (JAN) 3:0 Data Analysis and Visualization
Anirban Chakraborty
Data preprocessing, data representation, data reconstruction, machine learning for data processing, convolutional neural networks, visualization pipeline, isosurfaces, volume rendering, vector field visualization, applications to biological and medical data, OpenGL, visualization toolkit, linear models, principal components, clustering, multidimensional scaling, information visualization.
Prerequisites: Basic knowledge of numerical methods and consent from instructor
* Hansen, C.D., and Johnson, C.R., Visualization Handbook, Academic Press, 2004.
* Ware, C., Information Visualization: Perception for Design, Morgan Kaufmann, Second Edn, 2004.
* Current literature
DS 295 (JAN) 3:1 Parallel Programming (www)
Sathish Vadhiyar
Parallel Algorithms: MPI collective communication algorithms including prefix computations, sorting, graph algorithms, GPU algorithms; Parallel Matrix computations: dense and sparse linear algebra, GPU matrix computations; Algorithm models: Divideandconquer, Meshbased communications, BSP model; Advanced Parallel Programming Models and Languages: advanced MPI including MPI2 and MPI3, advanced concepts in CUDA programming; Scientific Applications: sample applications include molecular dynamics, evolutionary studies, NBody simulations, adaptive mesh reinements, bioinformatics; System Software: sample topics include scheduling, mapping, performance modeling, fault tolerance.
Prerequisites: Introduction to Scalable Systems course (or)
Students are expected to be prepared on the slides that will be provided on introduction to parallel computing, OpenMP, MPI, CUDA.
* Parallel Computing. Theory and Practice. Michael J. Quinn. Publisher: Tata: McGrawHill. ISBN: 0070495467. 2002.
* Introduction to Parallel Computing. Ananth Grama, Anshul Gupta, George Karypis, Vipin Kumar. Publisher: Addison Wesley. ISBN: 0201648652. 2003.
* An Introduction to Parallel Programming. Peter S Pacheco. Publisher: Morgan Kauffman. ISBN: 9789380931753. 2011.
* Online references for OpenMP, MPI, CUDA
* Literature: relevant conference and journal papers.
DS 299 0:28 Dissertation Project
This includes the analysis, design of hardware/software construction of an apparatus/instruments and testing and evaluation of its performance. The project work is usually based on a scientific/engineering problem of current interest. Every student has to complete the work in the specified period and should submit the Project Report for final evaluation. The students will be evaluated at the end first year summer for 4 credits. The split of credits term wise is as follows 0:4 Summer, 0:8 AUG, 0:16 JAN.
DS 303 (AUG) 2:0 Chemoinformatics
Debnath Pal
Exploring current chemoinformatics resources for synthetic polymers, pigments, pesticides, herbicides, diagnostic markers, biodegradable materials, biomimetics. Primary, secondary and tertiary sources of chemical information. Database search methods: chemical indexing, proximity searching, 2D and 3D structure and substructure searching. Introduction to quantum methods, combinatorial chemistry (library design, synthesis and deconvolution), spectroscopic methods and analytical techniques. Analysis and use of chemical reaction information, chemical property information, spectroscopic information, analytical chemistry information, chemical safety information. Representing intermolecular forces: ab initio potentials, statistical potentials, forcefields, molecular mechanics. Monte Carlo methods, simulated annealing, molecular dynamics. High throughput synthesis of molecules and automated analysis of NMR spectra. Predicting reactivity of biologically important molecules, combining screening and structure ‘SAR by NMR’. Computer storage of chemical information, data formats, OLE, XML, web design and delivery.
Prerequisites: Basic knowlege of chemistry and background in Maths.
* Current Scientific Literature and Web lectures: Lectures posted online.
* Maizell, R.E., How to find Chemical Information: A guide for Practicing Chemists, Educators, and students, John Wiley and Sons, 1998. ISBN 0471125792.
* Gasteiger, J., and Engel, T., Chemoinformatics. A Textbook, WileyVCH, 2003. ISBN: 3527306811
DS 305 (AUG) 3:1 Topics in Webscale Knowledge Harvesting
P P Talukdar
Entity extraction, entity normalization, entity categorization, relation extraction, distant supervision, curriculum learning, knowledge base (KB) inference, open information extraction (OpenIE), temporal inference,ontology evolution, bootstrapped learning, learning from limited supervision in KBs, scalable learning and inference over large datasets for KB construction, recent KB construction systems, multilingual knowledge acquisition, knowledge acquisition from multiple modalities, representation learning for knowledge harvesting.
Prerequisites: Basic knowledge of machine learning and/or natural languageprocessing will be helpful although not mandatory.
Current Literature.
DS 323 (AUG) 1:1 Parallel Computing for Finite Element Methods
Sashikumaar Ganesan
This course will provide an introduction to parallel finite element data structure and its efficient implementation in ParMooN (Parallel Mathematics and object oriented Numerics), an open source parallel finite element package. Further, the implementation of the parallel (MPI/OpenMPI) geometric multigrid solver will also be taught. Parallel finite element solution of scalar and incompressible NavierStokes equations in two and threedimensions using ParMooN (cmg.cds.iisc.ac.in/parmoon/) will also be a part of this course..
Prerequisites: Good knowledge of finite element methods and C/C++.
 Sashikumaar Ganesan, Lutz Tobiska: Finite elements: Theory and Algorithms, CambridgeIISc Series, Cambridge University Press, 2017
 An Introduction to Parallel Programming. Peter S Pacheco. Publisher: Morgan Kauffman. ISBN: 9789380931753. 2011
 Current literature
DS 360 (JAN) 3:0 Topics in Medical Imaging
Phaneendra K Yalavarthy
Threedimensional Medical Image Processing, Medical Image reconstruction using high performance computing, General Purpose Graphics Processing Units (GPGPU) computing for Medical Image processing, reconstruction, and Analysis, Computer Aided Detection (CAD) systems – Algorithms, Analysis, Medical Image Registration: rigid and nonrigid registration, Volume based image analysis, Medical Image Enhancement: Deblurring techniques, Fourdimensional Medical Imaging, Molecular Imaging, Diffuse Optical Tomography, and Medical Image Informatics.
Prerequisites: DS 260 or E9 241 or consent from the Instructor.
* Current Literature
DS 391 (JAN) 3:0 Data Assimilation to Dynamical Systems
Soumyendu Raha
Quick introduction to nonlinear dynamics: bifurcations, unstable manifolds and attractors, Lyapunov exponents, sensitivity to initial conditions and concept of predictability. Markov chains, evolution of probabilities (FokkerPlanck equation), state estimation problems. An introduction to the problem of data assimilation (with examples) Bayesian viewpoint, discrete and continuous time cases Kalman filter (linear estimation theory) Least squares formulation (possibly PDE examples) Nonlinear Filtering: Particle filtering and MCMC sampling methods. Introduction to Advanced topics (as and when time permits): Parameter estimation, Relations to control theory, Relations to synchronization.
Prerequisites: Consent from the Instructor.
* Edward Ott, Chaos in Dynamical Systems, Camridge press, 2nd Edition, 2002.(or one of the many excellent books on dynamical systems)
* Van Leeuwen, Peter Jan, Cheng, Yuan, Reich, Sebastian, Nonlinear Data Assimilation, Springer Verlag, July 2015.
* Sebastian Reich, Colin Cotter, Probabilistic Forecasting and Bayesian Data Assimilation, Cambridge University Press, August 2015
* Law, Kody, and Stuart, Andrew, and Zygalakis, Konstantinos, Data Assimilation, A Mathematical Introduction, Springer Texts in Applied Mathematics, September 2015.
DS 392 (JAN) 3:1 Environmental Data Analytics
Deepak Subramani
The course introduces and trains students in different Data Analytics techniques used in the Geosciences including Machine Learning and Deep Learning algorithms. Emphasis is laid on understanding the algorithms as well as using them in practice. The course is designed as research case studies from Ocean Modeling, Remote Sensing and Study of the Natural Environment with significant handson activity. At the end of the course, students would be able to recognize, model and solve geoscience problems that require application of data analytics methods.
Syllabus: DataDriven Modelling in the Geosciences: Problem Formulation and Computational Modeling Approaches. Handling and Analysing Spatiotemporal Geoscience Data (Remote Sensing, Insitu instruments, Primitive Equation Models). [1 Week]
Handson Applications of Supervised (Linear Methods, Nonlinear Methods) and Unsupervised Learning (Clustering, Dimensionality Reduction) in Environmental Analytics. [5 Weeks]
Handson Applications of Deep Learning (MultiLayer Perceptron, Convolutional and Recurrent Architectures) in Remote Sensing of the Natural Environment. [3 Weeks]
Bayesian Inference and Data Assimilation for Physicsbased Dynamic Datadriven Environmental Systems. [3 Weeks]
Reinforcement Learning for Ocean Sensing. [2 Weeks]
Prerequisites: DS 211 (Numerical Optimization), DS 221 (Introduction to Scalable Systems), DS 284 (Introduction to Numerical Linear Algebra), Consent of Instructor
Evaluation: Case studies based on recent literature and research from QUEST Lab; Fortnightly Quizzes; Coding Competitions (MidTerm and EndTerm); Course Project (which must be suitable for a publication)
Textbooks:
1. Géron, Aurélien. Handson machine learning with ScikitLearn, Keras, and TensorFlow: Concepts, tools, and techniques to build intelligent systems. Second Edition. O’Reilly Media, 2019.
2. Särkkä, Simo. Bayesian Filtering and Smoothing. Cambridge University Press, 2013.
3. Murphy, Kevin P. Machine Learning: A Probabilistic Perspective. MIT Press, 2012.
4. Recent Literature, Selected Chapters, Material/Notes Provided by Instructor
DS 393 (JAN) 3:1 Highperformance computing for Quantum Modeling of Materials
Phani Motamarri
Course Description: This is an advanced elective course for research students. The course is designed to train research students with the relevant theory, numerical algorithms and implementation aspects underlying the stateoftheart computational techniques for quantum modelling of materials. Emphasis will be laid on the computational methods pertinent to today’s exascale era. Students will be exposed to research problems in the broad area of quantum modelling of materials that require a paradigm shift in the design and implementation of computational methods to exploit the extreme levels of parallelism offered by today’s heterogeneous architectures. At the end of the course, students will appreciate key computational and implementation aspects relevant to behindthescene algorithms of blackbox codes used for quantum modelling of materials.
Syllabus:
Review of classical mechanics and postulates of quantum mechanics, Manybody Schrodinger equation, System of identical articles, Notion of Slater Determinant, Hartree Fock Theory, Density Functional Theory equations (DFT), PAW formalism for pseudopotential DFT, Density Functional Perturbation Theory.(3 weeks)
Review of stateoftheart numerical discretization strategies for electronic structure calculations — Plane waves, Atomicorbital basis sets, LAPW approach, Finitedifference, Finiteelements (2.5 weeks)
Iterative eigenvalue algorithms for largescale electronic structure calculations — Davidson type methods, Preconditioned Conjugate Gradient methods, LOBPCG approach, Chebyshev filtered subspace iteration (2 weeks)
Scalable methods for DFT using finiteelements (DFTFE) — Review of variational calculus, Local realspace variational formulation for DFT, Smeared floating charge approach, Finiteelement discretization of DFT equations, Mixed precision subspace filtering approach for FE discretized eigenproblem on hybrid CPUGPU architectures, Handson DFTFE code exercises (4 weeks)
Configurational force approach for atomic forces and stresses — Notion of generalized forces and its application for DFT functional, Computationally efficient evaluation of atomic forces and stresses in a finite element setting (2.5 weeks)
Prerequisites: Background in Numerical Methods/Linear Algebra/Parallel programming/Quantum Mechanics and/or consent from instructor
Evaluation: Periodic Quizzes, student presentations on the above topics, Case studies based on research conducted at MATRIX lab at CDS, Course Project
Textbooks:
 Richard M Martin, Electronic Structure – Basic Theory and Practical Methods, Second Edition, Cambridge University Press, 2020.
 Zhaojun Bai, James Demmel, Jack Dongorra, Axel Ruhe — Templates for the
Solution of Algebraic Eigenvalue Problems, A Practical Guide, SIAM Publishers http://www.netlib.org/utk/people/JackDongarra/etemplates/index.html  Morton E. Gurtin — Configurational Forces as Basic Concepts of Continuum Physics
 Research Papers, Material/Notes Provided by Instructor
DS 397 (JAN) 2:1 Topics in Embedded Computing
S K Nandy
Introduction to embedded processing, dataflow architectures, architecture of embedded SoC platforms, dataflow process networks, compiling techniques/optimizations for stream processing, architecture of runtime reconfigurable SoC platforms, simulation, design space exploration and synthesis of applications on runtime reconfigurable SoC platforms, additional topics including but not limited to computation models for coarse grain reconfigurable architectures (CGRA), readings and case study of REDEFINE architecture, compiler backends for CGRAs.
Prerequisites: Basic knowledge of digital electronics, computer organization and design, computer architecture, data structures and algorithms, and consent of instructor.
* Current literature.