**The written test will have two parts:**

- Theory – These will be objective questions (MCQ, Fill in the blanks, True/False etc)
- Python Coding – 2 problems that you will be required to write a code for in Basic Python

__Theory Syllabus__

__Theory Syllabus__

**Probability and Statistics**

**– **Counting (permutation and combinations)

– independent events, mutually exclusive events

– marginal, conditional and joint probability

– Bayes Theorem

– conditional expectation and variance

– mean, median, mode and standard deviation

– correlation, and covariance

– random variables, discrete random variables and probability mass functions

– uniform, Bernoulli, binomial distribution

– Continuous random variables and probability

– distribution function, cumulative distribution function, Conditional PDF

– uniform, exponential, Poisson, normal, standard normal, t-distribution

– chi-squared distributions

– Central limit theorem

– confidence interval

– z-test, t-test,chi-squared test.

**Linear Algebra**

– Vector space, subspaces

– linear dependence and independence of vectors

– matrices, projection matrix, orthogonal matrix, idempotent matrix, partition matrix

– quadratic forms

– systems of linear equations and solutions

– Gaussian elimination

– eigenvalues and eigenvectors

– determinant, rank, nullity

– projections

– LU decomposition, singular value decomposition.

**Calculus and Optimization**

– Functions of a single variable

– limit, continuity and differentiability

– Taylor series

– maxima and minima

– optimization involving a single variable.

**Programming, Data Structures and Algorithms**

– Programming in Python

– Basic data structures: stacks, queues, linked lists, trees, hash tables

– Search algorithms: linear search and binary search

– Basic sorting algorithms: selection sort, bubble sort and insertion sort

– Divide and conquer: mergesort, quicksort

– Introduction to graph theory

– Basic graph algorithms: traversals and shortest path

__Coding Syllabus__

__Coding Syllabus__

You will be given some coding tasks that you need to complete and execute by writing Python scripts. To be able to do this you will need to know the following:

– Basic Python syntax – comments, variables, basic data types

– Operators and Control Flow – If/else, for, while, range, break, continue, pass

= Functions – How to define and use them

– Lists/Arrays, Tuples, and associated methods

================================================================

__Interview Topics__

__Interview Topics__

For those who qualify after the written test for the online interview, questions from the following additional topics may be asked during the interview

## For MS/PhD Interviews

**Machine Learning**

– Supervised Learning regression and classification problems

– Simple linear regression

– Multiple linear regression

– Ridge regression

– Logistic regression

– k-nearest neighbour

– Naive Bayes classifier

– Linear discriminant analysis

– Support vector machine

– Decision trees

– Bias-variance trade-off

– Cross-validation methods such as leave-one-out (LOO) cross-validation, k-folds cross-validation, multi-layer perceptron, feed-forward neural network

– Unsupervised Learning: clustering algorithms

**Artificial Intelligence (AI)**

– Search: informed, uninformed, adversarial

– Logic: Propositional Logic, Predicate Logic

– Reasoning under Uncertainty Topics

– Conditional Independence Representation

– Exact Inference through Variable Elimination

– Approximate Inference through Sampling

*PhD applicants may also be asked questions from specialized topics for the interview – They can select a topic from Deep Learning, NLP, Vision, RL, Time-Series modeling depending on their interest and background.*