Syllabus-Final-Year-Revision-2019-23-Sem7 - 8 - Nov22-For-Printing
Syllabus-Final-Year-Revision-2019-23-Sem7 - 8 - Nov22-For-Printing
Syllabus-Final-Year-Revision-2019-23-Sem7 - 8 - Nov22-For-Printing
(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 Table of Contents 8
Page 1
B.Tech. Computer Engineering
Page 2
Programme Specific Outcomes (PSOs)
Students will be able to
1. Demonstrate competence in Programming Technologies.
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.
Correlation between the PEOs and the POs
PO→
PEO↓ PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12
II
III
PSO→
PEO↓ I II III
II
III
List of Abbreviations
Page 3
SCHEME-A (CE)
Semester VII : Scheme A
Course Teaching
Sr. Credits
Type Course Code Course Name Scheme
No.
L T P
1 MLC ML-22001 Intellectual Property Rights 1 0 0 0
2 LLC LL-2200x Liberal Learning Course 1 0 0 1
IOC Interdisciplinary Open Course-II
(Management related courses to be
3 IOC-2200x
offered by Humanities/Production
Engineering Department ) 2 0 0 2
4 PCC CT-22001 Compiler Construction 3 0 0 3
5 LC CT-22005 Compiler Construction Laboratory 0 0 2 1
6 PCC CT-22003 Cryptography and Network Security 3 0 0 3
LC Cryptography and Network Security
7 CT-22004 0 0 2 1
Laboratory
8 DEC CT(DE)-220xx Department Elective-II 3 0 0 3
9 DEC CT(DE)-220xx Department Elective-III 3 0 0 3
10 LC CT(DE)-220xx Department Elective-III Laboratory 0 0 2 1
Total 16 0 6 18
Total Academic Engagement and
Credits 22
Page 4
SCHEME-B (CE)
Semester VII : Scheme B
Course Teaching
Sr. Credits
Type Course Code Course Name Scheme
No.
L T P
1 MLC ML-22001 Intellectual Property Rights 1 0 0 0
2 LLC LL-2200x Liberal Learning Course 1 0 0 1
IOC Interdisciplinary Open Course-II
(Management related courses to
3 IOC-2200x
be offered by Humanities/Production
Engineering Department ) 2 0 0 2
4 PCC CT-22001 Compiler Construction 3 0 0 3
5 LC CT-22005 Compiler Construction Laboratory 0 0 2 1
6 PCC CT-22003 Cryptography and Network Security 3 0 0 3
LC Cryptography and Network Security
7 CT-22004 0 0 2 1
Laboratory
8 DEC CT(DE)-220xx Department Elective-II 3 0 0 3
9 DEC CT(DE)-220xx Department Elective-III 3 0 0 3
10 LC CT(DE)-220xx 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
Page 5
List of Department Electives
Department Elective-II
Course code Course Title
CT(DE)-22001 FP: Functional Programming
CT(DE)-22002 CBD: Cloud and Big Data
CT(DE)-22003 IR: Information Retrieval
CT(DE)-22004 SDP: Software Design Patterns
CT(DE)-22005 DS: Distributed Systems
CT(DE)-22006 OOMD: Object Oriented Modelling and Design
CT(DE)-22007 ADBMS: Advanced Database Management Systems
CT(DE)-22008 WT: Wireless Technologies
- Subjects in Association with Domain Experts
Department Elective-III
Theory Course Laboratory
Course Title
Code Course Code
CT(DE)-22009 CT(DE)-22018 IOT: Internet of Things
CT(DE)-22010 CT(DE)-22019 Devops
CT(DE)-22011 CT(DE)-22020 DFDR: Digital Forensics and Data Recovery
CT(DE)-22012 CT(DE)-22022 STQA: Software Testing and Quality Assurance
CT(DE)-22013 CT(DE)-22022 AUP: Advanced UNIX Programming
CT(DE)-22014 CT(DE)-22024 ES: Embedded Systems
CT(DE)-22015 CT(DE)-22023 NLP: Natural Language Processing
CT(DE)-22016 CT(DE)-22025 PCAP: Parallel Computer Architecture and Programming
CT(DE)-22017 CT(DE)-22026 CS: Cyber Security
- - Subjects in Association with Domain Experts
Department Elective-IV
Theory Course Laboratory
Course Title
Code Course Code
CT(DE)-22027 CT(DE)-22033 SA: System Administration
CT(DE)-22028 CT(DE)-22034 S&V: Storage and Virtualization
CT(DE)-22029 CT(DE)-22035 MAN: Mobile and Ad-hoc Networks
CT(DE)-22030 CT(DE)-22036 CB: Computational Biology
CT(DE)-22031 CT(DE)-22037 MT: Multicore Technology
CT(DE)-22032 CT(DE)-22038 GIS: Geographical Information Systems
Introduction of Blockchains, Cryptocurrencies, and Smart
CT(DE)-22039 CT(DE)-22041
Contracts
CT(DE)-22040 CT(DE)-22042 GPU Computing
- - Subjects in Association with Domain Experts
Page 6
Minor in Computer Engineering
(To be offered to students of other departments )
SN Semester Course Code Course Name Lectures-Tutorial-Lab-
Credits
1 V CT(MI)-21001 Data Structures, Files and 3-0-0-3
Algorithms
2 VI CT(MI)-21002 Object Oriented Programming and 3-0-0-3
Design
3 VII CT(MI)-22001 Internet Technologies 3-0-0-3
4 VIII CT(MI)-22002 Data Science (Minor) 3-0-0-3
Page 7
Table of Contents
Page 8
(CT(DE)-22017) Cyber Security .................................................................................................................... 51
(CT(DE)-22026) Cyber Security Laboratory ................................................................................................. 52
Departmental Elective – IV .............................................................................................................................. 53
(CT(DE)-22027) System Administration....................................................................................................... 53
(CT(DE)-22033) System Administration - Laboratory .................................................................................. 55
(CT(DE)-22028) Storage & Virtualization ..................................................................................................... 56
(CT(DE)-22034) Storage & Virtualization - Laboratory ................................................................................ 58
(CT(DE)-22029) Mobile and Ad-Hoc Networks............................................................................................ 58
(CT(DE)-22035) Mobile and Ad-Hoc Networks Laboratory ......................................................................... 60
(CT(DE)-22030) Computational Biology ...................................................................................................... 61
(CT(DE)-22036) Computational Biology Laboratory .................................................................................... 62
(CT(DE)-22031) Multicore Technology ........................................................................................................ 63
(CT(DE)-22037) Multicore Technology Laboratory ..................................................................................... 64
(CT(DE)-22032) Geographical Information Systems.................................................................................... 65
(CT(DE)-22038) Geographical Information Systems Laboratory ................................................................. 67
(CT(DE)-22039) Introduction to Blockchain, Cryptocurrencies, and Smart Contracts ................................ 68
(CT(DE)-22041) Introduction of Blockchain, Cryptocurrencies, and Smart Contracts Laboratory ............. 69
(CT(DE)-22040) GPU Computing ................................................................................................................. 70
(CT(DE)-22042) GPU Computing Laboratory ............................................................................................... 71
MINOR in Computer Engineering .................................................................................................................... 72
(CT(MI)-22001) Internet Technologies (Minor) ........................................................................................... 72
(CT(MI)-22002) Data Science (Minor) ......................................................................................................... 73
HONOURS in Computer Engineering ............................................................................................................... 75
(CT(HO)-22001) Deep Learning (Honours) .................................................................................................. 75
(CT(HO)-22003) Reinforcement Learning (Honours) .................................................................................. 76
HONOURS in Information Security .................................................................................................................. 78
(CT(HO)-22002) Malware Analysis .............................................................................................................. 78
(CT(HO)-22004) Internet of Things Security ................................................................................................ 79
Page 9
Core Courses
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]
Page 10
Optimization, Machine dependent Optimization, Various Optimizations: Function preserving
transformation, Common Sub-expressions, Copy propagation, Dead-code elimination, Loop
Optimizations, Code Motion, Induction variables and strength reduction, Peephole
Optimization, Redundant –instruction elimination.
[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.
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
Page 11
Suggested List of Assignments:
1. Design a lexical analyzer for a subset of C language using Lex tool.
2. Design a hand-coded lexical analyzer for a subset of C language, draw the transition
diagrams and then implement the lexical analyzer in C language.
3. Design a scientific calculator using Lex & Yacc or PLY or ANTLR tools.
4. Write a code for finding FIRST & FOLLOW of a grammar.
5. Design a SQL parser / html parser.
6. Implement a SLR parser for a given grammar.
7. Implement a static semantics analyzer.
8. Implement an intermediate code generator in three-address code form represented in
quadruples.
9. Implement different optimization techniques on intermediate code.
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
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]
Page 12
[8 Hrs]
Asymmetric Cryptography: RSA, Key Distribution and Management, Diffie-Hellman Key
Exchange, Elliptic Curve Cryptography, hash functions: The Merkle Damgard Construction, Message
Digest algorithms: MD5, Secure Hash algorithm (SHA), Message Authentication Codes
[8 Hrs]
Authentication and Web Security: Digital Signatures, Authentication Protocols, Kerberos, X.509
Digital Certificate Standard, Pretty Good Privacy, Secure Socket Layer, Secure Electronic Transaction.
Zero knowledge proof
[8 Hrs]
Network Security: Intruders, Intrusion Detection, Password Management, Worms, viruses,
Trojans, Virus Countermeasures, Vulnerabilities in TCP/IP model, Firewalls, Firewall Design
Principles.
[6 Hrs]
Text Books
“Cryptography and Information Security”, V. K. Pachghare, 3rd edition, PHI Learning, ISBN:
978-93-89-347-10-4.
“Network Security: Private Communication in a Public World”, Charlie Kaufman, Radia
Perlman, and Mike Speciner, Prentice Hall, ISBN 0-13-046019-2.
Reference Books
“Cryptography and Network Security, Principles and Practices”, William Stallings, Pearson
Education, Fifth Edition, and ISBN: 0-13-60970-9.
“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.
Page 13
Suggested List of Assignments
1. 1. Study papers on a network security topic and write a study report
a) Wireless Network Security,
b) Key Exchange Protocols,
c) Block chain.
2. 2. Implement any one classical encryption technique in any programming language.
3. 3. Design and implement a symmetric encryption algorithm based on Feistel structure.
4. 4. Demonstrate how Diffie-Hellman key exchange works with Man-In-The-Middle attack.
5. 5. Study different approaches for Anti-virus software and write one document.
a) Examine files to look for viruses by means of a virus dictionary
b) Identifying the suspicious behavior from any computer program which might indicate
infection
6. 6. Study and demonstrate system hacking and write a report.
a) How to crack a password?
b) How to use Ophcrack / Crowbar / John the Ripper / Aircrack-ng to Crack Passwords
7. 7. Develop a mini project on
a) a hack tool to break the security of a system.
OR
b) a tool to protect the system from the hack tool.
Departmental Elective – II
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
Page 14
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]
Resource Management and Load Balancing: Server consolidation, Dynamic provisioning and
resource management, Resource Optimization, Resource dynamic reconfiguration, Scheduling
Techniques, Capacity Management to meet SLA Requirements, and Load Balancing, load balancing
techniques.
[7 Hrs]
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
Page 15
“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/
Page 16
d) 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.
a) Create, alter, and drop databases, tables, views, functions, and indexes.
9. To Create HBase tables that include multiple column families and columns
a) Alter properties associated with a table
b) Populate a table with data
c) Retrieve data from a table
10. To create and query HBase tables using BigSQl
a) Populate these tables using Big SQL INSERT and LOAD operations
b) 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]
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.
Page 17
[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 18
3. Write a function to find factorial of a number in functional programming languages.
4. Write a program which uses in-built functions in functional programming language.
5. Write a program to read and write file.
6. Write a program to demonstrate concurrency in functional programming.
7. Write a program to demonstrate polymorphism in functional programming.
8. Write a program to demonstrate classes in functional programming.
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.
3. Analyze different approaches for query processing.
4. 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.
5. 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]
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]
Page 19
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 20
(CT(DE)-22004) Software Design Patterns
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
Page 21
“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.
2. Write a program to implement the following concepts in java.
a) Method overriding.
b) Interface.
c) Abstract class.
3. For Library management system (system of student’s choice)
a) Write a Program to implement Factory pattern.
b) Write a program to implement abstract factory.
4. 4. For Banking system
a) Write a Program to implement Singleton pattern.
b) Write a Program to implement Composite design pattern
5. 5. For online examination system
a) Write a Program to implement decorator pattern..
b) Write a program to implement proxy design pattern.
6. 6. For Stock prediction system
a) Write a Program to design chain of responsibility pattern.
b) Write a program to design mediator pattern
7. 7. For Railway reservation system
a) Write a Program to implement iterator pattern.
b) Write a program to implement visitor pattern.
8. 8. User gives a print command from a word document.
Page 22
a) Design to represent this chain of responsibility
b) Design flyweight pattern, façade 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,
6. specification (problem space), software design, and implementation (solution space).
3. Model the event driven state of object and transform them into implementation specific
7. 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.
[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
Page 23
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.
Page 24
(CT(DE)-22005) Distributed Systems
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
Page 25
“Distributed Systems, Concepts and Design” , George Coulouris, Jean Dollimore & Tim
Kindberg, Fifth Edition, Pearson.
“Distributed Operating Systems: Concepts and Practice”, Galli D.L., Prentice-Hall.
“Distributed Systems”, Mullender S., Addison Wesley.
Course Outcomes
Students will be able to:
1. Examine different parallelism techniques for parallel databases .
2. Analyze Distributed Transaction and Query Processing.
3. Think and analyze parallel processing of queries.
4. Analyze the cost of different SQL joins.
5. Demonstrate NoSQL.
Course Contents
Introduction: Database System Architectures: Centralized and Client-Server Architectures, Three–
tier Architecture , Server System Architecture, Parallel System, Distributed System, Network Types.
Page 26
[6 Hrs]
Parallel Databases : I/O Parallelism, Inter-query and Intra-query Parallelism, Interoperation and
Intra-operational Parallelism, Design of Parallel systems.
[6 Hrs]
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, Introduction to data Mining.
[6 Hrs]
Text Books
Reference Books
Page 27
4. Design and implement an application to demonstrate distributed databases..
5. Design and Implement a small application for Android Tablet.
6. Hadoop installation and programming using MapReduce.
Course Outcomes
Students will be able to:
1. Examine the fundamental concepts of wireless Networking and wireless Communication.
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]
Page 28
Space-Based Wireless WAN: Satellites, Meteor Burst Communications. Wireless Networks
Security: Security Threats, Unauthorized Access, Middle Attacks, DoS Attack (Denial of Service).
Authentication: 802.11 Authentication Vulnerabilities, MAC Filters, Authentication Using Public Key
Cryptography, 802.1x , Security Policies.
[8 Hrs]
Text Books
Garg, “Matthew Gast, “802.11 Wireless Networks” Second Edition, The Definitive Guide,
ISBN: 0-596-10052-3
Vijay Wireless Communications & Networking” Elsevier, ISBN: 978-0-12-373580-5
Reference Books
John Ross, “Introduction to wireless networks” Second Edition, No Starch Press, ISBN
9781593271695
Theodore S. Rappaport, “Wireless Communications: Principles and Practice” Second Edition,
Pearson, ISBN: 978-81-317-3186-4
Wolfgang Osterhage, “Wireless Network Security” Second Edition, Kindle Edition, ISBN-
13: 978-1138093799
Clint Smith, Daniel Collins, “Wireless Networks: Design and Integration for LTE, EVDO, HSPA,
and WiMAX” 3rd Edition, Kindle Edition, ISBN-13: 978-0071819831
Page 29
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.
[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]
Page 30
Text Books
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
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
Page 31
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.
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.
Page 32
(CT(DE)-22010) DevOps
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
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]
Page 33
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
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
Page 34
6. Write a Jenkins pipeline to demonstrate automatic compilation and build of a project hosted on
gitlab/github.
7. Write a terraform script to create virtual machines with the specified RAM, CPU limits and
specified image.
8. Write an Ansible playbook to create specified users, with specified privileges, install specified
software on specified list of machines.
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.
5. Aware of the state of the practice and gaps in the technology, policy and legal issues.
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]
Page 35
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.
"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:
Page 36
1. Demonstrate awareness with the different evidence examination policy.
2. Perform recovery of digital evidence using a variety of software utilities.
3. Understand all aspects of evidence handling within the laboratory/industry environment.
4. Prepare for a diverse set of challenges in encountering crime scenes and identifying the
optimal solution(s) to secure computer data any scenarios.
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
Page 37
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
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.
Page 38
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:
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.
Page 39
c. Cause effect graphing,
d. Positive & negative testing
Document Test cases and test data.
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.
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
Page 40
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
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]
Page 41
Text Books
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.
Course Outcomes:
Students will be able to:
1. Develop utilities using system calls, execute and test in POSIX environments
2. Demonstrate the ability to write unix filter programs
3. Implement a shell with specified features.
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
Page 42
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.
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.
Page 43
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]
Page 44
System(RTOS) such as TI RTOS, Task Scheduling, Task Synchronization, Inter- task communication
concepts on Embedded TI RTOS platform
[8 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]
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
Page 45
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
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
Page 46
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).
[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.
Page 47
Chris Manning and Hinrich Schuetze, “Foundations of Statistical Natural Language
Processing”, MIT Press, ISBN: 978-0262133609.
Reference Books
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.
Page 48
(CT(DE)-22016) Parallel Computer Architecture and Programming
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
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]
Page 49
Coherence, Basics of Synchronization, Models of Memory Consistency, Examples of Cache Coherence
and Consistency.
[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
Reference Books
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.
Page 50
3. Program to execute matrix multiplication using pthreads.
4. Program to execute matrix multiplication using OpenMP and comparison with pthread
program.
5. Program to execute Pi computation and prefix sum using OpenMP.
6. Program to execute section, task and synchronization constructs of OpenMP.
7. Case Study of Cluster building steps - MPI Cluster setup and overview of different routines.
8. Program to implement point to point communication using MPI routines.
9. Program to implement collective communication using MPI routines.
10. Program to implement Map-Reduce parallelism for Warehouse Scale Computer.
Reference Books
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]
Page 51
Unit III:Web application security: Introduction to web application security: Attacks,
vulnerabilities and mitigation, Client-side security, Server-side security, Application security: HTTPS,
HSTS etc., Security engineering: Passwords and their limitations, Attacks on passwords: CAPTCHA,
OTP.
[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]
Text Books
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.
Page 52
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.
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
Course Outcomes
Students will be able to:
1. Carry out the following tasks, with special emphasis on GNU/Linux based systems:
Page 53
2. 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.
3. Setup a LAN-based laboratory using DHCP.
4. 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.
5. Learn how to manage the Linux file system and the storage of data
6. 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
Page 54
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
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 55
3. Demonstrate use of three-tier architecture using LAMP and WAMP suite using same code
base.
4. Setup a disk management system using LVM such that all options of LVM are demonstrated.
5. Write a program to browse an ext4 file system and locate data of a deleted file.
6. Setup a proxy server and firewall with set of policies to block video content in the network.
7. Setup apache web server to serve 3 websites, with 3 domain names at a time from a single
machine; demonstrate the use of at least 5 configuration options of apache.
8. Setup an email server and demonstrate use of at least 3 email clients to send email using it.
9. Setup SE Linux.
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.
Page 56
[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]
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
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.
Page 57
(CT(DE)-22034) Storage & Virtualization - Laboratory
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.
Course Outcomes:
Page 58
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]
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
Page 59
C. Siva Ram Murthy and B. S. Manoj, Ad hoc Wireless Networks Architectures and
protocols, 2nd edition, Pearson Education. 2007
Reference Book
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
Page 60
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.
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
Page 61
[5 Hrs]
[8 Hrs]
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 62
3. Design and implement Needleman-Wunsch pairwise sequence alignment algorithm using any
language (C, C++, Java, python, etc.) and test it for some arbitrary sequences of Protein.
4. Prepare detail report on Bioinformatics tools other than BLAST and FASTA Assignment
5. Solve computational problems for reconstructing the phylogeny: Character based and distance
based.
6. Write Program to find the parsimony length of a given tree topology.
7. Find multiple sequence alignment using ClustalW2.
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
Page 63
barriers - Minimize communication latencies - Use of thread pools - Managing thread count - Use of
parallel libraries.
[6 Hrs]
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
Reference Books
Page 64
Laboratory : 2 Hours/week Continuous evaluation: 30 Marks
Mini Project/ Assignments: 20 marks
End Semester Exam: 50 Marks
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
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.
Page 65
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]
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]
Page 66
Text Books
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 67
(CT(DE)-22039) Introduction to Blockchain, Cryptocurrencies, and Smart
Contracts
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]
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
Page 68
“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.
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.
Page 69
(CT(DE)-22040) GPU Computing
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]
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]
Page 70
Applications in different doamins: Additional approachs to parallel programming, Docker-
Container, Process and workflow of docker-container usages, Different environments- Tensorflow &
Pytorch, Deep Learning Accelerations with CUDA, Examples of different domain datasets &
Performance observations.
[7 Hrs]
Text Books
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.
Page 71
8. A program to implement a sorting algorithm using pyCUDA syntax.
9. A program to observe the OpenACC flow and simple clauses.
10. A program to implement loop level parallelism using OpenACC
11. A program to understand the working flow of Docker-container concept.
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 Contents
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]
Unit III: Web Essentials: Clients, Servers, Communication, HTTP Request Message, HTTP
Response Message, Web Clients, Generations of web applications.
[6 Hrs]
Page 72
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
Reference Books
Course Outcomes
Students will be able to:
1. Design data understanding model.
2. Build data preprocessing model.
3. Analyze the visualized data.
4. Apply data model to available data.
5. Analyze performance of data model.
Page 73
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 74
HONOURS in Computer Engineering
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]
Page 75
Autoencoders: Unsupervised Learning with Deep Network, Autoencoders (AEs), Regularization in
autoencoders, Types of autoencoders (Denoising, sparse, contractive)
[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.
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
Page 76
7.
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
Reference Books
“Deep Reinforcement Learning with Python”, Nimish Sanghi, First Edition, 2021, Apress, ISBN
978-1-4842-6808-7
Page 77
“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]
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
Page 78
[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
operating system (RTOS), IoT relationship platforms, Cryptographic security APIs,
Authentication/authorization, Edge, and Security monitoring.
Page 79
[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 80