| Course | Name | Semester/Source | Description |
| ESC101 | Fundamentals of Computing | I | Concepts of Programming in C, along with basic Data Structures and Algorithms |
| MTH102 | Linear Algebra | II | Basic concepts of linear algebra with a deeper insight into Eigen Vectors and Eigen Values |
| CS201 | Discrete Mathematics | III | Introduction to Proofs, Combinatorics, Graphs, and Probabilty and Number Theory |
| CS202 | Logic in Computer Science | III | Basics of Verifying and Proving computer algorithms using Logics |
| ESO208 | Numerical Methods in Engineering | III | Bsics methods of Regression, Splines and Function Approximation, along with Multi-variate Equation solving |
| ESO207 | Data Structures and Algorithms | IV | Discussion of different data structures and algorithms of Competitive Programming |
| CS220 | Computer Organization | IV | Detailed analysis of Computer Architecture, Assembly Languages and Parallel Processing |
| ML101 | Course in Machine Learning by Andrew NG | Coursera | Brief introduction to topics and algorithms used in machine learning |
| MSO201 | Probabilty and Statistics | IV | A look into Probability and Probabilistic Analysis of different Distributions |
| CS330 | Operating Systems | V | A brief introduction to the design of modern Operating Systems and their working |
| CS345 | Algorithms II | V | Advanced look into algorithms, solving problems using algorithms and analysis of algorithms |
| CS340 | Theory of Computation | V | A brief discussion on language models and introduction to the theory of computational complexity |
| CS771 | Introduction to Machine Learning | V | Introduction to various techniques in Supervised and Unsupervised Machine Learning and introduction to Probabilistic Machine Learning |
| CS772 | Probabilistic Machine Learning | Audit | Probabilistic Analyisis of Various Machine Learning Algorithms and brief introduction to various Sampling and Approximation Techniques |
| CS345 | Compiler Design | VI | Introduction to concepts in Compiler Designing and overview of parsing programming languages |
| CS671 | Natural Language Processing | VI | Introduction to Natural Language Processing. Discussion of various text representations and learning algorithms for NLP tasks |
| CS777 | Statistical and Algorithmic Learning Theory | VI | Introduction to Statistical Analyisis of Machine Learning algorithms. Discussion of convergence bounds and complexity classes |
| CS772 | Probabilistic Modelling and Inference | VII | |
| CS425 | Computer Networks | VII | |
| CS685 | Data Mining | VII |