# Admission Procedure

**Admission Procedure for PhD and MS(R) Admissions November 2017**

** **

**General Instructions:**

· All shortlisted candidates must report at the CS department office at 9:00am on 11 Nov 2017.

· Note that the presence of candidates undergoing the interview process (i.e., those who qualify the written test conducted at IIT Ropar) is required on both November 11 and November 12, 2017.

**Test Scheme:**

· Selection process consists of a written test (consisting of multiple choice questions), followed by one or more round of interviews. Candidates would be screened after written test and after each round of interviews. The interview process may involve written as well as oral component.

· Written test would be for 90 mins. The test would consist of following two sections: (a) Core Computer Science and (b) Advanced Computer Science.

· Section on core computer science would cover topics from Discrete Mathematics, Algorithms, Programming and Data Structures.

· For the section on Advanced Computer Science, the students would be given an option to choose one topic from the following 6 topics: (1) Digital Logic and Architecture, (2) Basic Probability and Linear Algebra, (3) Computer Networks and Operating Systems, (4) Databases and Software Engineering, (5) Digital Image Processing and Vision, (6) Machine Learning and Artificial Intelligence.

**Syllabus for the Core Computer Science Topics**

1. **Discrete Mathematics:** Sets, relations, functions, partial orders and lattices. Graphs: connectivity, matching, coloring. Combinatorics: counting, recurrence relations.

2. **Algorithms:** Searching, sorting, hashing. Asymptotic worst-case time and space complexity. Algorithm design techniques: greedy, dynamic programming and divide‐and‐conquer. Graph search, minimum spanning trees, shortest paths.

3. **Programming and Data Structures: **Programming in C, Recursion, Arrays, Stacks, Queues, Linked lists, Trees, Binary search trees, Binary heaps, Graphs.

**Syllabus for the Advanced Computer Science Topics:**

**1 ****Digital Logic and Architecture: **Boolean algebra. Combinational and sequential circuits. Minimization. Number representations and computer arithmetic (fixed and floating point). Machine instructions and addressing modes. Processor design: ALU, data‐path and control unit. Instruction pipelining. Memory hierarchy: cache, main memory, virtual memory and secondary storage; I/O interface (interrupt and DMA mode).

2 **Basic Probability and Linear Algebra: **Random variables. Uniform, normal, exponential, poisson and binomial distributions. Mean, median, mode and standard deviation. Conditional probability and Bayes theorem. **Linear Algebra:** Vector Spaces, Dimension, Basis, Linear independence and Dependence, Linear Transformations, Matrices, Null Space, column space, row space. Understanding the solution of Ax=B, Gram Schmidt's Orthogonalization process.

3 **Computer Networks and Operating Systems:** Concept of layering. LAN technologies (Ethernet). Flow and error control techniques, switching. IPv4/IPv6, routers and routing algorithms (distance vector, link state). TCP/UDP and sockets, congestion control. Application layer protocols (DNS, SMTP, POP, FTP, HTTP). Basics of Wi-Fi. Network security: authentication, basics of public key and private key cryptography, digital signatures and certificates, firewalls. **Operating Systems:** Inter-process communication, Concurrency and Synchronization, Processes, Threads, Deadlocks, CPU scheduling, Memory Management, Virtual Memory and File Systems.

**4 ****Databases and Software Engineering:** Relational Data-model, SQL, Integrity constraints, Normal forms (1NF, 2NF, 3NF, BCNF), File organization in databases and Index structures (B and B+ trees). **Software Engineering: **Professional software development, Software engineering ethics, Case studies, Software process models, Process activities, Coping with change, Process improvement, Agile methods, Agile development techniques, Agile project management, Scaling agile methods, Functional and non-functional requirements, Requirements engineering processes, Requirements elicitation, Requirements specification, Requirements validation, Requirements change, Context models, Interaction models, Structural models, Behavioral models, Model-driven engineering, Architectural design decisions, Architectural views, Architectural patterns, Application architectures, Object-oriented design using the UML, Design patterns, Implementation issues, Open source development, Development testing, Test-driven development, Release testing, User testing, Software Evolution: Evolution processes, Legacy systems and Software maintenance

5 **Digital Image Processing and Vision**: Digital Image Fundamentals, Image Enhancement - Spatial Domain, Image Enhancement - Frequency Domain, Intensity & Geometric Transformations, Image Segmentation, Image Compression, Image Restoration, Morphological Image Processing, Projective Geometry, Camera Models, Calibration, Shadows & Shading, Edge Detection/Feature Extraction, Image Alignment / Warping, 3D structure/ motion estimation, Feature point tracking, Object Recognition

6 **Machine Learning and Artificial Intelligence:**search techniques (both tree and graph), linear regression, logistic regression, decision trees, multi-layer perceptrons.