Syllabus Final Year Revision 2019 23 Sem7!8!23june22
Syllabus Final Year Revision 2019 23 Sem7!8!23june22
(An Autonomous Institute of Govt. of Maharashtra, Permanently Affiliated to S.P. Pune University)
Sr.
Item Page No
No.
3 List of Abbreviations 3
5 Detailed Syllabi 9-
1
B.Tech. Computer Engineering
I. To create graduates with sufficient capabilities in computer engineering who can become
researchers, entrepreneurs and software professionals to satisfy the needs of the core
industry, research, academia and society at large.
II. To build ability to continuously learn the latest trends in computer engineering and engage in
lifelong learning process.
III. To build engineers aware of professional ethics of the software Industry, and equipped with
basic soft skills essential for working in community and professional teams.
b. Have knowledge of the best practices in software engineering, project management and
professional work environments.
d. Able to demonstrate the ability to design creative solutions to real life and most relevant
problems faced by the industry and society at large.
f. Demonstrate their ability to use the state of the art technologies and tools including Free and
Open Source Software tools in developing software.
2. Design, implement, test software solutions in core Computer Engineering areas including
Computer Networks, Databases, Systems Software, Computer Architecture, Artificial
Intelligence, Software Engineering
3. Acquire and demonstrate skills in emerging area like Information Security, Data Science,
Natural Language Processing, Cloud Computing, etc.
2
Correlation between the PEOs and the POs
PO→
a b c d e f g h
PEO↓
I
II
III
PSO→
1 2 3
PEO↓
I
II
III
List of Abbreviations
3
SCHEME-A (CE)
Semester VII : Scheme A
Sr. Course Course Teaching Scheme Credits
Type Course Name
No. Code L T P
1 MLC Intellectual Property Rights 1 0 0 0
2 LLC Liberal Learning Course 1 0 0 1
IOC Interdisciplinary Open Course-II
(Management related courses to be
3
offered by Humanities/Production
Engineering Department ) 2 0 0 2
4 PCC Compiler Construction 3 0 0 3
5 LC Compiler Construction Laboratory 0 0 2 1
6 PCC Cryptography and Network Security 3 0 0 3
LC Cryptography and Network Security
7 0 0 2 1
Laboratory
8 DEC Department Elective-II 3 0 0 3
9 DEC Department Elective-III 3 0 0 3
10 LC Department Elective-III Laboratory 0 0 2 1
Total 16 0 6 18
Total Academic Engagement and Credits 22
4
SCHEME-B (CE)
Semester VII : Scheme B
Sr. Course Course Teaching Scheme Credits
Type Course Name
No. Code L T P
1 MLC Intellectual Property Rights 1 0 0 0
2 LLC Liberal Learning Course 1 0 0 1
IOC Interdisciplinary Open Course-II
(Management related courses to be
3
offered by Humanities/Production
Engineering Department ) 2 0 0 2
4 PCC Compiler Construction 3 0 0 3
5 LC Compiler Construction Laboratory 0 0 2 1
6 PCC Cryptography and Network Security 3 0 0 3
LC Cryptography and Network Security
7 0 0 2 1
Laboratory
8 DEC Department Elective-II 3 0 0 3
9 DEC Department Elective-III 3 0 0 3
10 LC Department Elective-III Laboratory 0 0 2 1
Total 16 0 6 18
Total Academic Engagement and Credits 22
Of the four Department Elective courses, the student shall be taken at least two courses in MOOCs mode
5
List of Department Electives
Department Elective-II
FP: Functional Programming
CBD: Cloud and Big Data
IR: Information Retrieval
SDP: Software Design Patterns
DS: Distributed Systems
OOMD: Object Oriented Modelling and Design
ADBMS: Advanced Database Management Systems
WT: Wireless Technologies
Subjects in Association with Domain Experts
Department Elective-III
IOT: Internet of Things
Devops
DFDR: Digital Forensics and Data Recovery
STQA: Software Testing and Quality Assurance
AUP: Advanced UNIX Programming
ES: Embedded Systems
NLP: Natural Language Processing
PCAP: Parallel Computer Architecture and Programming
CS: Cyber Security
Subjects in Association with Domain Experts
Department Elective-IV
SA: System Administration
S&V: Storage and Virtualization
MAN: Mobile and Ad-hoc Networks
CB: Computational Biology
MT: Multicore Technology
GIS: Geographical Information Systems
Introduction of Blockchains, Cryptocurrencies, and Smart Contracts
GPU Computing
Subjects in Association with Domain Experts
6
Minor in Computer Engineering
(To be offered to students of other departments )
SN Semester Course Name Lectures-Tutorial-Lab-Credits
1 V Data Structures, Files and Algorithms 3-0-0-3
2 VI Object Oriented Programming and 3-0-0-3
Design
3 VII Internet Technologies 3-0-0-3
4 VIII Data Science (Minor) 3-0-0-3
7
Table of Contents
Core Courses ................................................................................................................................................... 10
(CT-) Compiler Construction ........................................................................................................................ 10
(CT-) Compiler Construction Laboratory ..................................................................................................... 12
(CT-) Cryptography and Network Security .................................................................................................. 12
(CT-) Cryptography and Network Security Laboratory ................................................................................ 14
Departmental Elective – II ............................................................................................................................... 15
(CT-DE-) Cloud Computing and Big Data ..................................................................................................... 15
(CT-DE-) Functional Programming ............................................................................................................... 18
(CT-DE-) Information Retrieval .................................................................................................................... 20
(CT-DE-) Software Design Patterns.............................................................................................................. 22
(CT-DE-) Object Oriented Modeling and Design ......................................................................................... 24
(CT-DE-) Distributed Systems ...................................................................................................................... 26
(CT-DE-) Advanced Database Management Systems ................................................................................. 27
(CT-DE-) Wireless Technology ..................................................................................................................... 29
Departmental Elective – III .............................................................................................................................. 31
(CT-DE-) Internet of Things .......................................................................................................................... 31
(CT-DE-) Internet of Things Laboratory ....................................................................................................... 33
(CT-DE-) DevOps .......................................................................................................................................... 34
(CT-DE-) DevOps Laboratory ....................................................................................................................... 36
(CT-DE) Digital Forensics and Data Recovery .............................................................................................. 36
(CT-DE-) Digital Forensics and Data Recovery Laboratory .......................................................................... 38
(CT-DE-) Software Testing and Quality Assurance ...................................................................................... 39
(CT-DE-) Software Testing and Quality Assurance Laboratory .................................................................... 41
(CT-DE-) Advanced Unix Programming........................................................................................................ 42
(CT-DE-) Advanced Unix Programming Laboratory ..................................................................................... 44
(CT-DE-) Embedded Systems ....................................................................................................................... 45
(CT-DE-) Embedded Systems Laboratory .................................................................................................... 47
(CT-DE-) Natural Language Processing ........................................................................................................ 48
(CT-DE-) Natural Language Processing Laboratory ..................................................................................... 49
(CT-DE-) Parallel Computer Architecture and Programming ...................................................................... 50
8
(CT-DE-) Parallel Computer Architecture and Programming Laboratory .................................................... 52
(CT-DE-) Cyber Security ............................................................................................................................... 53
(CT-DE-) Cyber Security Laboratory............................................................................................................. 54
Departmental Elective – IV .............................................................................................................................. 55
(CT-DE-) System Administration .................................................................................................................. 55
(CT-DE-) System Administration - Laboratory ............................................................................................. 57
(CT-DE-) Storage & Virtualization ................................................................................................................ 58
(CT-DE-) Storage & Virtualization - Laboratory ........................................................................................... 59
(CT-DE-) Mobile and Ad-Hoc Networks ....................................................................................................... 60
(CT-DE-) Mobile and Ad-Hoc Networks Laboratory .................................................................................... 62
(CT-DE-) Computational Biology .................................................................................................................. 63
(CT-DE-) Computational Biology Laboratory ............................................................................................... 64
(CT-DE-) Multicore Technology ................................................................................................................... 65
(CT-DE-) Multicore Technology Laboratory ................................................................................................. 67
(CT-DE-) Geographical Information Systems ............................................................................................... 68
(CT-DE-) Geographical Information Systems Laboratory ............................................................................ 69
(CT-DE-) Introduction of Blockchain, Cryptocurrencies, and Smart Contracts ........................................... 70
(CT-DE-) Introduction of Blockchain, Cryptocurrencies, and Smart Contracts Laboratory ......................... 71
(CT-DE-) GPU Computing ............................................................................................................................. 72
(CT-DE-) GPU Computing Laboratory .......................................................................................................... 73
MINOR in Computer Engineering .................................................................................................................... 74
(CT(MI)-) Internet Technologies (Minor) ..................................................................................................... 74
(CT(MI)-) Data Science (Minor) ................................................................................................................... 75
HONOURS in Computer Engineering ............................................................................................................... 77
(CT(Hon)-) Deep Learning (Honours)........................................................................................................... 77
(CT(Hon)-) Reinforcement Learning (Honours) ........................................................................................... 78
HONOURS in Information Security .................................................................................................................. 80
(CT(Hon)-) Malware Analysis ....................................................................................................................... 80
(CT(Hon)-) Internet of Things Security ........................................................................................................ 81
9
Core Courses
(CT-) Compiler Construction
Course Outcomes:
Students will be able to:
1. Demonstrate the understanding of different phases of compilation.
2. Demonstrate the ability to generate and code lexical and syntax analyzer.
3. Analyze and differentiate different parsing techniques and syntax directed translation
schemes and choose the optimal parsing technique.
4. Apply different intermediate code generation representation for program construct.
5. Identify different code optimization techniques for the various statements
Lexical Analysis: Concept of Lexical Analysis, Regular Expressions, Tokens, Lexemes, and
Patterns, Block Diagram of Lexical analyser, Revision of finite automata, Introduction to LEX
Tool and LEX file specification, Error detection and recovery in LEX.
[6 Hrs]
[8 Hrs]
[6 Hrs]
[6 Hrs]
Text Books:
Alfred V. Aho, Monica S. Lam, A. V. R. Sethi and J.D. Ullman, “Compiler Principle, Techniques
and Tools” Addison Wesley, Second Edition, ISBN: 978-0321486813.
Reference Books:
Barrent W. A., J. D. Couch, “Compiler Construction: Theory and Practice”, Computer Science
series, Asian student edition, ISBN: 9780574217653.
Dhamdhere D.M., “Compiler Construction Principle and Practice”, Macmillan India, New Delhi,
2003, Second Edition, ISBN: 0333904060.
Ravendra Singh, Vivek Sharma, Manish Varshney, “Design and Implementation of Compiler”,
New Age Publications, 2008, ISBN: 978-81-224-2398-3.
Holub, A.J., “Compiler design in C”, Prentice Hall, 1994, ISBN: 978-0133049572.
John Levine, Tony Mason & Doug Brown, “Lex and Yacc”, O‟ Reilly, 1995, Second Edition,
ISBN: 978-1565920002.
11
(CT-) Compiler Construction Laboratory
Course Outcomes:
Students will be able to:
1. Implement lexical analyzers using Lex tool
2. Write a parser and semantic analyzer for different Context-Free Grammars using
Yacc tool.
3. Implement different representations of Intermediate code
4. Demonstrate ability to optimize intermediate code using different techniques
Course Outcomes
Students will be able to:
1. Explain the concepts related to applied cryptography, including plaintext, ciphertext,
symmetric cryptography, asymmetric cryptography, and digital signatures
12
2. Apply concepts of finite mathematics and number theory.
3. Demonstrate the understanding of common network vulnerabilities and attacks, defence
mechanisms against network attacks, and cryptographic protection mechanisms.
4. Detect possible threats to different defence mechanisms and different ways to protect
against these threats
Course Contents
Introduction: Cryptography and modern cryptography, Need of security, Security services,
Basic network security terminology, Security attacks, Classical cryptosystems and their
cryptanalysis, Operational model of network security
[4 Hrs]
Text Books
Reference Books
“Cryptography and Network Security, Principles and Practices”, William Stallings,
Pearson Education, Fifth Edition, and ISBN: 0-13-60970-9.
13
“Network Security the Complete Reference”, Robert Bragge, Mark Rhodes, Heith
Straggberg Tata McGraw Hill Publication, ISBN: 9780072226973.
Course Outcomes
Students will be able to:
1. Analyze the optimal features and time required for an encryption technique.
2. Implement cryptographic algorithms in any programming language.
3. Demonstrate the ability to detect attacks on a system and tackle it.
4. Write a security application to protect a system from some attacks.
14
Departmental Elective – II
(CT-DE-) Cloud Computing and Big Data
Teaching Scheme Examination Scheme
Lectures: 3 Hrs/ Week Assignment/Quizzes : 40 marks
End Semester Exam: 60 marks
Course Outcomes
Students will be able to:
1. Comprehend basic concepts of cloud computing and virtualization.
2. Identify various cloud-based solutions to meet a set of given requirements.
3. Visualize development of applications using kubernetes and container concepts.
4. Gain fundamentals of big data and big data processing frameworks.
5. Demonstrate applications of Apache framework for big data processing and analysis on
cloud.
Course Contents
Introduction: History of Centralized and Distributed Computing - Overview of Distributed
Computing, Cluster computing, Grid computing Distributed Computing and Enabling
Technologies, Cloud Fundamentals: Cloud Definition, Evolution, Architecture, Applications,
deployment models, and service models, case-study of cloud computing systems like Amazon
EC2 and S3, Google App Engine, and Microsoft Azure etc.
[6 Hrs]
Migration and Interoperability: Broad Aspects of Migration into Cloud, Migration of virtual
Machines and techniques, Fault Tolerance Mechanisms, Interoperability approaches, Service
Monitoring, Issues with interoperability, Vendor lock-in, SLA Management, Metering Issues.
[6 Hrs]
15
Cloud Orchestration: Introduction to Cloud Orchestration, backing up VM, restoring VM,
clustering and high availability, VM migration, Case-study of OpenStack: NOVA, Neutron,
Keystone Cinder, Swift and Glances, CI / CD.
[8 Hrs]
Big Data: Big Data for cloud, Characteristics of Big data, Key aspects of a Big Data Platform,
Apache Hadoop, MapReduce - HDFS framework ,Spark Ecosystem Walkthrough, Overview of
HBase, HBase Data-Model, Overview of Apache Hive and Apache Pig.
[5 Hrs]
Text Books
“Virtualization, A beginners Guide”, Danielle Ruest and Nelson Ruest, Tata McGraw Hill,
ISBN: 978-661-2031-892
“Moving to the cloud”, Dinakar Sitaram and Geetha Manjunath, Elsevier, ISBN: 978-
159- 7497-251
“Using Docker: Developing and Deploying Software with Containers”,Adrian Mouat,
O’reilly Media, ISBN: 978-149-1915-769.
“Hadoop: The Definitive Guide”, Tom White, O’reilly Media, ISBN: 978-144-9311-520.
Reference Books :
“Cloud Computing: Methodology, Systems, and Applications”, L. Wang, R. Ranjan, J.
Chen, and B. Benatallah, CRC Press, Boca Raton, FL,USA, ISBN: 978-143-9856-413
“Cloud Computing: Principles and Paradigms”, Buyya R., Broberg J., Goscinski A., John
Wiley & Sons Inc., ISBN: 978-0-470-88799-8
“Cloud Computing”,V.K. Pachghare, PHI Publication, ISBN: 978-81-203-5213-1
“The Docker Book: Containerization is the new virtualization”, James Turnbull, ISBN:
978- 098-8820-203
“Big Data in Practice: How 45 Successful Companies Used Big Data Analytics to Deliver
Extraordinary Results”, Bernard Marr, Wiley, ISBN: 978-111-9231-387
Online Resources:
http://docs.openstack.org/
http://mininet.org/
https://www.opennetworking.org/
http://pubs.vmware.com/vsphere-50/index.jsp
https://developers.google.com/appengine/
http://www.windowsazure.com/en-us/
http://www.cloudfoundry.com/
http://aws.amazon.com/developers/getting-started/
16
Suggested List of Assignments
1. To create and run virtual machines on open source OS [VirtualBox, VMWare
Workstation].
1. To install an operating system in the virtual machine from template
2. Add storage to create the new virtual disk.
2. To install OpenStack and use it as Infrastructure as a Service.
1. Create and delete compute resources.
2. Attach volumes to running instances
3. Create a network and subnet for the web server nodes.
3. To install hypervisor such as KVM, ESXi.
1. Deploy VM on hypervisor
2. Back up or migrate VM.
4. To create AWS EC2 Instances.
1. Logging into the AWS portal
2. To attach and detach an EBS volume to an EC2 instance.
3. To create an S3 Bucket for object storage to EC2 instance.
5. To configure and start VM from azure portal.
1. Logging into the Microsoft Azure portal
2. Connect to the Windows virtual machine using Remote Desktop Protocol (RDP)
software.
17
1. Standalone Mode
2. Pseudo Distributed Mode
3. Write Program using Hadoop Spark for Word Count Example, Weather
Data Set Example.
4. Write a Pig Latin script to handle the Weather Data Set
problem. [sort, group, join, project, and filter Weather data]
8. To Create Hive tables and Querying Hive tables for Weather Data Set problem.
1. Create, alter, and drop databases, tables, views, functions, and indexes.
9. To Create HBase tables that include multiple column families and columns
1. Alter properties associated with a table
2. Populate a table with data
3. Retrieve data from a table
10. To create and query HBase tables using BigSQl
1. Populate these tables using Big SQL INSERT and LOAD operations
2. Query these tables using projections and restrictions.
This is an illustrative list of assignments. The instructor is expected to update the list.
Course Outcomes
Students will be able to:
1. Identify difference between various programming paradigms
2. Application of lambda calculus and combinatory logic in programming
3. Evaluate functions written in functional programming language
4. Analyze memory management in functional programming language
5. Application of functional programming in problem solving
Course Contents
Introduction to Programming Paradigms. Programming languages, Design Issues of
Programming Language, Programming Paradigms, Necessity, Types, Ideas behind imperative,
applicative, object oriented and logic programming.
[8 Hrs]
Page 18
Haskell illustrating the following concepts. Functions as first class objects, referential
Transparency, Laziness , Data types and pattern matching, Types, Classes and
overloading, Side effect free IO
[6 Hrs]
Functional Programming Paradigm. First class and higher order functions , Combinatory logic,
Intuitionistic logic, Lambda Calculus : Syntax of Lambda terms Alpha, beta and delta conversions
Normal forms, applicative order and normal order reductions Church-Rosser theorems Y combinator
and recursion.
[6 Hrs]
Functions in functional programming. Inbuilt functions, user defined functions, high order
functions on list, recursive function, lazy function evaluation, polymorphism, File I/O, Channels and
Concurrency, pattern matching
[6 Hrs]
Type inference. Hindley-Milner type checking algorithm and its extension to handle type classes.
Implementation of functional programming. Issues in implementation, the spineless-tagless
G-Machine,
[8 Hrs]
Other topics. Bird-Meertens Formalism, Abstract Interpretation, Functional Programming using
Monads.
Application of functional programming. Hadoop, MapReduce, Google, Facebook , APIs in other
langages like PHP, Java, Ruby.
[8 Hrs]
Text Books
Reference Books
Page 19
“Haskell : the craft of functional programming”, Thompson, Simon, 3rd edition, Harlow:
Addison-Wesley, 2011
“Learn you a Haskell for great good! : a beginner's guide”, Lipova a, Miran, San Francisco,
CA: No Starch Press, cop. 2011
Some more assignments can be added by the instructor. The Haskell language is recommended for
programming.
Course Outcomes
Students will be able to:
1. Recognize basic concepts and techniques in Information Retrieval.
2. Design data structures such as an index, to allow efficient access to the information in large
bodies of text.
5. Analyze different approaches for query processing.
6. Analyze how statistical models of text can be used to solve problems in IR, with a focus on
how the vector-space model and language models are implemented and applied to document
retrieval problems.
7. Implement a relevance feedback mechanism to improve system performance.
Course Contents
Introduction: Motivation, Data retrieval versus information retrieval, Goals and history of IR,
Problems in IR, Modeling- taxonomy of IR models, Retrieval- adhoc and filtering, Basic Models of IR
Boolean, Vector-space model.
[7 Hrs]
Page 20
Basic preprocessing and Indexing: Simple tokenizing, Stop-word removal, Stemming, Inverted
index and postings, Text-similarity metrics, TF, IDF, TF-IDF (term frequency/inverse document
frequency) weighting, k-Shingles, Distance and similarity measures- Minkowski, Manhattan,
Euclidean, Jaccard, Pearson, Cosine similarity measure.
[6 Hrs]
Query Operations: Relevance feedback- Global methods and local methods, Global methods -
Query expansion/reformulation with a thesaurus or WordNet, Query expansion via automatic
thesaurus generation, Techniques like spelling correction, Local methods - Relevance feedback,
Pseudo relevance feedback, Indirect relevance feedback, Rocchio algorithm for relevance feedback,
Probabilistic relevance feedback, Kullback-Leiber divergence (KL-divergence) retrieval function.
[8 Hrs]
Indexing and Searching: Introduction, Inverted Files - Construction, Searching, Suffix trees and
suffix arrays, Signature files, Boolean queries, Sequential searching- Brute Force, Knuth Morris-Pratt,
Shift-or, Suffix Automation, Pattern matching- Regular expression and extended patterns, Structural
queries, Compression- sequential searching, compressed indexing
[8 Hrs]
Probabilistic Retrieval and Evaluation: Probabilistic Model, Formal model for enhancing retrieval
effectiveness by using sample information about the frequency of occurrence and co-occurrence of
index terms in the relevant and non-relevant documents, Traditional view of measurement of
effectiveness, Performance metrics: recall, precision, and F-measure, Evaluations on benchmark text
collections.
[6 Hrs]
Link Analysis: The Web as a graph, PageRank, Topic specific PageRank, Hubs and Authorities.
[5 Hrs]
Text Books
Reference Books:
Page 21
Suggested List of Assignments
1. Design and Implement pre-processing module required for building an inverted index file.
2. Building an Inverted Index File for the data on machine.
3. Design and Implement the query processing module of an search engine.
4. Design and implement a web-based crawler.
5. Design and implement different distance and similarity measures (Euclidean, Jaccard, Manhattan,
Cosine) required for finding duplicates or near-duplicates in the datasets.
6. Installation and study of elastic Search Engine.
7. Design Search Engine using Solr and Lucene for your college website.
Course Outcomes
Students will be able to:
1. Create software designs that are scalable and easily maintainable to understand the use of
Object Oriented concepts.
2. Apply creational design patterns in software design for class instantiation and devise
structural design patterns for object composition.
3. Apply behavioral patterns for organization and communication between the objects
4. Propose refactoring to compose the methods for proper code packaging and to organize the
class responsibilities of current code
Course Contents
Introduction: What is a design Pattern? Design patterns in smalltalk MVC, Describing Design
patterns, the catalog of design patterns, organizing the catalog, How design patterns solve design
problems, how to select a design pattern, how to use a design pattern.
[6 Hrs]
Designing a document editor: Case Study on Design Problems, Document Structure, formatting,
Embellishing the User Interface, Supporting Multiple Look-and-Feel Standards, supporting multiple
window system, user operations, spelling checking and hyphenation
[6 Hrs]
Patterns and Software Architecture: Architectural pattern, Difference between design patterns
and architectural patterns, different architectural patterns, relation between software architecture
and patterns.
[6 Hrs]
Text Books
“Design Patterns: Elements of Reusable Object Oriented Software”, Erich Gamma, Richard
Helm, Ralph Johnson, John Vlissides, Pearson 1st edition. ISBN-13: 078-5342633610
“Design Patterns Explained- A New Perspective on Object Oriented Design”, Allan Shalloway,
James Trott, Addison Wesley 2nd Edition, ISBN-13: 978-0321247148
Reference Books
“Head First Design Patterns”, Eric Freeman and Elisabeth Freeman, O'Reilly, 2004. ISBN-13.
978-0596007126
“Applied Java Patterns”, Stephen Stelting and Olav Maassen, Prentice Hall, 2002. ISBN,
0130935387, 9780130935380
“Java Design Patterns - A Tutorial”, James W. Cooper, Addison-Wesley, 2000. ISBN : 0-201-
48539-7
“Refactoring To Patterns”, Joshua Kerievsky, Addison-Wesley, 2005. ISBN, 0321213351,
9780321213358
The design representation can be done using any UML tool. Students can choose system of their
choice for implementation / design purpose.
1. Design the organization of catalog along using the following design patterns.
a. Creational Patterns.
b. Structural Patterns.
c. Behavioral Patterns.
Page 23
4. For Banking system
a. Write a Program to implement Singleton pattern.
b. Write a Program to implement Composite design pattern
Course outcomes
Students will be able to:
1. Specify, analyze and design the use case driven requirements for a particular system.
2. Identify, formulate and solve software development problems: software requirements,
specification (problem space), software design, and implementation (solution space).
3. Model the event driven state of object and transform them into implementation specific
layouts.
4. Analyze and explore different analysis and design models, such OO Models, Structured
Analysis and Design Models, etc.
5. Apply knowledge software engineering methods, such as object-oriented analysis and design
methods with a clear emphasis on UML.
Introduction & Modeling Concepts: Rational unified process emphasizing inception, Elaboration,
Construction, Transition phases, Architectural approaches, Use case centric, Architecture driven,
Iterative approach, Introduction to UML, UML history, UML new features, UML meta model,
Extensibility mechanisms like stereotypes, Tagged values, Constraints and Profiles, OCL, Overview of
all diagrams in UML.
Page 24
[8 Hrs]
Advanced Class Modeling: Introduction to object diagrams, Class diagrams, Classes and
relationships, Interfaces and ports, Templates, Active objects, Advanced relationships generalization,
Inheritance, Association, aggregation, and Dependencies.
[7 Hrs]
Interaction Modeling: Support for modelling, Architecture in UML, Package diagrams, Component
diagrams, Deployment diagrams, Applications of UML in embedded systems, Web applications,
Commercial applications, UML 2.0 for each diagram the Need, Purpose, Concepts, Notation,
Forward Engineering.
[7 Hrs]
Databases Modeling: Concepts of distributed operating system, COM and CORBA, Introduction to
Object Oriented Database.
[4 Hrs]
Text Books
Grady Booch, James Rumbaugh, Ivar Jacobson “Unified Modeling Language User Guide”, The
(2nd Edition) (Addison-Wesley Object Technology Series) (Hardcover), 2013.
Michael Bilaha, James R Rambaugh: Object Oriented Modelling and Design, PHI, 2007,
2edition, ISBN-10: 8131711064
Reference Books
Martin Fowler, “UML Distilled: A Brief Guide to the Standard Object Modeling
Language”, Third Edition (Paperback) ,Addision Wesley, 2011
Dan Pilone, Neil Pitman “UML 2.0 in a Nutshell”, (In a Nutshell (O'Reilly)) Paperback)
Hans-Erik Eriksson, Magnus Penker, Brian Lyons, David Fado “UML 2 Toolkit (Paperback) “
Jim Arlow, Ila Neustadt “UML 2 and the Unified Process : Practical Object-Oriented Analysis
and
Design” (2nd Edition) (Addison-Wesley Object Technology Series) (Paperback)
Students shall submit minimum five UML based implementations on: three models to describe a
system from different viewpoints.
Course Outcomes
Students will be able to:
1. Identify challenges faced while designing a distributed system,
2. Apply appropriate alogrithms in distributed systems in various scenarios,
3. Analyse the trends in distributed systems
Course Contents
Introduction Motivation, goals, advantages , disadvantages, hardware concepts, software
concepts, design issues, middleware, overview of distributed systems .
[6 Hrs]
Communication. Client server model, middleware and client server model, relation of Network
models with distributed system (TCP/IP, OSI, ATM etc.) , Remote Procedure Call, group
communication and its protocol (IS-IS)
[6 Hrs]
Synchronization. Clock synchronization, logical clocks, lamport's algorithm, global state, vector
algorithm,election algorithms, mutual exclusion alogrithms, dead locks in distributed systems,
deadlock avoidance, prevention and detection.
[8 Hrs]
Models in DS. Threads, system models, processor allocation, workstation model, Processor Pool
Model, Hybrid Model, real time distributed systems, time triggered systems, event driven systems,
distributed shared memory, consistency models, page based distributed shared memory.
[8 Hrs]
Text Books
”Distributed Systems –Principles and Paradigms" , Andrew S. Tanenbaum & Maarten van
Steen, PHI, ISBN-978-81-203-2215
"Distributed Operating Systems Concepts and Design" , Pradeep K. Sinha, PHI Publication
Reference Books
Parallel Databases : I/O Parallelism, Inter-query and Intra-query Parallelism, Interoperation and
Intra-operational Parallelism, Design of Parallel systems.
[6 Hrs]
Page 28
Data Warehouse and OLAP: Introduction to Decision support, Data Warehousing, Creating and
maintaining a warehouse, OLAP: Multidimensional data model, OLAP Queries, Database design for
OLAP, Implementation techniques for OLAP: Bitmap Indexes, Join Indexes, Views and decision
support, Top N queries, Online aggregation , View Materialization : Issues.
[8 Hrs]
NoSQL Databases: Searching: Features of NoSQL databases, Types of No SQL databases: Key-
Value databases, Columnar Databases, Document Databases, Graph Databases, Introduction to data
Mining.
[6 Hrs]
Text Books
“Database system concepts”, Abraham Silberschatz, Henry F. Korth, S. Sudarshan, 5th
Edition, McGraw Hill International Edition, ISBN-10: 9332901384, ISBN-13: 978-9332901384
Reference Books
“Principles of Database Systems”, J. D. Ullman, 2nd Edition, Galgotia Publication, ISBN10:
0716780690, ISBN-13: 978-0716780694 .
“Fundamentals of Database System”, R. Elmasri and S. Navathe, , Pearson, 7th Edition,
ISBN-10: 933258270X, ISBN-13: 978-9332582705 .
Course Outcomes
Students will be able to:
1. Examine the fundamental concepts of wireless Networking and wireless Communication.
Page 29
2. Investigate the operation of Radio Frequency communications and their functionality in
wireless communications.
3. Investigate the features and installation of wireless personal area networks and local area
networks.
4. Analyze wireless metropolitan area network and wide area network.
Course Contents
Introduction to Wireless Networks: IEEE Standards for Wireless Networks. Wireless Networks
Applications. Types of Wireless Networks. Benefits of Wireless Networks.
Wireless System Architecture: Wireless System Components, Network Architecture. Information
Signals.
[8 Hrs]
Wireless PAN Systems: Printing, Accessing Internet, Accessing PDA’s, Mobile Phones. Wireless
PAN Technologies: IEEE 802.15. Bluetooth Version 1 and Version 2.
[6 Hrs]
Wireless LAN: Meaning, Components: User Devices, Radio NIC’s, Access Points, Routers,
Repeaters, And Antennae. Wireless MAN: Meaning and Components: Bridges, Bridges Vs. Access
Points, Ethernet to Wireless Bridges, Workgroup Bridges.
[6 Hrs]
Wireless MAN Systems: Point to Point Systems, Point to Multi-Point, Packet Radio Systems
Wireless WAN: WAN User Devices, Base Stations, Antennae. Wireless WAN Systems: Cellular-
Based Wireless WANs, First-Generation Cellular, Second-Generation Cellular, Third-Generation
Cellular.
[6 Hrs]
Text Books
1. Matthew Gast, “802.11 Wireless Networks” Second Edition, The Definitive Guide,
ISBN: 0-596-10052-3
2. Vijay Garg, “Wireless Communications & Networking” Elsevier, ISBN: 978-0-12-373580-5
Reference Books
1. John Ross, “Introduction to wireless networks” Second Edition, No Starch Press,
Page 30
ISBN 9781593271695
2. Theodore S. Rappaport, “Wireless Communications: Principles and Practice” Second Edition,
Pearson, ISBN: 978-81-317-3186-4
3. Wolfgang Osterhage, “Wireless Network Security” Second Edition, Kindle Edition,
ISBN-13: 978-1138093799
4. Clint Smith, Daniel Collins, “Wireless Networks: Design and Integration for LTE, EVDO, HSPA,
and WiMAX” 3rd Edition, Kindle Edition, ISBN-13: 978-0071819831
Course Outcomes:
Students will be able to:
1. Demonstrate the application areas of IOT
2. Analyze data and knowledge management and use of devices in IoT technology
3. Analyze gateways and data management in IoT.
4. Analyze real world IoT design constraints, Industrial automation and commercial building
automation in IoT.
Introduction and concepts: Origins, Drivers, Applications, Physical and logical design of
IoT, IoT enabling technologies: Wireless sensor networks, Cloud computing, Big data
analytics, Communication protocols, embedded systems, IoT levels and deployment
templates.
Page 31
[8 Hrs]
IoT and M2M: Introduction to M2M, Difference between IoT and M2M, M2M and IoT
technology fundamentals: Devices and gateways, Local and wide area networking, Data
management, Business processes in IoT, Everything as a service (XaaS), M2M and IoT
analytics, Knowledge management
[7 Hrs]
[7 Hrs]
Data management in IoT: Managing M2M data, Data collection and analysis (DCA), Big
data, Semantic sensor networks and semantic annotation of data, Virtual sensors, Complex
event processing.
[6 Hrs]
Security, Privacy & Trust: IoT security challenge, Spectrum of security considerations,
Unique security challenges of IoT devices, Internet of things privacy background, Unique
privacy aspects of internet of things, Trust for IoT.
[6 Hrs]
[6 Hrs]
Text Books
Vijay Madisetti, Arshdeep Bahga, “Internet of Things: A Hands-On Approach”, Universities
Press (India) Private Limited, 2016, ISBN: 978 81 7371 954 7
Jan Holler, Vlasios Tsiatsis, Catherine Mulligan, Stamatis Karnouskos, Stefan Avesand & David
Boyle “From Machine-to-Machine to the Internet of Things”, Academic Press, Elsevier, 2014,
ISBN: 978-0-12-407684-6
Reference Books
Karen Rose, Scott Eldridge, Lyman Chapin, “The Internet of Things: An Overview”, Internet
Society, 2015
Adrian McEwen, Hakim Cassimally, “Designing the Internet of Things”, Wiley, 2014, ISBN
978-1-118-43062-0
Page 32
Daniel Kellmereit, “The Silent Intelligence: The Internet of Things”, 2013, ISBN 0989973700
Course Outcomes:
Students will be able to:
1. Demonstrate to program on embedded systems
2. Demonstrate how to communicate with other mobile devices using various communication
platforms
3. Analyze estimation of the performance of the developed scalable cloud storage and execution
platform for IoT on the real sensors data
List of Assignments:
1. Embedded Programming
a) Toggling LEDs
b) Transmitting a string through UART
c) Controlling LEDs blinking pattern through UART
d) Echo each character typed on serial terminal.
e) Digital IO configuration.
f) Timer based LED Toggle.
g) On-chip Temperature measurement through ADC.
2. RF experiments
a) Point-to-Point communication of two Motes over the radio frequency.
b) Multi-point to single point communication of Motes over the radio frequency.
Page 33
d) Reading of atmospheric pressure value from pressure sensor.
e) Proximity detection with IR LED.
f) Generation of alarm through BuzzerTransmitting the measured physical value from the
UbiSense over the Air.
5. WSN Applications
a) Demonstration of a Peer-to-Peer network topology using Coordinator and end device network
device types.
b) Demonstration of Peer-to-Peer communication between Coordinator and end device through
Router.
c) Establishing Many-to-One Communication ( Star Network Topology)
d) Establishing Tree Network Topology
e) Establishing Cluster Tree Network
6. IOT applications
a) Porting 6LoWPAN stack on Ubimote for enabling it with IPv6
b) 6LoWPAN network formation with motes and PC
c) IP based lighting control through Data Acquisition Card
d) IP based sensor monitoring through Ubi-Sense
Each section any two assignments should be implemented by using IoT research lab kit as per Lab instructor.
(CT-DE-) DevOps
Teaching Scheme Examination Scheme
Lectures: 3 Hrs / Week Assignment/Quizzes : 40 marks
End Semester Exam : 60 marks
Course Outcomes
Students will be able to:
1. Describe the steps involved in application lifecycle
2. Discuss the benefits of automating application lifecycle
3. Demonstrate the ability to use tools involved in automating each stage of application lifecycle
automation
4. Discuss differences between monolithic and micro-services architecture
5. Implement a micro-service based application using DevOps tools
Course Contents
Page 34
Introduction: History of DevOps; Definition; Main Objectives; Software Development Life Cycle;
Agile Model; Basics of DevOps Components: Continuous Integration & Deployment; Jenkins;
Containers and Virtual Development; Docker; Vagrant; Configuration Management Tools; Ansible;
Puppet; Chef; Kubernetes;
[4 Hrs]
Docker: Images, Containers, Docker Engine, Creating containers from images, Command line,
Compose, Docker Hub, Trusted Registry, Swarm, Docker file; Orchestration; Vagrant; Networking;
seurity;
[6 Hrs]
Text Books
The DevOps Handbook: How to Create World-Class Agility, Reliability, and Security in
Technology Organizations; Author(s): Gene Kim, Jez Humble, Patrick Debois, John Willis;
Publisher: IT Revolution Press, Year: 2016; ISBN: 1942788002,9781942788003
Page 35
Cloud Native DevOps with Kubernetes, 2nd Edition; Author(s): Justin Domingus; John
Arundel; Publisher: O'Reilly Media, Inc., Year: 2022; ISBN:
9781098116804,9781098116828,9;781098116767
Effective DevOps: Building a Culture of Collaboration, Affinity, and Tooling at Scale;
Author(s): Jennifer Davis, Katherine Daniels; Publisher: O'Reilly Media, Year: 2016; ISBN:
1491926309,9781491926307
Course Outcomes
Students will be able to:
1. Demonstrate the ability to carry out CI/CD tasks
2. Demonstrate the ability to setup Docker Containers
3. Orchestrate using Kubernetes
Course Outcomes
Students will be able to:
1. Identify legal issues of performing digital forensics based on investigator duty/position.
2. Discuss various digital forensics techniques.
3. Analyze different file system used in different operating system.
4. Apply various tools during real world forensics investigation.
8. Aware of the state of the practice and gaps in the technology, policy and legal issues.
Page 36
Course Contents
Issues in Digital Forensics: Computer Crime and Law, Legal Aspects of Digital Forensics, Forensic
Investigation Procedure, Investigation Techniques, Digital Forensic Evidence, Anti-forensics,
Computer Forensic Model, Maintaining Professional Conduct, Data recovery commands , Forensic
tools: ProDiscover, SluethKit, CAINE.
[6 Hrs]
Forensic Evidence and Investigations: Functions, Categorization, Order of Volatility,
Admissibility of Evidence, Acquisition and seizure of evidence, Chain of Custody, Storage formats,
Multimedia Forensics: Image Capturing Process, Image Validation, Steganography, Tools for
Multimedia Forensics.
[8 Hrs]
MS Windows Forensics: Windows artifacts, Program Execution artifacts, Windows Registry,
Structure, Registry Analysis Tools, Taskbar Jump Lists, Automatic Destination, Custom Destination,
Jump List Extract tools: Structured Storage Viewer, Windows Event Logging Service, Events
Structure, Eventvwr Tool, Volume Shadow Copies, Analysis Tools, Windows Shell Bags, BagMRU
keys, Prefetch Files, File Deletion, Recovery Mechanisms.
[8 hrs]
Windows File Systems: Clusters and Sectors, FAT File System, FAT Boot Sector, Interpretation using
WinHex, FAT Directories, File Allocation Table, File Slack, New Technology File System (NTFS),
Comparison to FAT, NTFSWalker tool, Partition Boot Sector, Boot Sector in WinHex, Master File
Table (MFT), MFT File Attributes, Directory Files (Index Nodes), $INDEX_ROOT, NTFS Encrypting
File System (EFS), Whole Disk Encryption, NTFS Compressed Files.
[8 Hrs]
Linux File System: Examining Linux File Structures, Ext4, Superblocks, Directory entries, Inodes,
Data blocks, Acquiring file system images using dd, dcfldd, Write blocking options, Mounting images,
Leveraging The Sleuth Kit (TSK) and Autopsy, fsslat, mmls, Forensic data from /etc, /usr, /var, /dev,
/proc, Timeline Analysis.
[6 Hrs]
Network Forensics: Email Structure, Email Server Examination, Tracing emails, Email Forensics
Tools, Cloud Forensics and Cloud Forensics Tools.
[4 Hrs]
Text Books
“Guide to Computer Forensics and Investigations”, Bill Nelson, Amelia Phillips, Christopher
Steuart, 6th Edition, Course Technology, Cengage Learning, ISBN-13: 978-1-435-49883.
Page 37
"Digital Forensic: The Fascinating World of Digital Evidences", Nilakshi Jain and Dhananjay R.
Kalbande, Wiley 2016, ISBN .9475656718-879
Reference Books
“File System Forensic Analysis”, Brian Carrier, Pearson education, 1st Edition, ISBN13:978-
0321268174.
“Handbook of Digital Forensics and Investigation”, E. Casey, Academic Press, 1st Edition,
2010, ISBN-13: 978-0123742674.
"Cyber Forensics", Dejey and S. Murugan, Oxford University Press, ISBN
9780199489442.Dejey, Murugan, Cyber Forensics, Oxford Higher Education, 2018
Course Outcomes
Students will be able to:
1. Study of Computer Forensics and different tools used for forensic investigation
2. Recovering Deleted Files with the help of Forensics Tools
3. Study the steps for hiding and extract any text file behind an image file/ Audio file using
Command Prompt.
4. Extracting Exchangeable image file format (EXIF) Data from Image Files using Exifreader
Software
5. Preparing the forensic image of the hard drive using EnCase Forensics and Restoring the
Evidence Image using EnCase Forensics
6. Collecting Email Evidence in Victim PC using Forensics Tools
7. Extracting Browser Artifacts, viewing last activity of your PC, finding last connected USB on
your system (USB Forensics)
8. Using Autopsy tool live forensics case investigation
Page 38
This is a suggested list. The instructor is expected to continuously update it.
Course Outcomes
Students will be able to:
1. Apply fundamental concepts of software testing, process and methods.
2. Design test project, test cases, test data, test environment for conducting tests.
3. Propose software testing solutions.
4. Generate test report by making use of manual testing techniques and automation tools.
5. Devise solutions towards defects solving and software failures by making use of object-
oriented and component-based software testing methods.
Course Contents
Introduction to Testing: Definition, Need of testing, Testing Principles, Basic concepts – errors,
faults, defects, Failures, Verification and validation activities , Functional testing, Non functional
testing, Levels of testing, Types of Testing, White box testing, Black box testing, continuous
integration and continuous deployment (CICD),Regression testing, Acceptance testing, smoke and
sanity testing, , Performance testing, Recovery testing, Application of statistics and probability
distribution in Testing.
[7 Hrs]
Black -box testing Techniques: Need of black box testing, Black box testing Concept,
Requirement Analysis, Test case design criteria, Testing methods, Requirement based testing,
Positive & negative testing, Boundary value analysis, Equivalence Partitioning, Decision table
testing, State transition testing, Use case testing, Cause effect graph based, Error guessing,
Documentation testing & domain testing, Design of test cases.
[7 Hrs]
White-box testing Techniques: Need of white box testing, Testing types, Test adequacy criteria,
Static white-box testing, Dynamic white-box testing, Structure - logic coverage criteria, Basis path
testing, Graph metrics, Loop Testing, Data flow testing, Mutation Testing, Design of test cases,
Testing of Object oriented systems, Challenges in White box testing.
[8 Hrs]
Test Management: Testing life cycle – Roles and activities, Test Planning –Master Test Plan-test
environment, test suite, test bed, test data, test schedule, forming a test team, Develop test plan
Page 39
review, Test Cases design strategies, Test adequacy criteria, Coverage and control flow graphs,
Paths, Loop testing, Test execution, Life cycle of defect, Defect tracking, Defect detection stages,
defect types, defect severity, defect analysis and prevention.
[6Hrs]
Quality Assurance: Quality concepts – quality, quality control, quality assurance, difference
between QC ad QA, Software quality assurance – SQA activities, Software reviews, Inspections,
Audits, Software quality attributes - Correctness, reliability, usability, integrity, portability,
maintainability, interoperability, Ishikawa’s seven quality tools, six sigma.
[6 Hrs]
Testing Tools: Manual testing, manual testing Vs automated testing, automation frameworks,
Automated testing tools and case studies, Study of testing tools –Test Execution tool, Selenium
basics , Selenium IDE, Web-driver, Test NG, Postman, Performance, Scalability and Reliability
Testing, Case studies on web based and GUI testing.
[6 Hrs]
Text Books:
“Software Testing Techniques”,Beizer B. Van Nostrand Reinhold (1990) 2nd edition, ISBN 0-
442-20672-0
“Managing the Testing Process “,Black, R. (2001) (3rd edition), John Wiley & Sons New
York, ISBN: 978-0-470-40415-7.
“Software Engineering “,Ian Sommerville , 9th Edition, Pearson, Boston, ISBN-13: 978-0-13-
703515-1.
Reference Books:
“Lessons Learned in Software Testing “,Kaner, C., Bach, J. and Petttico B. (2002), John
Willey & Sons: New York, ISBN-13: 978-0471081128.
“The Art of Software Testing Myers”, Glenford J. (1979), John Wiley & Sons: New York, ISBN-
13: 978-1118031964
“The Testing Practitioner”, Van Veenendaal, E. (ed.) (2004) UTN Publishers: The
Netherlands, ISBN 90-72194.
Online References:
Page 40
Watts Humphrey, “Managing Software Processes” Addison-Wesley Longman Publishing Co.,Inc.
Boston, MA, USA ©1989, ISBN:0-201-18095-2
Course Outcomes
Students will be able to:
1. Devise and develop T&QA project staffing requirements.
2. Test functionality of programs using various testing techniques
3. Demonstrate use of automated testing tools.
4. Apply quality metrics in order to assure quality of software system.
5. Analyze defects in software by applying probability distribution functions.
2. Develop following tests for a program by using object oriented programming language like
Java :
a. Path testing,
b. Loop Testing,
c. Data flow testing
d. Mutation Testing,
e. Coverage testing
Document Test cases and test data.
3. Develop various test cases for website application and perform appropriate testing by
applying suitable techniques on it.
5. Demonstrate use of automated testing tools like Selenium, TestNG etc for software
developed.
Page 41
6. Apply software quality assurance methods like Six Sigma for the software used in
assignment 4 & 5 .
7. Perform defect analysis of a software using probability distribution for instance Rayleigh
distribution.
8. Demonstrate use of Ishikawa’s tools for ensuring quality of the developed system.
9. Evaluate PSR testing depending upon the functional areas and characteristics of the problem
statement / program chosen. (PSR testing is applicable for all enterprise applications).
Course Outcomes:
Students will be able to:
1. Correlate, describe and critically appreciate design of Unix commands, system calls and
Operating System internal data structures
2. Write code snippets using system calls to emulate Unix commands, short system utilities and
applications
3. Predict the output for a given code snippet consisting of various system calls
Introduction: Role of OS, CPU Protection Rings, POSIX APIs, System calls, System Call Handler,
Parameter Passing, Kernel Wrapper Routines, System architecture, Files and directories, User
identification, Programs and processes, Signals, POSIX, SVR4, ISOC limits, POSIX limits; sysconf,
pathconf, fpathconf.
[6 Hrs]
File Management: File data structures, File Control Operations, File Status Flags, Duplicating File
Descriptors, Nonblocking I/O, File Types, set-user-id, set-group-id, Sticky bit, File attributes, File
Ownerships, Access Permissions,Process File Mode Creation Mask, File Size, File truncation, System
data files: passwd, shadow, etc. File Systems, hard/Symbolic Links, Directory Files, File Times,
Special Device Files, FIFO files, System calls: open, creat, close, lseek, read, sync, dup, fcntl, ioctl,
stat, access, umask, chown, link, symlinkk, utime, getcwd.
[10 Hrs]
Process Control: Context of a process, process states and Transitions, Environment of a UNIX
Process, Process Termination, Command-Line Arguments, Environment List, Memory Layout,
Performing a Nonlocal Goto, Processes Identifiers, Process Creation, Termination, Monitoring Child
Processes, File Sharing between Parent and Child, Zombie process, Race Conditions, Process
Page 42
Execution, Process Credentials, Set-User-ID and Set-Group-ID Programs, Saved Set-User-ID and
Saved Set-Group-ID, Retrieving and Modifying Process Credentials, Process Time, Interpreter Files,
Executing a Shell Command, system and security, Processes Accounting. Process Relationships:
Introduction, Terminal Logins, Network Logins, Process Groups, Sessions, Controlling Terminal,
Controlling Process,Foreground and Background Process Groups, Job Control, Shell Execution of
Programs, Orphaned Process Groups, System calls: setjmp, longjmp, getrlimit, setrlimit,fork, vfork,
exit, wait, exec, system, tcgetpgrp.
[12 Hrs]
[4 Hrs]
Signals: Signal Types and Default Actions, Defining Signal Dispositions, Sending Signal, SIGCLD
Semantics, Re-entrant functions, Displaying Signal Descriptions, alarm, Waiting for a Signal, Signal
Set, Signal Mask, Pending Signals, Waiting for a Signal Using a Mask, Handling Signal with
unconditional Jump, Suspending Process Execution for a Fixed Interval, Implementation of abort,
system function handling signals, System calls and functions: signal, kill, raise, alarm, sigprocmask,
sigpending, sigaction, sigsetjp, abort, sigsuspend, SIGCLD, sleep;
[6 Hrs]
IPC: Interprocess Communication Techniques: Pipe, popen, pclose, Coprocesses, FIFOs, System V
IPC, Message Queues, Semaphores, Shared Memory, POSIX IPCs, Sockets.
[2 Hrs]
Text Books
E W. Richard Stevens, Stephen A Rago, Advanced Programming in the UNIX Environment,
Addison-Wesley, 3rd Edition, 2013, ISBN-13: 978-0-321-63773-4.
Michael KerrisK, The Linux Programming interface, A Linux and UNIX® System Programming
Handbook, 2010, ISBN-10: 1-59327-220-0.
Reference Books
Maurice J. Bach, The Design of Unix Operating System, PHI, 2009, ISBN-13: 978-
0132017992 .
Daniel P. Bovet, Marco Cesati, Understanding the Linux Kernel, 3rd Edition, O'Reilly, 2006,
ISBN-10: 8184040830Terrence Chan, UNIX System Programming Using C++, Prentice Hall
India, 1999, ISBN-10: 0133315622.
Kay A Robbins and Steve Robbins, Unix Systems Programming, Pearson Education, 2004,
ISBN-10: 0130424110.
Marc J. Rochkind, Advanced UNIX Programming, 2nd Edition, Pearson Education, 2005,
ISBN-10:0131411543.
Page 43
(CT-DE-) Advanced Unix Programming Laboratory
List of Assignments:
1. Using the system calls for regular files
a. Emulate the command: cat >>file1. Test the program by executing three times
by giving different inputs to be stored in the file.
b. Write a program to create a file with a hole: write any 10 bytes at an offset of 10
and another 10 bytes at an offset of 30. Using “system” function, invoke “od”
command and view the contents. Later copy the contents of the file to another file
without writing the bytes of 0. Once again verify the contents by invoking
“system” with “od”.
2. Using system calls on file attributes, symbolic links
a. Create a file with permissions R, W, X for User, R, W for Group and R for Others.
Display the permissions as a string. Later Remove the W from group and R from
Others and set the Setuid bit on. Login as a different user and check the success
of Read of access and open function.
b. Create a list of symbolic links like e f, d e, c d, b c, a b. Input a symbolic
link file name (say a). Display all the links until it is not possible to follow.
3. Using system calls on directory and file properties
a. Does calling stat function change any of the time values? Verify with a program.
b. Input a directory name as command line argument. Check its validity and then
display all files in that directory as well as the files in all subsequent
subdirectories.
4. Exercises on using system calls on exec and session
a. This program works like a shell. Display a prompt and the user enters a command
at the prompt. The command should be read from the standard input and will be
executed. Do not use system API. The program will be quit when logout is
entered at the prompt.
Page 44
b. Call fork. Let the child create a new session. Verify that the child becomes the
process group leader and it does not have a controlling terminal
c. Write a program to verify that when a process in an orphaned process group
attempts to read() from the controlling terminal, the read() fails.
5. Exercises on using system calls on signal
a. Catch the SIGTERM signal, ignore SIGINT and accept the default action for
SIGSEGV. Later let the program be suspended until it is interrupted by a signal.
b. Create a child process. Let the parent sleeps of 5 seconds and exits. Can the child
send SIGINT to its parent if exists and kill it? Verify with a sample program.
c. Child inherit parent’s signal mask when it is created, but pending signals for the
parent process re not passed on”. Write appropriate program and test with
suitable inputs to verify this.
6. Exercises on using system calls on IPC – pipe
a. A pipe setup is given below that involves three processes. P is the parent process,
and C1 and C2 are child processes, spawned from P. The pipes are named p1, p2,
p3, and p4. Write a program that establishes the necessary pipe connections,
setups, and carries out the reading/writing of the text in the indicated directions.
7. Terminal Handling
a. Write a program that calls tty_raw and terminates (without resetting the terminal
mode). Then use the reset(1) command to restore the terminal mode.
b. Write a program that calls pty_fork and have the child exec another program that
you must write. The new program that the child execs must catch SIGTERM and
SIGWINCH. When it catches a signal, the program should print that it did; for the
latter, it should also print the terminal’s window size. (This task can be extended
further to have parent send signals to PTY slave).
This is an illustrative list of assignments. The instructor is expected to update the list.
Course Outcomes
Students will be able to:
1. Explain functioning of general purpose computing system and embedded system,
architecture and features
2. Explain hardware and software design methodologies for embedded systems
3. Analyze the need for selecting embedded operating system and process of embedded system
development
4. Evaluate ARM processor and system architecture along with its features and peripherals
based on requirements of embedded system architecture
5. Analyze Architecture for embedded applications & recent trends of embedded systems
Course Contents
Embedded Systems Overview: Introduction, Definition, Characteristics & Salient Features,
Classification, Overview of Embedded System Architecture & Recent Trends, Application Areas
[4 Hrs]
Embedded System Architecture: Hardware Architecture: Basic building blocks, Devices and
Communication Interfaces, Software Architecture: Embedded Operating System, Applications
Software & Communication Software (Firmware)
[6 Hrs]
ARM processor: Introduction ARM architecture and Cortex : M series, Introduction to the Tiva
family viz. TM4C123x and its targeted applications, Tiva block diagram, address space, on-chip
peripherals, Simplified view: block diagram, programming model: Registers, Operation modes,
Exceptions and Interrupts, Reset Sequence
[8 Hrs]
Page 46
ARM Cortex M4 Peripherals: I/O pin multiplexing, GPIO control, Watchdog Timer, System Clocks
and control, Hibernation Module on TM4C, Introduction to Interrupts, Interrupt vector table,
interrupt programming, Timers, ADCs, UART and other serial interfaces: USB, PWM, RTC, DMA, QEI
on TM4C microcontroller
[7 Hrs]
Text Books
K.V.K. Prasad, Embedded / Real Time Systems: Concepts, Design and Programming Black
Book, Dreamtech Press, 2005 publications ISBN 10: 8177224611 / 13: 9788177224610
Joseph Yiu’s The Definitive Guide to ARM Cortex-M3 and Cortex-M4 Processors – Third
Edition, published by Elsevier ISBN: 9789351071754, 9351071758
Embedded Systems: Real-Time Interfacing to ARM Cortex-M Microcontrollers, 2014, Jonathan
W Valvano Createspace publications ISBN: 978-1463590154.
Embedded Systems: Introduction to ARM Cortex - M Microcontrollers, 5th edition Jonathan W
Valvano, Createspace publications ISBN-13: 978-1477508992
Vahid F. and Givargies T., Embedded Systems Design, John Wiley X. Sons, 2002, Third
edition, ISBN:978-81-265-0837-2
Reference Books
John B Peatman, Design with PIC Microcontrollers, Pearson Education, 1998, ISBN:978-81-
7758-551-3
Liu, Real-Time Systems, Pearson Education, 2000. 5. Technical Manuals of ARM Processor
Family available at ARM Website on Net
Doug Abbott, Linux for Embedded and Real-time Applications, Newnes, Fourth Edition, ISBN:
978-0128112779
Raj Kamal: Embedded Systems – Architecture: Programming and Design: McGraw Hill
Education, Second Edition, ISBN:978-0070667648
Course Outcomes
Students will be able to:
1. Write and demonstrate a working solution for a given problem
2. Think of all possible inputs to an application and handle all possible errors properly
3. Develop a system using the concepts of RISC architecture and ARM processors
4. Write software programs for ARM processor to develop a suitable application
Page 47
Suggested List of Assignments
List of Experiments based on Cortex M4 Tiva Microcontroller:
Course Outcomes
Students will be able to:
1. Demonstrate the understanding of basic text processing techniques in NLP.
2. Design, implement and evaluate part-of-speech taggers and parsers for a language.
3. Build language models for different languages.
4. Apply knowledge base for Word Sense Disambiguation.
5. Analyze and build word embeddings for different languages.
Course Contents
Introduction: What is NLP, Fundamental and Scientific goals, Engineering goals, stages of NLP,
problems in NLP, Applications of NLP, Empirical Laws of language, zipf’s law, Heap’s law.
[4 Hrs]
Basic Text Processing and Morphology: Tokenization, word token, word type, sentence
segmentation, feature extraction, issues in tokenization for different languages, word segmentation,
text segmentation, normalization, case folding, Spelling Correction, Morphology-morphemes, types,
Inflectional and Derivational morphology, , Stemming, lemmatization, Porters Algorithm, , Spelling
correction -minimum edit distance, N-gram Language Modeling- probabilistic language model, auto
completion prediction, Evaluation and perplexity, Smoothing techniques.
[8 Hrs]
POS Tagging : Sequence labeling tasks of NLP, POS tagging, POS tag sets, Hidden Markov Model-
Introduction, Markov Processes, HMM characterization -Likelihood of a sequence (Forward
Procedure, Backward Procedure), Best state sequence (Viterbi Algorithm), Re-estimation(Baum-
Welch - Forward-Backward Algorithm) , Models for Sequential tagging – Maximum Entropy,
Conditional Random Field, Long Short Term Memory (LSTM).
Page 48
[8 Hrs]
[10 Hrs]
Lexical Semantics : Introduction, WordNet: Word Senses, Word relations, Word similarity and
thesaurus methods, Word Sense Disambiguation, Novel Word Sense Detection, Applications.
[6 Hrs]
Distributional Semantics :Distributional Hypothesis, Vector Space Model for Semantics, One hot
encoding, Distributional Representation, tf-idf, Point wise Mutual Information, Word Vectors, Vector
offsets for Analogy Reasoning, Word embeddings, Methods of generating word embeddings: Skip-
gram, CBOW, Glove model, Soft-max, evaluation measures-rough scores, Applications.
[6 Hrs]
Text Books
Daniel Jurafsky and James H. Martin, “Speech and Language Processing”, Second Edition,
Prentice Hall, 2008, ISBN: 978-0131873216.
Allen James, “Natural Language Understanding”, Second Edition, Benjamin/Cumming, 1994,
ISBN: 978-0805303346.
Chris Manning and Hinrich Schuetze, “Foundations of Statistical Natural Language
Processing”, MIT Press, ISBN: 978-0262133609.
Reference Books
Journals: Computational Linguistics, Natural Language Engineering, Machine Learning,
Machine Translation, Artificial Intelligence.
Conferences: Annual Meeting of the Association of Computational Linguistics (ACL),
Computational Linguistics (COLING), European ACL (EACL), Empirical Methods in NLP
(EMNLP), Annual Meeting of the Special Interest Group in Information Retrieval (SIGIR),
Human Language Technology (HLT)
Page 49
Course Outcomes:
Students will be able to:
1. Demonstrate the understanding of basic text processing techniques in NLP.
2. Build language models.
3. Build parts of speech tagger and dependency parsers for English language.
4. Apply WSD technique using knowledge base WordNet for English language.
5. Study and apply word embeddings to real-life problems.
List of Assignments:
Please describe as tasks to be performed. More details required.
1. Social Media Data Tokenization & Normalization.
2. Designing spell checking program.
3. Language Modeling.
4. Viterbi Decoding Algorithm for Parts of Speech tagging.
5. LSTM for Parts of Speech tagging.
6. Design and implement a co-reference resolution model.
7. Building a dependency parser for given input sentence.
8. Word sense disambiguation using WordNet.
9. Studying word embeddings for English/Hindi/Marathi language.
10. Build an application using word embedding to solve real-time problem.
Course Outcomes
Students will be able to:
1. Justify the need of high performance computing.
2. Demonstrate quantitative design principles of parallel computer architectures.
3. Measure and analyze performance through different benchmarks and utilities.
4. Differentiate various parallel computer architectures and programming models.
5. Demonstrate and build a basic cluster setup.
Course Contents
Fundamentals of Performance oriented Architecture Design: Defining Computer
Architecture, Trends in Technology, Trends in Cost, Dependability, Measuring, Reporting and
Summarizing Performance, Quantitative Principles of Computer Design, Moore’s Law, Amdahl’s Law,
Gustafson’s Law, Flynn’s Classification of Computer Architectures, Recent Computing Trends, Top
Page 50
500 Ratings, Fundamentals of Computer Design, Basic and Intermediate concepts of pipelining ,
Pipeline Hazards, Pipelining Implementation issues.
` [5 Hrs]
Instruction-Level Parallelism and its Exploitation: Concepts and Challenges, Basic Compiler
Techniques for Exposing ILP, Reducing Branch Costs with Prediction, Scheduling, Overcoming Data
Hazards with Dynamic Scheduling, Dynamic Scheduling: Algorithm and Examples, Hardware-Based
Speculation, Studies of the Limitations of ILP, Limitations on ILP for Realizable Processors, Hardware
versus Software Speculation, ILP Support to Exploit Thread-Level Parallelism.
[8 Hrs]
Data-Level Parallelism in Vector, SIMD: Vector Architecture, Vector Instructions, AVX support,
Vectorizing code, SIMD Instruction Set Extensions for Multimedia, Detecting and Enhancing Loop-
Level Parallelism, Case study of vector architecture
[7 Hrs]
Memory Hierarchy Design: Basics of Memory Hierarchy, Cache Performance, Basic Cache
Optimizations and numericals, Shared and Private Cache, Virtual Memory, Protection and Examples
of Virtual Memory, Memory Technology and Optimizations, The Design of Memory Hierarchies, Study
of Memory Hierarchies in different Architectures, Case studies.
[7 Hrs]
Parallel Programming Paradigms: Cluster and Network of Workstations (COW and NOW),
Different ways of building a cluster, Parallel Programming Models: Shared Memory, Message
Passing, Data Parallel, MPI/PVM, Parallel Algorithm examples: Matrix Multiplication, Sorting,
Introduction to Parallel Programming Languages. Case studies of different cluster/ server
architectures.
Warehouse-Scale Computers: Architecture, Programming Model and Workloads
[6 Hrs]
Text Books
John L Hennessy, David A Patterson, “Computer Architecture: A Quantitative Approach”, Fifth
Edition, Morgan Kaufmann, 2011, ISBN-13: 978-8178672663
Kai Hwang, Naresh Jotwani, “Advanced Computer Architecture”, Third Edition, Tata McGraw-
Hill Edition, 2016, ISBN: 978-9339220921.
Page 51
Reference Books
D. E. Culler, J. P. Singh, and A. Gupta, “Parallel Computer Architecture”, Second Edition,
Morgan Kaufmann, 2017, ISBN: 978-1-4987-7271-6.
Hesham El-Rewini, Mostafa Abd-El-Barr, “Advanced Computer Architecture and Parallel
Processing”, Wiley, 2005, ISBN: 9780471467403
Course Outcomes
Students will be able to:
1. Learn basics of quantitaive approaches to analyze performance of computing systems.
2. Demonstrate performance statistics using perf utility.
3. Implement programs using different parallel programming paradigms.
4. Implement message passing programs in distributed environment.
5. Demonstrate the different steps involved in building of a simple cluster.
Reference Books
Peter S. Pacheco, “An Introduction to Parallel Programming”, Morgan Kaufmann, Morgan
Kaufmann, 2011, ISBN: 978-0-12-374260-5.
Michael Quinn, “Parallel Programming in C with MPI and OpenMP”, McGraw-Hill Edition,
2003, ISBN13: 978-0072822564.
Course Outcomes:
Students will be able to:
1. Define the need of Cyber Security.
2. Explain the IT act, Application Security vulnerabilities and its mitigation techniques.
3. Demonstrate the knowledge of penetration testing, and social networking security.
4. Analyse the malwares, social networking websites and impact of cyber-crime on e-commerce.
Unit I:Introduction: Nature and scope of computer crime, Understanding how cyber criminals and
hackers work, Different types of cyber-crimes, Introduction to digital signatures, Cryptography,
Digital certificate and public key infrastructure, IT Act., Impact of cyber-crime on e-governance and
e-commerce.
[6 Hrs]
Unit II: Malware reverse engineering: Overview of malware reverse engineering, Types of
malware, Malicious code families, Latest trends in malware analysis, Basic static and dynamic
analysis, Malware analysis techniques, Case study.
[6 Hrs]
[8 Hrs]
Unit IV:Advanced security topics: Secure email systems: PGP, SMIME, DKIM, DMARC, DNSSec,
SMTP STS etc., Privacy and security for online social networks, Database security, Browser security,
Mobile device security.
[8 Hrs]
Unit V: Ethical hacking and penetration testing: Security Technologies: IDS, IPS, Ethical
hacking, Penetration testing fundamentals: Reconnaissance, scanning, gaining access, maintaining
access, Covering tracks.
[6 Hrs]
Unit VI:Case studies: Cloud security, Operating system security, Security of social networking
websites, IoT devices security, E-commerce websites security.
[6 Hrs]
Page 53
Text Books
Hossein, “Handbook of Information Security, Threats, Vulnerabilities, Prevention, Detection,
and Management”, Wiley, Volume 3 edition, ISBN-13: 978-0470323069.
Georgia Weidman, “Penetration testing: A Hands-On Introduction to Hacking”, No Starch
Press, 2014, ISBN-13: 978-1593275648.
Michael Sikorski and Andrew Honig, “ Practical Malware Analysis”, No Starch Press, 1st
Edition, 2012, ISBN-13: 978-1593272906
Reference Books
“Practical Internet of Things Security” by Brian Russell, Drew Van Duren, Packt publishing,
2016, ISBN: 9781785889639
T. Mather, S. Kumaraswamy, S. Latif, “Cloud Security and Privacy: An Enterprise Perspective
on Risks and Compliance”, O'Reilly Series, 2009, ISBN-13: 978-0596802769.
“Cyberlaw: the Indian perspective”; Pavan Duggal; Saakshar Law Publications, 1st edition,
2002, ISBN: 8189121022, 9788189121020.
List of Assignments:
1. Perform literature survey of recent research papers on cyber security.
2. Perform case study of any two cyber-crime cases in India and write a report illustrating
Indian cyber laws (IT Act, IT Act 2008. IPC) relevant to these cases.
3. Perform malware reverse engineering in an isolated environment using sandbox and
document the findings.
a. Use any sample malware file.
b. Study malware behaviour: its working, how it spreads. Find its features/characteristics.
c. Identify the changes made by malware on the system. (for e.g., changes in event log,
registry etc.). Difference between infected and normal system.
d. Describe detection method or alert system for malware
e. Write down steps to remove the malware and make system safe again.
4. Perform penetration testing using Kali Linux on virtual machine and write a report.Follow
each stage of penetration testing: Planning and reconnaissance, scanning, gaining access,
maintaining access and analysis.Once the Kali is installed, use following tools. Submit a
report answering following questions:
a. Maltego: How did you perform the following things?
• Associate an e-mail address to a person
• Associate websites to a person
• Verify an e-mail address
• Gather details from Twitter, including geolocation of pictures
b. Vega: Provide a target website and scan that website for vulnerabilities.
Page 54
c. NMAP: Scan your local network and provide screenshot of the report
d. Tamper Data plugin in FireFox: Gather information of GET and POST request for
gmail.com
e. Metasploit framework: List out all the exploits provided by metasploit framework.
Explain preconditions and expected end results for each one.
5. Provide screenshots also. Do not use any exploit without proper permission.
6. Implement any IDS/IPS system.
This is an illustrative list of assignments. The instructor is expected to update the list.
Departmental Elective – IV
(CT-DE-) System Administration
Course Outcomes
Students will be able to:
Carry out the following tasks, with special emphasis on GNU/Linux based systems:
1. Install various Linux distributions and Windows-based servers and desktop systems on
commodity hardware, and carry out basic administration tasks of the user, network, process,
storage management.
2. Setup a LAN-based laboratory using DHCP.
3. Install and configure a web server, database server, DNS, NFS, NIS, LDAP based system,
secure a Desktop and a server system completely using existing tools.
4. Learn how to manage the Linux file system and the storage of data
5. Provide security administration for Linux
Course Contents
Security Administration: Methods of attack, Network security tools- Nmap, Snort, Nessus,
Wireshark/tcpdump, Firewall, IPtables, NAT, IP filtering, Setting up linux firewall, Mandatory access
control (MAC), SELinux, Cryptographic security tools Authentication mechanisms, LDAP, Proxy
servers.
[8Hrs]
Devices Administration: Device resources, udev: Device files, Installing and configuring printers,
Managing printers via the web interface, Scanners, PCI devices, LAN cards, Device troubleshooting,
Plug and Play devices.
[4Hrs]
TextBooks
Evi Nemeth, Garth Snyder, Ben Whaley, Trent R. Hein, "UNIX and Linux System
Administration Handbook", Pearson Education, Fourth edition, ISBN-13: 978- 8131761779
Richard Petersen, "Linux: The Complete Reference, Sixth Edition", Mcgraw-Hill Education
Sixth edition,ISBN-13: 978-0070222946
Arnold Robbins, Nelson H. F. Beebe, "Classic Shell Scripting", Shroff/O'ReillyFirst edition,
ISBN-13: 978-8173668463
Wale Soyinka, "Linux Administration: A Beginner's Guide”, McGraw-Hill Osborne Media
Publication Sixth Edition, ISBN-13: 978-0071767583
Olaf Kirch & Terry Dawson, ”Linux Network Administrator's Guide”, O′ Reilly 2nd Edition June
2000,ISBN-10: 1565924002,ISBN-13: 978-1565924000
W.Preston, “Using SANs and NAS”,O′ Reilly; First Edition, February 2002,ISBN-10:
0596001533,ISBN-13: 978-0596001537
Reference Books
Richard Blum, Christine Bresnahan, "Linux Command Line and Shell Scripting Bible", Wiley
India Pvt. Ltd., Second edition, ISBN-13: 978-8126533831;
Jean-Paul Tremblay, Paul. G. Soresan, “An introduction to data structures with Applications”,
Tata Mc-Graw Hill International Editions, 2nd edition 1984, ISBN-0-07- 462471-7
Page 56
(CT-DE-) System Administration - Laboratory
Teaching Scheme Examination Scheme
Laboratory: 2 Hrs / Week Continuous evaluation: 50 Marks
End Semester Exam: 50 Marks
Course Outcomes
Students will be able to:
1. Learn how to install the Linux operating system and software.
2. Configure and setup the LAN
3. Do Configuration and installation of linux based ssh server, telnet server, web server,
database server
4. Manage users and groups by adding/deleting/modifying, configuring LDAP
5. Manage system storage by using partitions, logical volumes and phsyical volumes
6. Understand and configure SELinux in Linux
Page 57
(CT-DE-) Storage & Virtualization
Teaching Scheme Examination Scheme
Lectures: 3 Hrs./week Assignment/Quizzes: 40 marks
End Semester Exam: 60 marks
Course Outcomes
Students will be able to:
1. Apply, compare and contrast basic concepts of hardware storage, NAS-SAN, virtualization
concepts.
2. Analyze cloud computing setup with its vulnerabilities and applications using different
architectures.
3. Assess cloud Storage systems and cloud security, the risks involved, its impact and develop
suitable cloud application.
4. Design and implement Virtualization environment and apply cloud resource management.
5. Manage different storage technologies
Basics of Systems and Storage: Storage Challenges, Issues- Data sources, challenges of data
growth and data availability, Performance and manageability requirements, Data virtualization, OS
and device drivers - Kernel, firmware, RDMA, boot sector, device partitioning, UNIX file system,
virtual memory, namespace, metadata, buffer cache, defragmentation.
[6 Hrs]
Storage Hardware and SCSI Protocol: Storage hardware and SCSI Protocol, SAN, NAS, Fibre
Channel and iSCSI, Storage Hardware Building Blocks - Device types, HBA, switches, hubs, routers,
GBIC, Introduction to various Storage protocols, Overview of IDE, SAS, SATA, SCSI, FC, FCoE, iSCSI,
Infiniband, FCP, FC-IP, iFCP, Fibre Channel Protocol Stack & Concepts- FC ,Mapping Protocols -
iSCSI, FCP- SCSI mapping to underlying transport, Connection Management, PDU,TOE.
[6 Hrs]
SAN & NAS: SAN concepts, DAS, SAN architecture, concepts of zoning, name server, SCN, WWN,
routing, FC-SAN, IP-SAN and Applications, NAS concepts, NAS architecture, Protocols (CIFS, NFS),
Performance, Scalability and Usability, Appliances.
[6 Hrs]
Storage Virtualization Concepts: Data Centre end-to-end view, Overview of stack, clustering,
virtual Machines, cloud storage and virtualization, RAID levels, I/O stack, OS abstraction, Storage
Pooling, Storage Provisioning, Online Grow/Shrink Storage Virtualization, Metadata management,
Transaction consistency, I/O maps, I/O path considerations, Data consistency, Crash recovery,
Application interfaces, Linux container.
[7 Hrs]
Page 58
Applications and Use Cases for Storage Virtualization: Storage Virtualization use cases,
applications, data replication, RPO/RTO, Snapshots, Data protection, Restore, Archival, Compliance
considerations. Capacity Management, Storage provisioning, De-duplication, thin provisioning,
Storage Tier, ILM, Data classification, Storage grid.
[7 Hrs]
Cloud Computing: Virtualized environments features, taxonomy of virtualization techniques,
virtualization, Cloud Computing basics, Cloud architectures, Services and applications, Cloud
Computing mechanisms, MapReduce programming model, Benefits and challenges, Cloud resource
management and scheduling, Cloud migration, Service management and SLAs, Security, and
monitoring, Cloud Platforms in industry, Case study of AWS, Google Cloud, Microsoft Azure and IBM
Softlayer.
[8 Hrs]
Text Books
Storage Networks: The complete Reference. Robert Spalding TMH.
Designing Storage Area Networks: A Practical Reference for Implementing Fibre Channel and
IP SANs, Second Edition Publisher: Addison-Wesley Author: Tom Clark.
Reference Books
Cloud Computing: Concepts, Technology & Architecture, Thomas Erl, Prentice Hall, 2013.
Cloud Computing: Principles and Paradigms, Wiley Series on Parallel and Distributed
Computing, Rajkumar Buyya, James Broberg, Andrzej M. Goscinski, John Wiley and Sons,
2011,ISBN 978-0-470-88799-8.
Cloud Computing: Theory and Practice, Dan C Marinescu, Elsevier, 2013.
Cloud Computing Bible, Barrie Sosinsky, Wiley Publishing, 2011. ∙ Virtualization Essentials ,
Matthew Portnoy, John Wiley and Sons, 2012.
Computer Systems - A Programmer‟s Perspective, Randall Bryant and David O‟Hallaron
Pearson Education, 2003.
The Design and Implementation of the 4.4 BSD Operating System, McKusick, Bostic, Karels,
Quaterman, 1996.
Course Outcomes
Students will be able to:
1. Configure remote data replication functionality.
2. Implement a simple file system.
3. Demonstrate the concept of creating a snapshot of a hard drive.
Page 59
Suggested List of Assignments
1. Create synchronous remote replication functionality from host1 to host2. Implement the
functionalities :
a) Data written on local disk should be synchronously copied to remote disk
b) A write from an application should be completed only when data has been written to both
source and replicated node.
2. Writing a simple File System which provide functionality of "ls, mkdir, pwd" posix commands.
Apart from that it should support print operation. Write an application programme to test
these functionality.
3. Using the hard disk on one host create a snapshot for the same and store in a flat file on
other m/c. Provide a mechanism to restore the data from flat file.
4. Write a "Examination data server" using MySQL open source database for storing students
examination report, which is a snapshot of all present student's report of college. The report
consist of six field: Name, Id, Branch, Grade {in each semester}, Final Grade, Backlog
Courses. Write a client program to query on various parameters. Server should generate a
report for same {e.g. The no of students having CGPA (final grade) 7.0 and above in all
branches/particular branches. The No. of students not cleared in Mathematics yet, Name of
topper in every branch etc..}. Use pthreads to support multiple client queries. Also implement
write functionality {update in case of old students / addition (new students) / deletion (final
semester student who has passed out} and use reader/writer lock.
Course Outcomes:
Students will be able to:
1. Demonstrate the current topics in MANETs and WSNs, both from an industry and research
point of views.
2. Demonstrate the principles of mobile adhoc networks (MANETs) and what distinguishes them
from infrastructure-based networks.
3. Analyze how proactive routing protocols function and their implications on data transmission
delay and bandwidth consumption.
Course Contents
Introduction:
Fundamentals of wireless communication technology, Characteristics of the wireless channel,
multiple access techniques, IEEE 802 networking standard, Wireless LANs and PANs, IEEE 802.11
standard, IEEE 802.16 Standard, Bluetooth, HomeRF.
[6 Hrs]
Page 60
Cellular Wireless Networks And Wireless Internet:
The cellular concept, Cellular architecture, Generations of cellular systems, Wireless in local loop,
Wireless ATM, Wireless internet, What is wireless internet, Mobile IP, TCP in wireless domain, WAP,
Optimizing web over wireless.
[8 Hrs]
[6 Hrs]
Routing Protocols:
Design issues, Goals and classification. Proactive Vs reactive routing, Unicast routing algorithms,
Multicast routing algorithms, hybrid routing algorithm, Energy aware routing algorithm, Hierarchical
routing, QoS aware routing.
[8 Hrs]
Other Features:
Issues in designing transport layer Ad-Hoc networks, TCP over wireless Ad-Hoc networks, Security
issues in Ad-hoc networks, Secure routing protocols, Energy management in Ad-Hoc networks,
Battery management, Transmission power management and system power management.
[6 Hrs]
Text Books
C. Siva Ram Murthy and B. S. Manoj, Ad hoc Wireless Networks Architectures and
protocols, 2nd edition, Pearson Education. 2007
Reference Book
F.Zhao, L. Guibas, Wireless Sensor Networks: An Information Processing Approach. Morgan
Kaufmann, 2004
Stefano Basagni, Marco Conti, Silvia Giordano and Ivan sSojmenovic, Mobile Ad-hoc
Networking, Wiley-IEEE Press, 2004.
Mohammad Ilyas, The Handbook of Ad-hoc Wireless Networks, CRC press, 2002.
Page 61
(CT-DE-) Mobile and Ad-Hoc Networks Laboratory
Course Outcomes:
Students will be able to:
1. Apply knowledge of wireless Ad-hoc networks to various application areas.
2. Design, implement and maintain wireless Ad-hoc networks.
3. Formulate and solve problems creatively.
4. Practical knowledge acquired by hands-on session.
List of Assignments:
1. Analyze how the Data Rate of a Wireless LAN (IEEE 802.11b) network varies as the distance
between the Access Point and the wireless nodes is varied
2. Analyze the working and routing table formation of Interior routing protocols, i.e. Routing
Information Protocol (RIP) and Open Shortest Path First (OSPF)
3. Analyze the performance of a MANET, (running CSMA/CA (802.11b) in MAC) with increasing
node mobility
4. Develop and Analyze the performance of TCP connection when it is used for wireless
networks. You will find performance of TCP decreases dramatically when a TCP connection
traverses a wireless link on which packets may be lost due to wireless transmission errors.
Make use of Active Queue Management Technique to control congestion on Wireless
Networks. Evaluate the performance of FIFO, RED and WFQ over wireless networks using
suitable Network Simulator.
5. Develop unicast routing protocols using any suitable Network Simulator for (Mobile Ad hoc
Networks) MANET to find the best route using the any one of routing protocols from each
category from table-driven (e.g., link state or DSDV) on demand (e.g., DSR, AODV, TORA),
hybrid (e.g., ZRP, contact-based architectures) and hierarchical (e.g., cluster based.) The
efficient path/route should be established for source and destination data transmission using
routing protocols. Understand the advantages and disadvantages of each routing protocol
types by observing the performance metrics of the routing protocol. In that way the best
application/environment suitable routing protocol can be identified in each category.
6. Develop multicast routing protocols using any suitable Network Simulator for MANET in which
session nodes are connecting through either tree(MAODV, MCEDAR) or mesh (ODMRP,
CAMP, FGMP) structure. Analyze the performance metrics of multicast routing protocols with
unicast routing protocols.
This is an illustrative list of assignments. The instructor is expected to update the list.
Page 62
(CT-DE-) Computational Biology
Course Outcomes:
Students will be able to:
1. Demonstrate the concept of information generation from protein sequences, DNA
sequences, whole genome.
2. Extract information from large databases and to use this information in computer
modeling.
3. Evaluate various elements of computational biology such as genomic networks,
algorithms, and models
4. Design and develop current applications of computational biology.
Introduction: Molecular Biology Introduction, Cell, Nucleus, Genes, DNA, RNA, Proteins, And
Chemical structure of DNA, RNA, Transcription and Translation Process. Protein Structure and
Functions, Nature of Chemical Bonds Molecular Biology tools, Polymerase chain reaction
[8 Hrs]
Sequence Alignment: Simple alignments, Gaps, Scoring Matrices, Global and Local Alignments,
Smith-Waterman Algorithm, Multiple sequence Alignments, Gene Prediction, Statistical Approaches
to Gene Prediction
[5 Hrs]
Genome Algorithms: Genome Rearrangements, Sorting by Reversals, Block Alignment and the
Four-Russians Speedup, Constructing Alignments in Sub-quadratic Time, Protein Sequencing and
Identification, the Peptide Sequencing Problem
[8 Hrs]
Microarray Data Analysis: Microarray technology for genome expression study, Image analysis
for data extraction, Data analysis for pattern discovery, gene regulatory network analysis
[5 Hrs]
[8 Hrs]
Page 63
Drug Discovery & Next Gen Sequencing: Similarities/differences between drugs and receptors,
protein-ligand docking, Massively Parallel Signature Sequencing (MPSS), SOLiD sequencing, Single
molecule real time (SMRT) sequencing
[6 Hrs]
Text Books
Dan E. Krane, Michael L. Raymer, “Fundamental Concepts of Bioinformatics,”, Pearson
Education, Inc. Fourth Edition, 9780805346336.
Harshawardhan P. Bal, “Bioinformatics Principles and Applications”, Tata McGraw-Hill,
seventh reprint, 9780195692303.
Reference Books
Teresa Attwood, David Parry-Smith, “Introduction to Bioinformatics”, Pearson Education
Series, 9788180301971
R. Durbin, S. Eddy, A. Krogh, G. Mitchison., “Biological Sequence Analysis: Probabilistic
Models of proteins and nucleic acids”, Cambridge University Press, 9780521629713.
Course Outcomes:
Students will be able to:
1. Implement string matching algorithms
2. Implement solutions for sequential alignment problems
3. Solve phylogeny, topology, related problems
4. Use the tools for computational biology
Page 64
8. Perform data mining using Clementine on any arbitrary sequences.
9. Prepare detail report on Case study: A model consists of a rooted tree which models the
evolution relationship (Cavender-Felsenstein model and Jukes-Cantor model).
This is an illustrative list of assignments. The instructor is expected to update the list.
Course Outcomes:
Students will be able to:
1. Learn & analyze the working principles of multicore architectures.
2. Optimize performance of multicore systems.
3. Specify the necessity of SMP & AMP.
4. Comprehend and differentiate between SMP & AMP.
5. Identify and demonstrate the need of domain specific architectures.
Course Contents
Introduction to Multicore Systems: Fundamentals, The Era of Multicore Machines, Unicore vs
Multicore - Understanding Performance, Shared memory Multicore Systems, Distributed Memory
Multicore Systems, Hybrid Systems Symmetric and Asymmetric Multicore Systems, Overview of
Multithreading, Multithreading in different forms, Homogeneous and Heterogeneous Multicore
systems, Examples of different Multicore Systems.
[6 Hrs]
Cache Memory: Large Cache Design: Shared vs. Private Caches, Centralized vs. Distributed,
Shared Caches, Coherence: Snooping-based cache coherence protocol, directory-based cache
coherence protocol, Uniform Cache Access, Non-Uniform Cache Access, S-NUCA, D-NUCA, Inclusion,
Exclusion, Examples of different Cache Organization, Consistency Models, Case Study.
[7 Hrs]
Performance and Optimizations for Multicore Systems: Select the right “core” - Improve
serial performance - Achieve proper load balancing - Improve data locality - Reduce or eliminate
false sharing - Use of affinity scheduling - Lock granularity and frequency - Remove synchronization
barriers - Minimize communication latencies - Use of thread pools - Managing thread count - Use of
parallel libraries.
[6 Hrs]
Page 65
Programming Multicore Systems: Programming models for Multicore Systems – Shared Memory
Programming using pthreads - Shared Memory Programming using OpenMP – Use of OpenMP
compiler directives – #pragma with different clauses – Understanding parallelized loops –
Synchronization Constructs towards dependencies – Function parallel program - OpenMP Library
Functions, OpenMP Environment Variables, Compilation, Debugging, Performance.
[8 Hrs]
Open source Simulators: Different types of simulators for architectures, Classification parameters,
Different modes of simulators, Building benchmarks and running sample codes to observe different
parameters, Case Study: Any one of the simulator like gem5 or Tejas.
[7 Hrs]
[6 Hrs]
Text Books
Gerassimos Barlas, “Multicore and GPU Programming: An Integrated Approach”, Morgan
Kaufmann, 2015, ISBN: 978-0-12-417137-4.
Rob Oshana, “Multicore Application Development Techniques: Applications, Tips and Tricks”,
Elsevier, 2016, ISBN: 978-0-12-800958-1.
John L Hennessy, David A Patterson, “Computer Architecture: A Quantitative Approach”,
Sixth Edition, Morgan Kaufmann, 2018, ISBN: 978-0-12-811905-1.
Reference Books
Rajeev Balasubramonian, Norman P. Jouppi, and Naveen Muralimanohar, “Multicore Cache
Hierarchies”, Morgan & Claypool Publishers, 2011,ISBN: 9781598297546.
Daniel J. Sorin, Mark D. Hill, David A. Wood “A Primer on Memory Consistency and Cache
Coherence”, Morgan & Claypool Publishers, 2011, ISBN: 9781608455652.
Page 66
(CT-DE-) Multicore Technology Laboratory
Course Outcomes:
Students will be able to:
1. Explore programming models for multicore systems.
2. Program multicore systems using OpenMP.
3. Analyze differences in different simulator approaches.
4. Anaylzing outcomes of architectural simulations.
5. Memory behavior analysis using different benchmarks.
List of Assignments:
1. Program for matrix vector multiplication using pthreads.
2. Program to implement data sharing and thread scheduling.
3. Program for matrix vector multiplication using OpenMP clauses.
4. Program to implement sorting using OpenMP clauses.
5. Program to implement function parallel aspect using OpenMP clauses.
6. Program to demonstrate the use of barriers, critical sections.
7. Program to implement ordered and reduction clauses.
8. Setting up a open source simulator.
9. Running basic programs with open source simulator.
10. Benchmark study and analysis.
Reference Books
Barbara Chapman, Gabriele Jost, Ruud van der Pas, “Using OpenMP Portable Shared Memory
Parallel Programming”, The MIT Press, 2008, ISBN-13: 978-0-262-53302-7.
Online resources for simulators
Page 67
(CT-DE-) Geographical Information Systems
Course Outcomes
Students will be able to:
1. comprehend fundamental concepts and practices of Geographic Information Systems (GIS)
and advances in Geospatial Information Science and Technology (GIS&T).
2. have a basic, theoretical and practical understanding of GIS.
3. work independently with various types of geographical data in GIS.
4. understand maps, images and apps to communicate spatial data in a meaningful way.
5. apply GIS analysis to address geospatial problems and/or research questions.
Course Contents
Introduction: Introduction to GIS and Digital Geographic Data & Maps Introduction to Digital
Geographic Data: Introduction to Geographic Information Systems, Spatial Measurement, Spatial
Location and Reference, Spatial Patterns, Geographic Data Collection Map Basics: Abstract Nature of
Maps, Map Scale, More Map Characteristics, Map Projection, Grid Systems for Process, Map
Symbolism, GIS Data Models.
[6 Hrs]
Input, Storage and Editing: The Input Subsystem: Primary Data, Input Devices, Vector Input,
Raster Input, Remote Sensing Data Input, GPS Data Input, Metadata and Metadata Standards. Data
Storage and Editing: Storage of GIS Databases, Detecting and Editing Errors of Different Types,
Dealing with Projection Changes, Edge Matching, Rubber Shitting.
[8 Hrs]
Analysis: Elementary Spatial Analysis: GIS Data Query, Defining Spatial Characteristics, Working
with Higher – Level Objectives Measurement: Measuring Length of Linear Objectives, Polygons,
Shape and Distance Classification: Classification Principal, Elements of Reclassification, Neighborhood
Functions, Roving Windows, Buffers Statistical Surfaces: Surface Mapping, Sampling the Statistical
Surface, The DEM, Raster Surface, Interpolation, Terrain Reclassification, Slicing the Statistical
Surface, Cut and Fill Spatial Arrangement Point, Line and Area Arrangement, Point Patterns,
Thiessen Polygons, Area Patterns, Distance and Adjacency,Polygon Arrangement Measures, Linear
Patterns, Directionality of Linear and Areal Objective, Connectivity of Linear Objects, Gravity Model,
Routing and Allocation
[10 Hrs]
The Cartographic Overlay, Point-in-Polygon, Line-in-Polygon, Polygon Overlay, Automating the
Overlay, Types of Vector Overlay, CAD-Type Overlay, Dasymetric Mapping
Cartographic Modeling: Model Components, The Cartographic Models, Types of Cartographic
Page 68
Models, Inductive and Deductive Modeling, Factor Selection, model Flowchart, Model
implementation, Model Verification
[8Hrs]
GIS Output: The Output from Analysis: Output: The Display of Analysis, Cartographic Output, The
Design Process, Map Design Controls, Noncartographic Output, Two Case Studies on GIS, GIS
application areas :Urban management, Land resources, Environment, Transportation
[8Hrs]
Text Books
Michael N DeMers, “Fundamentals of Geographic Information Systems”, Wiley India
Education
Kang-tsung Chang, “Introduction to Geographic Information Systems”, McGraw-Hill
Publication
Reference Books
YEUNG, ALBERT K. W., LO, C. P., “Concepts and Techniques of Geographic Information
Systems”, PHI Learning
Victor Mesev, “Integration of GIS and Remote Sensing”, Baker-Berry G70.212 .I573 2007,
ISBN: 0470864109
Course Outcomes
Students will be able to:
1. become proficient in the use of GIS tools to conduct spatial analyses and build maps that are
fit-for-purpose and effectively convey the information.
2. become effective in building maps that can be shared with non-GIS users (e.g. PDF maps
and interactive webGIS maps)
3. describe pre-processing requirements and discuss various Digital Image Processing
techniques.
4. rationalise statistical outlook of satellite images and different classification approaches with
respect to diverse applications
5. elucidate integrated geospatial techniques and apply them in solving real world problems.
Page 69
3. Working with Tables, Queries, and Basic Geoprocessing Tools
4. Creating and Editing new spatial data files in GIS Tool
5. Semantic Segmentation
6. Digital Elevation Model analysis
7. Implementation of Mini project
Course Outcomes
Students will be able to:
1. Discuss the basics of Blockchain and cryptography.
2. Discuss the internal working of various cryptocurrencies.
3. Analyze different Blockchain platforms and smart contracts.
4. Write a working application on any of the Blockchain platform.
5. Demonstrate the implementation of smart contracts.
Course Contents
Introduction to Blockchain: History, need of Blockchain, Blockchain basics, changing landscape
of digitization, cryptographic concepts, hashing, public and private Blockchain, smart contracts and
consensus mechanisms.
[8 Hrs]
Blockchain Platforms: Hyperledger Fabric, Sawtooth, Multichain, R3 Corda, Steller, Ripple, Cloud
based Blockchain, Comparison of various Blockchain platforms, Writing smart contracts in Ethereum
and Hyperledger Fabric.
[8 Hrs]
Blockchain Use Cases: Blockchain applications in Finance, Banking, Retail, Land Records, Loyalty
Programs, Agriculture, and Supply Chain, implementation of any of the use case on the chosen
Blockchain platform.
[8 Hrs]
Page 70
Emerging Trends in Blockchain: DeFi, utility tokens, integration of Blockchain with other
technologies like IoT, AI, ML, Data Science, etc., Blockchain as a service, privacy and security issues
in Blockchain.
[8 Hrs]
Text Books
“Blockchain for Dummies”, Tiana Laurence, Second Edition, 2017, Wiley Publication, ISBN
978-1119555018
“Blockchain Quick Reference: A guide to exploring decentralized blockchain application
development”, Brenn Hill, Second Edition, 2015, Pearson Education India; ISBN 81-203-0596-
5
Reference Books
Course Outcomes
Students will be able to:
1. Demonstrate Blockchain Node and network setup on Cloud platforms.
2. Implement client side applications on Blockchain SDK.
3. Understand and implement the cryptocurrencies transactions on Blockchain platforms like
Ethereum.
4. Write a working end-to-end application on multiple Blockchain platforms.
5. Demonstrate the implementation of smart contracts.
Assignments:
1. Create a simple Blockchain node setup in any cloud environment (AWS, Azure, GCP, etc.)
2. Implement a Blockchain network on the Multichain platform
3. Use Geth to Implement Private Ethereum Blockchain.
4. Write a Blockchain application to transfer the ether cryptocurrency from one user to another.
5. Build Hyperledger Fabric client application for a supply chain application.
6. Build Hyperledger Fabric application and write a smart contract to transfer ownership of
assets in a supply chain.
7. Create a case study of Blockchain being used in illegal activities in real world.
Page 71
8. Build an application on Corda platform for the student loan disbursal.
Above is a suggested list of assignments. The instructor is expected to continuously improve it.
Course Outcomes
Students will be able to:
1. Learn and comprehend the differences in CPU & GPU.
2. Demonstrate the need of GPU computing.
3. Analyze different possible performance issues associated with GPU.
4. Program massively parallel processors with different ways.
5. Apply the practices for different problems.
Course Contents
Introduction to GPU: History, graphics processors, graphics processing units, GPGPUs. Clock
speeds, CPU / GPU comparisons, heterogeneity, Accelerators, Types of cores, Latency hiding
architectures, SIMT programming model, Compute Levels, Different microarchitectures, Basics of
GPU architectures.
[5 Hrs]
CUDA Architecture: CUDA Architecture overview, Setting-up C based CUDA environment, General
flow of a simple CUDA program & discussions, Grids, Blocks, Threads, Multi-GPU solutions &
Streams, Parallel Patterns, Compiling, Debugging & Thread management, Optimizing CUDA
applications with different considerations with case studies.
[8 Hrs]
GPU Memory: Unified memory, Global memory, Shared memory, Cache structure, Constant
,memory & events, Texure memory, Examples of all memory types, Memory handling with CUDA,
Memory consistency. Barriers (local versus global), atomics, memory fence. Prefix sum, reduction.
Programs for concurrent data structures.
[7 Hrs]
Programming GPU with Python based approaches: pyCUDA, Simple examples using PyCUDA
syntax, Differences in C based CUDA & pyCUDA approaches, Heterogeneous programming with
pyCUDA, Memory management with pyCUDA, An overview of pyOpenCL approaches & differences.
[6 Hrs]
Page 72
OpenACC: Parallel programming with OpenACC, Basics of OpenACC, Loop level parallelism,
Programming tools, Best practices for OpenAcc program development, OpenACC & performance
portability, Interoperability.
[7 Hrs]
Text Books
David Kirk, Wen-mei Hwu, “Programming Massively Parallel Processors: A Hands-on
Approach”, Morgan Kaufman, 2010, ISBN: 978-0123814722
Sunita Chandrasekaran, Guido Juckeland, “OpenACC for Programmers Concepts and
Strategies”, Addison-Wesley, 2018, ISBN-13: 978-0-13-469428-3
Giancarlo Zaccone, “Python Parallel Programming Cookbook”, Second Edition, Packt
Publishing, 2019, ISBN 978-1-78953-373-6
Reference Books
Shane Cook, “CUDA Programming: A Developer's Guide to Parallel Computing with GPUs”,
Morgan Kaufman, 2012, ISBN: 978-0124159334
Jaegeun Han, Bharatkumar Sharma“Learn CUDA Programming”, Packt Publishing, 2019,
ISBN 978-1-78899-624-2
Course Outcomes
Students will be able to:
1. Program GPU with different constructs.
2. Compile, debug the code & apply optimizations for performance observations.
3. Analyze different possible solutions to a program and select the most efficient one.
4. Apply different approaches to implement parallel programming .
5. Demonstrate the need of all studied approaches.
Reference Books
Shane Cook, “CUDA Programming: A Developer's Guide to Parallel Computing with GPUs”,
Morgan Kaufman, 2012, ISBN: 978-0124159334
Jaegeun Han, Bharatkumar Sharma“Learn CUDA Programming”, Packt Publishing, 2019,
ISBN 978-1-78899-624-2
Unit II: Computer Network – Overview: Introduction to computer network, OSI Model: Layered
Architecture, Functions of the layers, Peer-to-Peer Processes, Encapsulation, TCP/IP protocol suite:
Addressing, Packet forwarding, Introduction to UDP.
[8 Hrs]
Page 74
Unit III: Web Essentials: Clients, Servers, Communication, HTTP Request Message, HTTP
Response Message, Web Clients, Generations of web applications.
[6 Hrs]
Unit IV : Markup languages : An Introduction to HTML, Fundamental HTML Elements head, body
etc. Document publishing, Introduction to XML. Introduction to Cascading Style Sheets, CSS
features, CSS syntax, Style properties of text, box, layout, list, table, cursor etc
[6 Hrs]
Unit V : Client-Side Programming : Introduction to JavaScript, Basic Syntax, Variables and Data
Types, Statements, Operators, literals, functions. Javascript Objects – properties, references,
methods, constructors. Arrays, other built-in objects. Debugging javascript. Browsers.
[6 Hrs]
Unit VI : Server-Side Programming : PHP - Client Request – form data, request headers. Server
Response - HTTP Status Codes, HTTP Response Headers. Sessions, Cookies, URL Rewriting.
Introduction to Web services.
[8 Hrs]
Text Books
Jeffrey C.Jackson, "Web Technologies : A Computer Science Perspective", Pearson Education,
2nd edition, 2007
B. A. Forouzan and Firouz Mosharraf, Computer Networks, A Top-Down Approach, Tata
McGraw-Hill, 2012
Reference Books
A S Tanenbaum, “Computer Networks”, 4th Edition, Pearson Education, ISBN
9788177581652
Marty Hall, Larry Brown, "Core Web Programming", Pearson Education, 2nd Edition, 2001.
Robert. W. Sebesta, "Programming the World Wide Web", Pearson Education, 4th Edition,
2007.
H.M. Deitel, P.J. Deitel and A.B. Goldberg, "Internet & World Wide Web: How To Program",
Pearson Education, 3rd Edition, 2006.
Course Outcomes
Students will be able to:
1. Design data understanding model.
Page 75
2. Build data preprocessing model.
3. Analyze the visualized data.
4. Apply data model to available data.
5. Analyze performance of data model.
Course Contents
Data Understanding: Introduction to Data Science, Applications, Sources of data, Data types,
Using case study - Describing data, their structure, their relevance, their records type.
[6 Hrs]
Data Preprocessing: Introduction to data preprocessing, Data features, Statistical data types, Data
preparation - data cleaning and integration, data transformation, ETL model. Data Preprocessing
with Pandas- DataFrame data structure, indexing and loading, querying a dataframe, Missing values,
Merging, Groupby, pivot table, date/time functionality.
[10 Hrs]
Exploratory Data Analysis: Descriptive and inferential statistics, Chart types- Single var: Dot plot,
Jitter plot, Error bar plot , Box-and-whisker plot, Histogram. Two variable: Bar chart, Scatter plot,
Line plot, Log-log plot, Basic Charting using Matplotlib and Seaborn.
[10 Hrs]
Data Modeling: Data representation, Building a hypothesis model, Cost function, Linear regression,
Logistic regression, Classification, Hypothesis evaluation, Model selection, Dataset introduction –
training, testing, validation.
[8 Hrs]
Model Evaluation: Confusion matrix, precision, recall, f-measure, accuracy, sensitivity, specificity.
Case studies: Weather forecast data, Loan prediction data, Sports data.
[4 Hrs]
Text Books
"Mining of Massive Datasets", Jure Leskovec, Anand Rajaraman, and Jeffery David Ullman,
Cambridge University Press, 2 edition (13 November 2014) , ISBN-10: 1107077230, ISBN-13:
978-1107077232
“Foundations of Data Science”, Avrim Blum, John Hopcroft, and Ravindran Kannan,
Hindustan Book Agency, (online free version) January 2020, ISBN-10: 9386279800
Reference Books
"Machine Learning", Tom Mitchell, McGraw-Hill, 1st Ed May 2013, ISBN-10: 1259096955|
ISBN-13: 978-1259096952.
Pang-Ning Tan, Michael Steinbach, Vipin Kumar, “Introduction to Data Mining”, First Editin,
Pearson Education, ISBN-13: 978-0321321367
Python for Data Analysis: Data Wrangling with Pandas, NumPy, and IPython, 1st Edition
by Wes McKinney , O’Reilly
Page 76
HONOURS in Computer Engineering
(CT(Hon)-) Deep Learning (Honours)
Prerequisites:
Course Outcomes:
Students will be able to:
Basics: Linear Algebra Primer, Vector Calculus Review, Brief review of concepts from Linear Algebra
and Vector Calculus.
[2 Hrs]
Neural Networks: Biological Neural Network, Artificial Neural Network, Idea of computational
units, McCulloch–Pitts unit and Thresholding logic, Linear Perceptron, Perceptron Learning Algorithm,
Convergence theorem for Perceptron Learning Algorithm, multilayer perceptrons (MLPs),
feedforward neural networks, activation functions.
[4 Hrs]
Feedforward Networks and learning Algorithms: Single and multilayer perceptrons (MLPs),
representation power of MLPs, sigmoid neurons, feedforward neural network representation,
Gradient Descent, Delta rule, Backpropagation, learning weights from more than one node,
backpropagating errors from more output nodes, backpropagating errors to more layers, working
example of weight update.
[6 Hrs]
Convolutional Neural Networks (CNNs) and different CNN architectures: Building blocks of
CNN, Transfer Learning, LeNet, AlexNet, ZF-Net, VGGNet, GoogLeNet, ResNet, Visualizing CNNs,
Guided Backpropagation.
[8 Hrs]
Recurrent Neural Networks (RNN): RNN architecture, Backpropagation through time (BPTT),
Vanishing and Exploding Gradients, Truncated BPTT, Long Short Term Memory network and variants
of RNN (Gated Recurrent Units, Bidirectional LSTMs, Bidirectional RNNs), Encoder Decoder Models,
Attention Mechanism, transformers
[8 Hrs]
Text Books
Goodfellow, Y. Bengio, and A. Courville, “Deep learning” MIT press, 2016. ISBN 978-
0262035613
Reference Books
R. Rojas, “Neural networks: a systematic introduction”. Springer Science and Business Media,
2013. ISBN:
C. M. Bishop and N. M. Nasrabadi, “Pattern recognition and machine learning”, vol. 4, no. 4.
Springer, 2006. ISBN: 978-0387310732
J. Krohn, G. Beyleveld, and A. Bassens, “Deep learning illustrated: a visual, interactive guide
to artificial intelligence”. Addison-Wesley Professional, 2019. ISBN: 978-0135116692
Course Outcomes
Students will be able to:
1. Define the key features and tasks of RL.
2. Analyze the RL problem, formulate the problem in terms of the state space, action space,
dynamics and reward model.
3. State the algorithm best suited for addressing the Rl problems.
Page 78
4. Implement in code common algorithms following code standards and libraries used in RL.
5. Describe (list and define) multiple criteria for analyzing RL algorithms and evaluate
algorithms
Course Contents
Introduction to Reinforcement Learning: Machine learning paradigm, Elements of RL, Early
History of RL, Applications, Limitations and scope. Finite Markov Decision Processes: The Agent–
Environment Interface, Goals and Rewards, Returns and Episodes, Policies and Value Functions,
Optimality and Approximation.
[6 Hrs]
Dynamic Programming: Policy Evaluation, Policy Improvement, Policy Iteration, Value Iteration,
Asynchronous DP, Generalized Policy Iteration. Monte Carlo Methods: Monte Carlo Prediction, Monte
Carlo Estimation of Action Values, Monte Carlo Control, on policy and off policy learning, Importance
Sampling
[6 Hrs]
Policy Gradient methods: Policy approximation, Policy Gradient Theorem, REINFORCE algorithm,
actor-critic methods, Policy Gradient for Continuing Problems, Policy Parameterization for Continuous
Actions, Eligibility traces: n-step TD prediction, TD(lambda), forward and backward views,
Q(lambda), SARSA(lambda), replacing traces and accumulating traces
[8 Hrs]
Applications and Case Studies: TD-Gammon, Samuel’s Checkers Player, Watson’s Daily-Double
Wagering, Optimizing Memory Control, Human-level Video Game Play, Personalized Web Services,
Thermal Soaring
[4 Hrs]
Text Books
“Reinforcement Learning: An Introduction”, R. S. Sutton and A. G. Barto, Second Edition,
2018, The MIT Press ,Cambridge, ISBN 978-0-262-19398-6
Page 79
Reference Books
“Deep Reinforcement Learning with Python”, Nimish Sanghi, First Edition, 2021, Apress, ISBN
978-1-4842-6808-7
“Deep Reinforcement Learning with Python”, Sudharsan Ravichandiran, Second Edition,
2020, TPackt Publishing, ISBN 978-1-83921-068-6
“Artificial Intelligence: A Modern Approach,Stuart Russell and Peter Norvig”, Prentice Hall, 3rd
Edition. ISBN 0-13-103805-2.
Course Outcomes
Students will be able to:
1. Understand the different malware concepts and taxonomy, and progresses to hunting down and
collecting malware samples, and finally how to analyze them effectively by using the right tools
the right way
2. Mitigate threat and strengthen our defenses against future generations of similar malware
attacks.
3. Helps to build better solutions that minimize the proliferation of malware and helps us detect and
respond to compromises
4. Aware of the concepts of malware and the different tools available, a lot of patience and
perseverance..
Course Contents
Malware Blueprint : Malware Analysis, Malware Analysis and Reverse Engineering, Types of
Malware Analysis, Purpose of Malware Analysis, Limitations of Malware Analysis, The Malware
Analysis Process, The Effective Malware Analyst, Familiarization with Malware and Analysis Tools
[8 Hrs]
ware Taxonomy and Deployment : Malware Classes, Malware Infection Vectors : Speed,
Stealth, Coverage, and Shelf Life, Types of Malware Infection Vectors, Potential Infection Vectors
[10 Hrs]
Protective Mechanisms : The Two States of Malware : Static and Dynamic Malware, Protective
Mechanisms: Static Malware Protective Mechanisms and Dynamic Malware Protective Mechanisms
[10 Hrs]
Page 80
Malware Dependencies and Inspection : Dependency Types, Malware Inspection, The Portable
Executable File, The Proper Way to Handle Files, Inspecting Static Malware, Inspecting Dynamic
Malware, Malware Analysis Use Cases, Malware Analyst Toolbox
[12 Hrs]
Text Books
“Advanced Malware Analysis”, Christopher C. Elisan, First Edition, 2015, McGraw Hill, ISBN
978-0071819749
“Malware Analysis and Detection Engineering: A Comprehensive Approach to Detect and
Analyze Modern Malware”, Abhijit Mohanta and Anoop Saldanha, First Edition, 2020, Apress,
ISBN 978-1484261927
Reference Books
“Learning Malware Analysis: Explore the concepts, tools, and techniques to analyze and
investigate Windows malware”, Monnappa K A, First Edition, 2018, Packt Publishing Limited,
ISBN 978-1788392501
"Mastering Malware Analysis: The complete malware analyst's guide to combating malicious
software, APT, cybercrime, and IoT attacks", Alexey Kleymenov and Amr Thabet, First
Edition, 2019, Packt Publishing Limited, ISBN 978-1789610789.
Course Outcomes
Students will be able to:
1. Aware of the Security requirements in IoT.
2. Know the cryptographic fundamentals for IoT
3. Recognize the authentication credentials and access control
4. identify with the various types Trust models and Cloud Security.
Course Contents
Introduction to IoT Security Cybersecurity versus IoT security and cyber-physical systems, IoT
uses today, The IoT in the enterprise The IoT of the future and the need to secure
[8 Hrs]
Security Engineering for IoT Primer on threats, vulnerability, and risks (TVR), Primer on attacks
and countermeasures, Today's IoT attacks, Threat modeling an IoT system, Building security in to
design and development, Secure design: Safety and security design, and Processes and agreements,
Security products and services : IoT device hardware, Selecting an MCU, Selecting a real-time
Page 81
operating system (RTOS), IoT relationship platforms, Cryptographic security APIs,
Authentication/authorization, Edge, and Security monitoring.
[8 Hrs]
IoT Security Lifecycle and Cryptographic Fundamentals The secure IoT system
implementation lifecycle : Implementation and integration, Operations and maintenance, and
Dispose, Cryptography and its role in securing the IoT, Cryptographic module principles,
Cryptographic key management fundamentals, Examining cryptographic controls for IoT protocols,
Future directions of the IoT and cryptography
[8 Hrs]
Identity, Access Management, and Privacy for IoT An introduction to identity and access
management for the IoT, Authentication credentials, IoT IAM infrastructure, Authorization and
access control, Privacy challenges introduced by the IoT, Guide to performing an IoT PIA, PbD
principles, Privacy engineering recommendations
[8 Hrs]
Cloud Security for IoT Cloud services and the IoT, Exploring cloud service provider IoT offerings,
Cloud IoT security controls, Tailoring an enterprise IoT cloud security architecture, New directions in
cloud-enabled IOT computing
[8 Hrs]
Text Books
"Internet of Things Security: Principles and Practice", Qinghao Tang Fan Du, First Edition,
2021, Springer, Singapore, ISBN 978-981-15-9942-2
A Beginner’s Guide to Internet of Things Security Attacks, Applications, Authentication, and
Fundamentals, Brij B. Gupta, Aakanksha Tewari, First Edition, 2020, Taylor & Francis, ISBN
9780367430696.
Reference Books:
"Practical Internet of Things Security: Beat IoT security threats by strengthening your
security strategy and posture against IoT vulnerabilities Kindle Edition", Brian Russell and
Drew Van Duren, First Edition, 2016, Packt Publishing, ISBN: 978-1785889639
"Practical Internet of Things Security: Design a security framework for an Internet connected
ecosystem", Brian Russell and Drew Van Duren, 2nd Edition, 2018, Packt Publishing Limited,
ISBN: 978-1788625821
Page 82