Computer - Science - and - Engineering - 2023-NITW Syllabus
Computer - Science - and - Engineering - 2023-NITW Syllabus
VISION
Towards a Global Knowledge Hub, striving continuously in pursuit of excellence in Education,
Research, Entrepreneurship and Technological services to the society
MISSION
• Imparting total quality education to develop innovative, entrepreneurial and ethical future
professionals fit for globally competitive environment.
• Allowing stake holders to share our reservoir of experience in education and knowledge for
mutual enrichment in the field of technical education.
• Fostering product-oriented research for establishing a self-sustaining and wealth creating
centre to serve the societal needs.
VISION
Attaining global recognition in Computer Science & Engineering education, research and training to
meet the growing needs of the industry and society.
MISSION
• MS1: Imparting quality education through well-designed curriculum in tune with the challenging
software needs of the industry.
• MS2: Providing state-of-art research facilities to generate knowledge and develop technologies in the
thrust areas of computer science and engineering.
• MS3: Developing linkages with world class organizations to strengthen industry- academia
relationships for mutual benefit.
Department of Computer Science and Engineering
Department of Computer Science and Engineering:
Brief about the Department:
The Department of Computer Science and Engineering was established in the year 1991. The department
offers high quality undergraduate, postgraduate and doctoral programs. The B. Tech. (Computer Science
and Engineering) program was started in the year 1983 with an intake of 20 students. The intake was
subsequently increased to 120 in 2008. M. Tech (Computer Science and Engineering) program was
started in 1987 with an intake of 18 and subsequently increased to 20 in 2008. M. Tech (Information
Security) was introduced in the year 2008 Under ISEAP sanctioned by Ministry of Communication and
Information Technology (MCIT), DOE, GOI, New Delhi with intake of 20. Later, it was renamed as
Computer Science and Information Security. The Master of Computer Applications (MCA) program was
started in 1986 with an intake of 30 and increased to 46 from 2008. B. Tech, M. Tech. (CSE) and M.
Tech. (CSIS) programs were accredited in 2014 by NBA as per Washington Accord.
Note: Refer to the Rules and Regulations for M. Tech. program (weblink) given on the institute
website.
Department of Computer Science and Engineering
M.Tech. – Computer Science and Engineering
Program Educational Objectives
PEO-1 Design, develop and test software systems for engineering applications.
PEO-2 Analyze technical solutions to computational problems and develop efficient
algorithms.
PEO-3 Work in multi-disciplinary teams to specify software requirements and to achieve
project goals.
PEO-4 Communicate effectively and demonstrate professional ethics with societal
responsibilities.
PEO-5 Engage in lifelong learning to keep pace with changing landscape of
technologies for professional advancement.
CURRICULAR COMPONENTS
Degree Requirements for M. Tech. in Computer Science and Engineering
Seminar I and II 02
Comprehensive Viva-voce 02
Total 80
Department of Computer Science and Engineering
SCHEME OF INSTRUCTION
M. Tech. (Computer Science and Engineering) - Course Structure
I – Year, I – Semester
Course Cat.
S. No. Course Title L T P Credits
Code Code
1 CS5101 Advanced Algorithms 3 0 0 3 PCC
2 CS5102 Mathematics for Computer Science 1 1 0 2 PCC
3 CS5103 Advanced Operating Systems 3 0 0 3 PCC
4 CS5104 Data Science Fundamentals 3 0 0 3 PCC
5 CS5105 Advanced Software Engineering 3 0 0 3 PCC
6 CS5106 Machine Learning 3 0 0 3 PCC
7 Elective – 1 3 0 0 3 PEC
8 CS5107 Advanced Operating Systems Lab 0 0 2 1 PCC
9 CS5108 Computational Thinking 0 1 2 2 PCC
Total 19 2 4 23
I – Year, II – Semester
Course Cat.
S. No. Code Course Title L T P Credits Cod
e
1 CS5151 Advanced Computer Networks 3 0 0 3 PCC
2 CS5152 Deep Learning 3 0 0 3 PCC
3 Elective – 2 3 0 0 3 PEC
4 Elective – 3 3 0 0 3 PEC
5 Elective – 4 3 0 0 3 PEC
6 Elective – 5 3 0 0 3 PEC
7 CS5153 Advanced Computer Networks Lab 0 0 2 1 PCC
8 CS5154 Deep Learning Lab 0 1 2 2 PCC
9 CS5198 Seminar - I 0 0 2 1 SEM
Total 18 1 6 22 *
*Students of MTech (CSE) programme desirous of taking an exit will be awarded with PG Diploma in
CSE if they complete Seminar-II (1 credit) after course work, followed by 2-months Project ( 4 credits) .
SCHEME OF INSTRUCTION
M. Tech. (Computer Science and Engineering) Course Structure
II – Year, I – Semester
Course Cat.
S. No. Course Title L T P Credits
Code Code
1 CS6148 Seminar-II 0 0 2 1 SEM
2 CS6147 Comprehensive Viva 0 0 0 2 CVV
3 CS6149 Dissertation Work – Part A 0 0 0 12 DW
Total 0 0 2 15
II – Year, II – Semester
Course Cat.
S. No. Course Title L T P Credits
Code Code
1 CS6199 Dissertation Work – Part B 0 0 0 20 DW
Total 20
Total Credits 80
I – Year, II – Semester
Note: A student is allowed to register a maximum of one elective from other departments and a
maximum of two electives from other M.Tech. programmes offered by the Department of CSE.
Department of Computer Science and Engineering
DETAILED SYLLABUS
CS5101 ADVANCED ALGORITHMS Credits
3-0-0: 3
Pre-requisites: None
Course Outcomes:
At the end of the course, the student will be able to
CO1 Analyze worst-case running times of algorithms using asymptotic analysis.
CO2 Classify problems into different complexity classes corresponding to deterministic,
approximation and parameterized algorithms.
CO3 Analyze the complexity of graph problems for different graph classes.
CO4 Analyze approximation algorithms and determine approximation factor.
CO5 Design and analyze efficient randomized algorithms.
CO1 Design and implement Unix kernel data structures and algorithms
CO2 Analyze synchronization problems in uniprocessor and multiprocessor systems
CO3 Evaluate the scheduling requirements of different types of processes and find their solutions
CO4 Implement user level thread library and mimic the behavior of Unix kernel for scheduling,
synchronization and signals
CO1 Identify Convolutional Neural Networks models to solve Supervised Learning Problems
CO2 Design Autoencoders to solve Unsupervised Learning problems
CO3 Apply Long Shot Term Memory (LSTM) Networks for time series analysis classification
problems.
CO4 Apply Classical Supervised Tasks for Image Denoising, Segmentation and Object detection
problems.
CO1 Implement Multilayer Feed Backward Neural network on MNIT digits dataset
CO2 Build RNN, LSTM, BiLSTM Networks for time series analysis classification problems.
CO3 Design Autoencoders to solve Unsupervised Learning problems
CO4 Implement Classical Supervised Tasks for Image Denoising, Segmentation and Object
detection problems.
CO1 Analyze the selected topic, organize the content and communication to audience in an
effective manner
CO2 Practice the learning by self study
CO1 Analyze the selected topic, organize the content and communication to audience in an
effective manner
CO2 Practice the learning by self study
CO1 Comprehend and correlate the understanding of all courses in post graduate curriculum of
Computer Science and Engineering
CO1 Synthesize and apply prior knowledge to designing and implementing solutions to open-
ended computational problems while considering multiple realistic constraints
CO2 Design and Develop the software with software engineering practices and standards
CO3 Analyze Database, Network and Application Design methods
CO4 Evaluate the solution through various validation and verification methods
CO5 Practice CASE tools for solving software engineering CASE Studies
CO6 Analyze professional issues, including ethical, legal and security issues, related to
computing projects
CO1 Analyze games based on complete and incomplete information about the players
CO2 Analyze games where players cooperate
CO3 Compute Nash equilibrium
CO4 Apply game theory to model network traffic
CO5 Analyze auctions using game theory
Distributed shared memory: Abstraction and advantages, Memory consistency models, Shared memory
mutual exclusion, Wait-freedom, Register hierarchy and wait-free simulations, Wait-free atomic
snapshots of shared objects, Check pointing and rollback recovery : Issues in failure recovery,
Checkpoint-based recovery, Log-based rollback recovery, Koo–Toueg coordinated checkpointing
algorithm, Juang–Venkatesan algorithm for asynchronous check pointing and recovery, Manivannan–
Singhal quasi-synchronous check pointing algorithm, Peterson–Kearns algorithm based on vector time,
Helary–Mostefaoui–Netzer–Raynal communication-induced protocol.
Consensus and agreement algorithms : Problem definition, Agreement in a failure-free system,
Agreement in systems with failures, Wait-free shared memory consensus in asynchronous systems
Failure detectors: Unreliable failure detectors, The consensus problem, Atomic broadcast, The weakest
failure detectors, to solve fundamental agreement problems An adaptive failure detection protocol.
INFERENCE IN FIRST-ORDER LOGIC – Syntax and Semantics of First-Order Logic, Using First-
Order Logic, Knowledge Engineering in First-Order Logic; Propositional vs. First-Order Inference,
Unification and Lifting, Forward Chaining, Backward Chaining, Resolution.
Explore relational model, SQL and capabilities of emergent systems in terms of scalability and
CO2 performance
CO3 Apply machine learning algorithms for data analytics
Syllabus:
Overview of Big Data, Map Reduce basics, Overview of Hadoop, Map Reduce Algorithm
Design, Inverted Indexing for Text Retrieval, Graph Algorithms, Data Mining with Big Data,
No SQL databases, Stream Computing Challenges, Stages of analytical evolution, Big Data
Analytics in Industry Verticals, Data Analytics Lifecycle, Operationalizing Basic Data
Analytic Methods Using R, Analytics for Unstructured Data.
Reading:
1. Bill Franks, Taming The Big Data Tidal Wave, 1st Edition, Wiley, 2012.
2. Jure Leskovec, Anand Rajaraman, J D Ullman, Mining Massive Datasets.
3. Jimmy Lin and Chris Dyer, Data Intensive Text Processing with Map Reduce, Pre-
production manuscript, Downloadable from Internet.
4. Johannes Ledolter, Data Mining and Business Analytics with R, Wiley, 2013.
Department of Computer Science and Engineering
CO1 Understand Software Reliability during different phases of Software Development Life
Cycle
CO2 Analyze Software Reliability parameters using Markovian Modeling
CO3 Estimate Software Reliability parameters using Maximum Likelihood and Least Square
Method
CO4 Evaluate performance of Binomial-Type, Poison-Type and Markovian Models
CO5 Predict Software Reliability using Intelligent Techniques
CO6 Design Quality Attributes for Software Quality Assurance (SQA)
CO1 Understand basic concepts used in program design such as determinism / non-determinism,
synchrony/asynchrony, separation of concerns like correctness and complexity, programs
and implementation
CO2 Demonstrate the concept of progress and proofs thereof
CO3 Analyze architecture and mappings by taking different case studies
CO4 Understand program structuring and program composition
CO1 Understand Software Defined Radio (SDR) architecture, Relationship between SDR and
Cognitive Radio (CR)
CO2 Demonstrate CR capabilities, architecture and dynamic spectrum access.
CO3 Analyze different spectrum sensing mechanisms and spectrum management functions in
CR.
CO4 Demonstrate upper layer issues and cooperative communications in CR networks (CRN).
CO5 Analyze different security attacks and countermeasures in CRN.
3. Ahmed Khattab, Dmitri Perkins, MagdyBayoumi, “Cognitive Radio Networks: From Theory to
Practice”, Springer, 2013.
4. E. Biglieri, A.J. Goldsmith., L.J. Greenstein, N.B. Mandayam, H.V. Poor, “Principles of Cognitive
Radio”, Cambridge University Press, 2013.
Department of Computer Science and Engineering
CO1 Apply software development techniques with reference to model driven software
development
CO2 Design and implement the practical application of domain-specific modeling language.
CO3 Identify verification and translation of specifications.
CO4 Analyze emerging model-driven development techniques.
CO5 Integrate a set of models to perform effective software specifications.
CO1 Manage, Explore, Analyse and synthesize the results of specific data processing methods
CO2 Apply the knowledge of data analysis in the fields such as diagnosis; forecasting;
planning; decision making.
CO3 Highlight the statistical features of observed datasets
CO4 Apply Data Analysis to various sizes and complexity of the data sets.
CO1 Understand the requirements of a real-time application and analyze the performance of
different task scheduling algorithms for real-time systems.
CO2 Understand the basic concepts of fault-tolerance and different fault-tolerance techniques
available for real- time systems.
CO3 Use simulated software to develop and test different fault tolerant models.
CO4 Understand the concept of embedded systems and use various software tools for
development of embedded systems.
CO1 Design and analyze parallel algorithms for real world problems and implement them on
available parallel computer systems.
CO2 Optimize the performance of a parallel program to suit a particular hardware and software
environment.
CO3 Write Programs using accelerator technologies of GPGPUs with CUDA, OpenCL.
CO4 Design algorithms suited for Multicore processor systems using OpenCL, OpenMP, and
Threading techniques.
CO5 Analyze the communication overhead of interconnection networks and modify the
algorithms to meet the requirements.
Course Articulation Matrix:
PO1 PO2 PO3 PO4 PO5 PO6
CO1 2 2 2 2
CO2 2 2 2 2
CO3 2 2 2
CO4 2 2 2 1
CO5 2 2 2
1 - Slightly; 2 - Moderately; 3 – Substantially
Syllabus:
Introduction: Implicit parallelism, Limitations of memory system performance, control structure,
communication model, physical organization, and communication costs of parallel platforms, Routing
mechanisms for interconnection networks, Mapping techniques
Parallel algorithm design: Preliminaries, decomposition techniques, tasks and interactions, mapping
techniques for load balancing, methods for reducing interaction overheads, parallel algorithm models,
Basic communication operations: Meaning of all-to-all, all-reduce, scatter, gather, circular shift and
splitting routing messages in parts.
Analytical modeling of parallel programs: sources of overhead, performance metrics, the effect of
granularity on performance, scalability of parallel systems, minimum execution time, minimum cost-
optimal execution time, asymptotic analysis of parallel programs Programming using message passing
paradigm: Principles, building blocks, MPI, Topologies and embedding, Overlapping communication
and computation, collective communication operations, Groups and communicators
Programming shared address space platforms: Threads, POSIX threads, Synchronization primitives,
attributes of threads, mutex and condition variables, Composite synchronization constructs, OpenMP.
Multi-core Programming: Multi-core processor, CPU Cache, Cache coherence protocols, Memory
Consistency Models, An Overview of Memory Allocators, Programming Libraries- PThreads, TBB,
OpenMP, Dense Matrix Algorithms: matrix vector multiplication, matrix-matrix multiplication, solving
system of linear equations,
Sorting: Sorting networks, Bubble sort, Quick sort, Bucket sort and other sorting algorithms Graph
algorithms: Minimum spanning tree, single source shortest paths, all-pairs shortest paths, Transitive
closure, connected components, algorithms for sparse graphs.
3. Michael J. Quinn, Parallel Programming in C with MPI and OpenMP, McGraw-Hill International
Editions, Computer Science Series,2004
4. Jason Sanders, Edward Kandrot, CUDA By Example – An Introduction to General- Purpose GPU
Programming, Addison Wesley,2011.
Department of Computer Science and Engineering
CO1 Design and Develop processes and life cycle of Human Computer Interaction.
CO2 Analyze product usability evaluations and testing methods.
CO3 Apply the interface design standards/guidelines for cross cultural and disabled users.
CO4 Categorize, Design and Develop Human Computer Interaction in proper architectural
structures.
CO1 Differentiate between traditional networks and software defined networks and
understand the key benefits and use cases of SDN.
CO2 Interpret the SDN data plane devices and OpenFlow Protocols
CO3 Implement the operation of SDN control plane with different controllers
CO4 Apply techniques that enable applications to control the underlying network using SDN
CO5 Evaluate Network Functions Virtualization components and their roles in SDN
Course Articulation Matrix:
PO1 PO2 PO3 PO4 PO5 PO6
CO1 2 3 3
CO2 2 3 3
CO3 2 3 3
CO4 2 3 3
CO5 2 3 3
1 - Slightly; 2 - Moderately; 3 – Substantially
Syllabus:
Networking Basics: Switching, Addressing, Routing
SDN Background and Motivation: Evolving network requirements-The SDN Approach: Requirements,
SDN Architecture, and Characteristics of Software-Defined Networking.
SDN Data plane and OpenFlow: Data plane Functions, Data plane protocols, OpenFlow: Switch-
Controller Interaction, Flow Table, Packet Matching, Actions and Packet Forwarding Flow Table
Structure, Flow Table Pipeline, The Use of Multiple Tables, Group Table, Extensions and
Limitations, Data plane scalability.
SDN Control Plane: SDN Control Plane Architecture: Control Plane Functions, Southbound Interface,
Northbound Interface, Routing, Cooperation and Coordination among Controllers, Controller
placement problem, SDN controllers: OpenDaylight, Ryu, ONOS, Floodlight, Control plane scalability,
fault tolerance.
SDN Application Plane: SDN Application Plane Architecture: Northbound Interface, Network
Applications, User Interface- Network Services Abstraction Layer: Abstractions in SDN, Frenetic-
Traffic Engineering Measurement and Monitoring, Security, network updates, SDN usecases: Traffic
engineering, network management, network virtualization.
Network Functions Virtualization: Background and Motivation for NFV- NFV Principles, High-Level
NFV Framework, NFV Benefits and Requirements- SDN vs. NFV, Network Functions, Service
Creation and Chaining, NFV Orchestration, VNF deployment, Service function Chain Deployment.
NFV Reference Architecture: NFV Management and Orchestration.
Emerging SDN Models: Protocol Models: NETCONF, BGP, MPLS, Controller Models, Application
Models: Proactive, Declarative, External, SDN in Datacenters: Multitenancy, Failure Recovery, SDN
in Internet eXchange Points (IXPs)
1. Daniel Jurafsky and James H. Martin, Speech and Language Processing (3rd ed.)
2. Allen, James, Natural Language Understanding, Second Edition, Benjamin/ Cumming,
1995.
3. Charniack, Eugene, Statistical Language Learning, MIT Press, 1993.
4. C. Manning and H. Schutze, “Foundations of Statistical Natural Language Processing”,
MIT Press. Cambridge, MA:,1999
Department of Computer Science and Engineering
CO1 Understand the basics of Information retrieval like what is a corpus, what is precision and
recall of an IR system
CO2 Apply the data structures like Inverted Indices used in Information retrieval systems
CO3 Understand the basics of web search
CO4 Develop different techniques for compression of an index including the dictionary and its
posting list
CO5 Analyze different components of an Information retrieval system
CO6 Develop the ability to develop a complete IR system from scratch
CO1 Understanding of optimizations problems, comprehend the fuzzy logic and the concept of
fuzziness involved in various systems and fuzzy set theory
CO2 Understand the fundamental theory and concepts of neural networks and Identify different
neural network architectures, algorithms, applications and their limitations.
CO3 Apply genetic algorithms and neural networks to solve real world problems
CO4 Apply soft computing techniques to solve engineering and other societal problems
1. R.A. Aliev, R.R. Aliev, Soft Computing and Its Applications, World Scientific
Publications, 2001.
2. Roger Jang, Tsai Sun, Eiji Mizutani, Neuro-Fuzzy and Soft Computing: A computational
Approach to Learning & Machine Intelligence, PHI, 2008.
3. Simon Haykin, Neural Network: A Comprehensive Foundation, PHI, 1999.
4. Kishan Mehtrotra, S. Ranka, Elements of artificial Neural Networks, Penram International
Publishing (India), 2009
5. Timothy Ross, Fuzzy Logic with Engineering Applications, 3rd Edition, McGraw-Hill,
2010.
6. Bart Kosko, Neural Networks and Fuzzy Systems, PHI, 1994.
Department of Computer Science and Engineering
1. Jiawei Han and M Kamber, Data Mining Concepts and Techniques, Second Edition,
Elsevier Publication,2011.
2. Vipin Kumar, Pang-Ning Tan, Michael Steinbach, Introduction to Data Mining, Addison
Wesley,2006.
3. Research Papers
Department of Computer Science and Engineering
CO1 Understand the risk of computer failures and their comparison with other equipment
failures
CO2 Know the different advantages and limits of fault avoidance and fault tolerance techniques
CO3 Analyze cost dependability trade-offs and the limits of computer system dependability
CO4 Gain knowledge in sources of faults and their prevention and forecasting
CO5 Analyze fault-tolerant or non-fault-tolerant on the basis of dependability requirements.
1. Rajkumar Buyya, Satish Narayana Srirama, Fog and Edge Computing, Wiley Publications,
2019.
2. Wei Change and Jie Wu, Fog/Edge Computing for Security, Privacy and Applications,
Springer, 2021.
Department of Computer Science and Engineering
1. Hacking Exposed Mobile: Security Secrets & Solutions, Bergman, N., Stanfield, M.,
Rouse, J., Scambray, J., et al. (2013). McGraw Hill, 2013.
2. Mobile Application Security, Himanshu Dviwedi, Chris Clark and David Thiel, McGraw-
Hill, 2010.
3. Security of Mobile Communications, Noureddine Boudriga, CRC Press, 2010.
4. Mobile Phone Security and Forensics: A Practical Approach, Androulidakis, I., Springer,
2012.