Algorithms and Data Structure


Pre-Requisite: None


Course Content/ Syllabus

Models of Computation; representations of algorithms; performance of algorithms: space and time complexity measures, asymptotics, worst case and average case analyses, lower and upper bounds; Operations on data; elementary data structures: linked lists, arrays, matrices, stacks, queues, binary trees, trees, heaps; tree traversals; linear search and binary search; priority queues: lists and heaps; Sorting algorithms; analysis of sorting algorithms; lower bound for sorting. Search Trees: binary search trees, AVL trees, B-trees; Graphs: representations, depth-first search, breadth-first search, connectivity, shortest paths, matching; Hashing: separate chaining, linear probing, quadratic probing; Algorithm design techniques: the greedy method, divide-and-conquer, dynamic programming, backtracking, branch and bound, local search; Priority Queues: heaps, binomial heaps. Numerical algorithms; Complexity classes P, NP, PSPACE; reducibility, NP-hard and NP-complete problems.



1. M. A. Weiss, Data Structures and Algorithm Analysis in C++, 4th Edition, Pearson, 2014.

2. T. H. Cormen, C. F. Leiserson, R. L. Rivest, C. Stein, Introduction to Algorithms, 3rd Edition, MIT Press, Prentice Hall of India, 2009.



1. A. V. Aho, J. Hopcroft, J. D. Ullman, Data Structures and Algorithms, Addison- Wesley, 1983.

2. A. V. Aho, J. Hopcroft, J. D. Ullman, The Design and Analysis of Algorithms, Addison-Wesley, 1974.




Algorithms and Data Structure Lab


Pre-Requisite: CS110


Course Content/ Syllabus

Programming Laboratory will be set in consonance with the material covered in DA211. The programming assignments could be in object-oriented programming languages like C++ or Java or Python.



1.J. Gosling, B. Joy, G. L. Steele and G. Bracha, The Java Language Specification, Java SE 8 Ed., Addison-Wesley, 2014.

2. B. Stroustrup, The C++ Programming Language, 4th Ed., Addison-Wesley Longman Reading MA, 2013.

3. S. B. Lippman, J. Lajoie, B. E. Moo, C++ Primer, 5th Ed., Addison-Wesley, 2013.

4. M. A. Weiss, C++ for Java Programmers, Pearson/Prentice Hall, 2004.

5. M. C. Daconta, Java for C/C++ programmers, John Wiley & Sons, 1996.

6. M. Lutz, Learning Python, 5th Edition, O'Reilly, 2013.



Discrete Mathematics


Pre-Requisite: None


Course Content/ Syllabus

Foundations: sets, operations on relations and functions, closures, countability, cardinal numbers, mathematical induction, structural induction, partial orders, Hasse diagrams, lattices, Boolean algebras, Boolean functions, fuzzy sets, operations on fuzzy sets and fuzzy relations. Logic: connectives, formulae, normal forms, implications and derivations in propositional logic; predicates, quantifiers, interpretations, prenex normal form, derivations and resolution in predicate logic, representation of natural language sentences and checking the validity. Combinatorics: permutation, combinations, enumeration, inclusion-exclusion, recurrences, generating functions, solutions of recurrences. Graphs and trees: basics of graphs and digraphs, subgraphs, isomorphism, special classes of graphs, connectedness, Euler and Hamilton paths, planar graphs, graph colouring, colouring theorems, trees, counting in trees, matching.



1. W. K. Grassmann and J. P. Tremblay, Logic and Discrete Mathematics: A Computer Science Perspective, Pearson Edn. Inc, 2007.

2. J. L. Mott, A. Kandel and T. P. Baker, Discrete Mathematics for Computer Scientists & Mathematicians, 2nd Ed., Pearson Edn. India, 2015.

3. K. H. Rosen, Discrete Mathematics and Its Applications with Combinatorics and Graph Theory, 7th Ed., McGraw-Hill, 2017.



1. J. P. Tremblay and R. Manohar, Discrete Mathematics with Applications to Computer Science, Tata McGraw-Hill, 1997.

2. Kumar, S. Kumaresan and B. K. Sarma, A Foundation Course in Mathematics, Narosa, 2018.

3. J. Kelly, The Essence of Logic, Pearson, 2011.

4. Tucker, Applied Combinatorics, 6th Ed., Wiley, 2012.

5. S. M. Cioaba and M. Ram Murty, A First Course in Graph Theory and Combinatorics, Hindustan Book Agency, 2009.




Introduction to Data Science


Pre-Requisite: None


Course Content/ Syllabus

Overview of Data Science, Data Science task workflow; Programming: basics of R, Data Science libraries, Data Science platforms and competitions. Data collection and management: Nature of data sets; Multimodal data, structured and unstructured data; Data collection and curation; Concepts in data management: XML and JSON file formats, basics of SQL; Data cleaning, exploration, plots: Reading and exporting data, cleaning data; Exploratory data analysis: Missing values, Outlier detection, Data Transformation. Model building, training, evaluation: Machine Learning Task Workflow, train/validation/test set preparation, Linear regression and Bayes Classifier; Model training and performance analysis. Data storytelling; Model deployment and maintenance. Real-world applications to showcase data science task workflow.



1. Rafael A. Irizarry, Introduction to Data Science: data analysis and prediction algorithms with R, 1/e, CRC Press, 2019.

2. G. James, D. Witten, T. Hastie, and R. Tibshirani, An Introduction to Statistical Learning: with Applications in R, 2/e, Springer, 2021.



1. J. Grus, Data science from scratch: first principles with python, 2/e, O’Reilly Media, 2019.

2. C. O'Neil and R. Schutt, Doing Data Science: Straight Talk from the Frontline, 1/e, O'Reilly Media, 2013.

3. E. Alpaydin, Introduction to Machine Learning, 3/e, Prentice Hall (India), 2015.

4. H. Wickham and G. Grolemund, R for Data Science: Import, Tidy, Transform, Visualize, and Model Data, 1/e, O’Reilly Media, 2017.

5. A. Burkov, The Hundred-page Machine Learning Book, 1/e, Notion Press, 2019.

6. L. Igual and S. Seguí, Introduction to Data Science: A Python Approach to Concepts, Techniques and Applications, 1/e, Springer, 2017.

7. D. J. Hand, H. Mannila, and P. Smyth, Principles of Data Mining, 1/e, Prentice Hall (India), 2004.

8. R. O. Duda, P. E. Hart, and D. G. Stork, Pattern Classification, 2/e, Wiley India, 2007.




Statistical Foundations for Data Science


Pre-Requisite: None


Course Content/ Syllabus

Elements of descriptive statistics, averages, dispersion, skewness, quantiles; graphical displays, pie charts, bar charts, histograms, scatter plots, box plots, steam and leaf plots. Probability spaces, conditional probability, independence; Random variables, distribution functions, probability mass and density functions, functions of random variables, standard univariate discrete and continuous distributions; Mathematical expectations, moments, moment generating functions, inequalities; Multidimensional random variables, joint, marginal and conditional distributions, conditional expectations, independence, covariance, correlation, standard multivariate distributions, functions of multidimensional random variables; Forms of convergence, law of large numbers, central limit theorem.

Sampling distributions; Point estimation - estimators, minimum variance unbiased estimation, maximum likelihood estimation, method of moments estimation, Cramer -Rao inequality, consistency; Interval estimation; Testing of hypotheses - tests and critical regions, Neymann-Pearson lemma, uniformly most powerful tests, likelihood ratio tests. Linear regression, ANOVA, discriminant analysis. Computing techniques, cross-validation, bootstrap re-sampling.



1. Hogg, R.V., McKean, J. and Craig, A.T., Introduction to mathematical statistics, 7th edition, Pearson Education, 2012.

2. Rice, J.A., Mathematical statistics and data analysis. 3rd edition, Cengage Learning, 2006.



1. Wasserman, L., All of statistics: a concise course in statistical inference, Volume 26, New York Springer, 2004.

2. Rohatgi, V.K. and Saleh, A.M.E., An introduction to probability and statistics, 3rd edition, John Wiley & Sons, 2015.

3. DeGroot, M.H. and Schervish, M.J., Probability and statistics, 4th edition, Pearson Education, 2010.



Signals, Systems & Networks


Pre-Requisite: None


Course Content/ Syllabus

Continuous and discrete time signals: properties of signals and various signal operations; Signal representation: signal space and orthogonal bases, Fourier series representation of continues time signals, Fourier transform; Sampling theorem: aliasing, signal reconstruction, ideal interpolation, zero and first order hold; Discrete Time Fourier Transform (DTFT), Discrete Fourier Transform (DFT) and their properties; Laplace Transform; Z-transform. Classification of systems and system properties; Linear Time Invariant (LTI) system: continuous and discrete time; Time domain representation of LTI system: Impulse and step response, convolution and response to arbitrary input; Frequency response of LTI systems. Overview of electrical networks, Node and mesh analysis, superposition, Thevenin's theorem, Norton’s theorem, reciprocity. Sinusoidal steady state analysis: phasor representation, complex power, maximum power transfer, Time and frequency domain analysis of linear bilateral networks, application Laplace transform; Linear 2-port network parameters.



1. A.V. Oppenheim, A. S. Willsky, and H. S. Nawab, Signals and Systems, 2/e, Pearson, 2015.

2. M. E. Van Valkenberg, and T. S. Rathore, Network Analysis, Revised 3/e, Pearson, 2019.



1. M. J. Roberts, Fundamentals of Signals and Systems, Tata McGraw Hill, 2007.

2. B. P. Lathi, Linear Systems and Signals, 2/e, Oxford University Press, 2006.

3. S. Haykin and B. Van Veen, Signals and Systems, John Wiley and Sons, 1998.

4. W. H. Hyat, J. E. Kemmerly, and S. M. Durbin, Engineering Circuit Analysis, 6/e, Tata McGraw Hill, 2006.