MTech (CSE) at JIIT: Curriculum 2013

Posted on September 17, 2013

0


Author: Sanjay Goel,

http://in.linkedin.com/in/sgoel

_______________________________________

This year a new curriculum has been developed at JIIT.  The last curriculum revision was undertaken in 2007.

1.             Excerpts from the Preamble of the Ordinance for MTech Programs at JIIT, Noida

The objective of the M.Tech program is;

  1. to promote specialized or inter-disciplinary work of an advanced nature,
  2. to bring into the Institute recently generated knowledge that has either already become part of the world of work or has the potential to become part of this world,
  3. to attract the best student talent for higher studies and,
  4. to build requisite academic flexibility for a student-centric programme in which students can learn at their own pace and which enables interaction with the professional world.

The output profile of an M.Tech graduate of this Institute will be as follows:

Students should be specialists in their area of specialization having the capability to conceive new systems/applications. They should possess some of the following characteristics.

  1. Independence in work and thoughts.
  2. Ability to engineer requirement/system to carry out systems integration.
  3. Ability to explore the latest technology and its applications.
  4. Be a technology manager.
  5. Capability to deploy appropriate technology paradigm for given tasks.
  6. Ability to form and lead teams. .
  7. Ability to build convincing technical cases for approval / demonstration of initial ideas by conducting experiments and forming examples.

2.             Incoming students:  BE/BTech (CSE/IT) based on GATE or PGET conducted by JES. The incoming students normally have an undergraduate level understanding of most of the basic computer science & engineering courses like programming, discrete maths, data structures, algorithms, digital electronics, computer organisation and architecture, database systems, operating systems, computer networks, theory of computing, compiler design, software engineering, etc. In addition, they have studied some undergraduate level maths courses exposing them to topics like matrices, probability, differential equations, and complex variables, etc.

3.             Curriculum Structure:   As per the new approved curriculum structure, in addition to the 6 core courses, we also have slots for 6 electives, 2 Lab courses, 1 project, 1 seminar, and a dissertation spread over two semesters. The slots other than the core courses can be used to develop specialization, and also offer training and exposure in contemporary and emerging areas.

4.             Proposed Objective of the MTech (CSE):   To develop the competencies to plan, design, develop, deploy, manage, and evaluate complex computing systems and applications with special focus on performability.

5.             Pedagogy:  In order develop these competencies, conceptual understanding will be complimented with skills in contemporary tools and standards. Multidimensional pedagogical engagements will facilitate deep learning through active, integrated, collaborative, and reflective learning experiences. The courses will place a high emphasis on assignments and project work.

6.             Proposed Core courses:

6.1     Criteria for choosing Core courses: The chosen core courses should:

  1. elaborate unifying and pervasive themes directly relevant to a large number of CS sub-streams, and facilitate integrated learning
  2. focus on themes with deep theoretical foundations and contemporary practical relevance,  especially wrt the emerging R&D work in Indian IT industry
  3. lay the second level breadth foundation for PhD in CS, include  themes from the three main categories of CS body of knowledge – Theory, Systems, and Applications
  4. not have significant overlap with JIIT BTech (CSE) courses keeping in mind the interest of Dual Degree BTech-MTech students

6.2     List of Core Theory Courses:  Using above criteria, the following 6 Theory courses form the core:

i.    Advanced Data Structures and Computational Thinking: 

Advanced data structures: String data structures, Red Black Tree, Tournament Tree, Splay Tree, Tries, Indexing trees for large scale databases, Priority search queues, Spatial and Multidimensional data structures (pyramid, kd tree, quad tree, octree, R tree, bsp tree, region adjacency graph, etc.), Kinetic data structures

Philosophy of CS – Fundamental questions of CS, traditions of CS (logico-mathematical view, design/ engineering view, empirical/scientific view), emerging interdisciplinarity

Unifying and pervasive themes of CS, – abstraction, complexity, sequentiality, concurrency, synchronization, caching, consistency, completeness, state, system/quality metrics, performance, scalability, limits, load balancing, locality, non-determinism, prevention/detection/recovery of worst case scenarios through exception handling, error correction, redundancy, damage containment, tradeoffs and consequences, power consumption

  ii.  High Performance Software Engineering:

Software performance requirements, Software risk taxonomy, Performance oriented software architecture, SOA, design patterns; Performance, load and stress testing; Performance programming – assertions, debugging, profiling, build and release management,  productivity tools, program comprehension, code organisation,   code analysis & optimisation, cache conscious programming,  secure coding, reducing resource requirements, performance tuning, shared memory and hybrid parallel programming with multi-core and GPU as examples,  mixed language & mixed paradigm programming

  iii.   Pattern Recognition and Machine Learning:

Mathematical Foundations, Bayesian decision theory, principal component analysis and dimension reduction, parametric and non-parametric learning, association and clustering, nearest neighbour indexing and hashing,  boosting techniques, kernel methods and support vector machine, Time series analysis, HMM, optimisation,  cross validation, model selection and regularization, large scale data analytics, performance metrics.

    iv.   Distributed Systems:

Foundation of Distributed Computing, Synchronization mechanisms, Resource Management, Distributed programming, Self Stabilizing Systems, Peer to Peer Systems, Fault Tolerance, Distributed Grids and Cloud Computing,  Data Consistency, Data Replication and failures; Distributed Database Design, Distributed Transactions, Web Services, Hadoop, Reliability of Distributed DBMS, performance metrics

     v.  Advanced Algorithms:

Amortized Analysis, NP Completeness; String Algorithms, Cryptography, Randomized and Approximation Algorithms; Optimization, Nature inspired algorithms; Large Graph Algorithms, Parallel Algorithms, Web Algorithms

      vi.   Performance Evaluation of Computing Systems:

Performance metrics for computer architecture, operating systems, computer networks, databases, software systems, and security infrastructure – computational speed, response time, throughput, accuracy,  availability, reliability, integrity, safety, usability, scalability, quality of service, maintainability, serviceability, energy & resource efficiency, sustainability;

Analytical tools for performance evaluation – workload characterisation, input modelling, deterministic and nondeterministic systems, discrete event simulation – probability distributions,  random number generation, queuing systems, Markovian models; reliability models, maintainability models, energy models

Empirical performance evaluation – Performance testing,  Test benches, Benchmarks (types, strategies, and tools for computer architecture, operating systems, computer networks, databases, software systems, security infrastructure, etc.), Reliability Testing, System validation.

6.3     List of Core Lab courses:

  1. High Performance Programming Lab
  2. Software Systems Lab

7.   Electives

  1. Complexity Theory and Models of Computation
  2. Randomized and Approximation Algorithms
  3. Algorithmic Graph Theory
  4. Computer Arithmetic Algorithms
  5. Parallel Architecture and Algorithms
  6. Advanced Operating Systems
  7. Database System Implementation
  8. Programming Languages
  9. Compiler Optimisation
  10. Multimedia and Wireless Computer Networks
  11. Wireless Sensor and Actuator Networks
  12. Embedded Systems Design
  13. Nature Inspired Computing
  14. Enterprise Information Systems
  15. Data Compression
  16. Cryptography and Computer Security
  17. Security Protocols
  18. Computer Forensics
  19. Intelligent Systems
  20. Information Integration and Data Analytics
  21. Large Scale Graph Algorithms
  22. Web Algorithms
  23. Mobile and Pervasive Computing
  24. Mobile Commerce and Applications
  25. Mobile  Software Engineering
  26. Advanced Mobile and Cloud Computing
  27. Software  Requirement Engineering
  28. Empirical Software Engineering
  29. 3D Graphics and Animation
  30. Multimedia Systems
  31. Computer Vision
  32. Biometrics
  33. Computational Geometry
  34. Semantic and Social Web
  35. Human Centred  System  Design
  36. Interactive Media
  37. Computer Supported Collaborative Work
  38. Learning Technologies
  39. Knowledge Management Systems
  40. Educational Models for Computer Science
  41. Problem Solving and Research Methodology
  42. Quantitative and Qualitative Research Methods
  43. IT  Entrepreneurship
  44. ICT and Sustainable Development
  45. Technical  Communication and Software Documentation
  46. Topics in Information Systems
  47. Topics in Software Engineering
  48. Topics in Computer Engineering
  49. Topics in Theoretical Computer Science
  50. Topics  in  Information Technology

Acknowledgements: 

  1. Prof. Rao Vemuri, University of California, Davis, USA
  2. Prof. Sartaj Sahni, University of Florida, USA
  3. Prof. Rajeev Sangal, Director,  IIT (BHU), India
  4. Prof. Pankaj Jalote, Director, IIIT Delhi, India
  5. Prof. SK Gupta, IIT Delhi, India
  6. Prof. Sushil K. Prasad, Georgia State University, USA
  7. Prof. Mainsh Parashar, Rutgers University, USA
  8. Prof. Dinesh Manocha, UNC Chapel Hill, USA
  9. Prof. Prem Kalra, IIT Delhi, India
  10. Prof. Vasudev Verma, Dean, IIIT Hyderabad, India
  11. Dr. Sumantra Dutta Roy, IIT Delhi, India
  12. Mr. Mukul Jain, COO, MTree, India (VP, ACM NCR chapter;  regular employer of our students)
  13. Mr. Ajay Goel, AVP, Engineering, Aricent, Gurgaon, India
  14. Mr. Sandesh Goel, Technical Leader, CISCO, India (inventor with 20+ patents)
  15. Mr. Siddharth Batra, Alumnus of JIIT and Stanford University, Entrepreneur, USA
Advertisements
Posted in: Uncategorized