Autonomous PG CURRICULUM Web Curriculum ME CSE

54
23 MEPCO SCHLENK ENGINEERING COLLEGE, SIVAKASI (AUTONOMOUS) AFFILIATED TO ANNA UNIVERSITY, CHENNAI 600 025 REGULATIONS: MEPCO - R2013 (FULL TIME) M.E. COMPUTER SCIENCE AND ENGINEERING Department Vision Department Mission To become the centre of excellence in computer education and research and to create the platform for industrial consultancy o To produce globally competent and quality computer professionals by educating computer concepts and techniques. o To facilitate the students to work with recent tools and technologies. o To mould the students by inculcating the spirit of moral values contributing to the societal ethics. Programme Educational Objectives (PEOs) M.E Computer Science and Engineering After 3 to 5 years of completing the Programme on Master of Computer Science and Engineering, the post graduates will become: PEO No. PEO 1. Competent Computer/Software Engineer rendering expertise to the industrial and societal needs in an effective manner. 2. Sustained learner to bring out novel ideas by addressing the research issues 3. Trainer/Philosopher to guide others towards the development of technology Programme Outcomes (POs) M.E Computer Science and Engineering During the course of the programme on Master of Computer Science and Engineering the learners will acquire the ability to: PO Number PO 1. Apply knowledge of mathematics, science and information science in computer engineering in advance level 2. Design a Computer system with components and processes of desired needs within realistic constraints such as economic, environmental, social, political, ethical, health and safety 3. Identify and modify the functions of the internal of computer components such as operating systems and compilers 4. Apply Software Engineering principles, techniques and tools in software development 5. Create, collect, process, view, organize, store, mine and retrieve data in both local and remote locations in a secure and effective manner 6. Design and conduct experiments, as well as to analyze and interpret data to lay a foundation for solving complex problems

description

koioo

Transcript of Autonomous PG CURRICULUM Web Curriculum ME CSE

23

MEPCO SCHLENK ENGINEERING COLLEGE, SIVAKASI (AUTONOMOUS)

AFFILIATED TO ANNA UNIVERSITY, CHENNAI 600 025

REGULATIONS: MEPCO - R2013 (FULL TIME)

M.E. COMPUTER SCIENCE AND ENGINEERING

Department Vision Department Mission

To become the centre of

excellence in computer education

and research and to create the

platform for industrial

consultancy

o To produce globally competent and quality computer

professionals by educating computer concepts and

techniques.

o To facilitate the students to work with recent tools

and technologies.

o To mould the students by inculcating the spirit of

moral values contributing to the societal ethics.

Programme Educational Objectives (PEOs) – M.E Computer Science and Engineering

After 3 to 5 years of completing the Programme on Master of Computer Science and Engineering, the

post graduates will become:

PEO

No. PEO

1. Competent Computer/Software Engineer rendering expertise to the industrial and societal

needs in an effective manner.

2. Sustained learner to bring out novel ideas by addressing the research issues

3. Trainer/Philosopher to guide others towards the development of technology

Programme Outcomes (POs) – M.E Computer Science and Engineering

During the course of the programme on Master of Computer Science and Engineering the learners

will acquire the ability to:

PO

Number PO

1. Apply knowledge of mathematics, science and information science in computer engineering in advance level

2.

Design a Computer system with components and processes of desired needs within realistic constraints such as economic, environmental, social, political, ethical, health

and safety

3. Identify and modify the functions of the internal of computer components such as operating systems and compilers

4. Apply Software Engineering principles, techniques and tools in software development

5. Create, collect, process, view, organize, store, mine and retrieve data in both local and

remote locations in a secure and effective manner

6. Design and conduct experiments, as well as to analyze and interpret data to lay a

foundation for solving complex problems

24

PO

Number PO

7. Engage in life-long learning to acquire knowledge of contemporary issues to meet the challenges in the career

8. Apply the skills and techniques in computer engineering and inter-disciplinary domains for

providing solutions in a global, economic, environmental, and societal context

9. Develop research skills and innovative ideas

10. Model the real world problems to address and share the research issues

11. Share their knowledge and express their ideas in any technical forum

12. Present their ideas to prepare for a position to educate and guide others

CURRICULUM (I TO IV SEMESTER)

I SEMESTER

SL.

NO.

COURSE

CODE COURSE TITLE L T P C

THEORY

1. 13MA174 Mathematics and Statistics for Computer

Science

3 1 0 4

2. 13MC101 Advanced Data Structures & Algorithms

(Common to ME CSE &MTech IT)

3 0 0 3

3. 13MC102 Design and Management of Computer

Networks

3 0 2 4

4. 13MC103 Software Architectures 3 0 0 3

5. 13MC104 Advanced Databases 3 0 0 3

6. 13MC105 Multicore Architectures 3 0 0 3

PRACTICAL

7. 13MC151 Advanced Data Structures Laboratory

(Common to ME CSE &MTech IT)

0 0 3 2

8. 13MC152 Advanced Databases Laboratory 0 0 3 2

CREDITS 18 1 8 24

II SEMESTER

SL.

NO.

COURSE

CODE COURSE TITLE L T P C

THEORY

1. 13MC201 Advanced Operating Systems 3 0 0 3

2. 13MC202 Machine Learning Techniques 3 0 2 4

3. 13MI202 Cloud Computing Technologies

(Common to ME CSE &MTech IT)

3 0 0 3

4. 13MI204 Big Data Analytics

(Common to ME CSE &MTech IT)

3 0 0 3

5. Elective I 3 0 0 3

6. Elective II 3 0 0 3

25

PRACTICAL

7. 13MC251 Advanced Operating Systems Laboratory 0 0 3 2

8. 13MI252 Cloud Computing Laboratory (Common to ME CSE &M.Tech. IT)

0 0 3 2

9. 13MC252 Technical Seminar* 0 0 2 1

CREDITS 18 0 10 24

* Internal Assessment Only

III SEMESTER

SL.

NO.

COURSE

CODE COURSE TITLE L T P C

THEORY

1. 13MC301 Parallel Programming Paradigms 3 0 2 4

2. Elective III 3 0 2 4

3. Elective IV 3 0 2 4

PRACTICAL

4. 13MC351 Project Work (Phase I) 0 0 12 6

CREDITS 9 0 18 18

IV SEMESTER

SL.

NO.

COURSE

CODE COURSE TITLE L T P C

PRACTICAL

1. 13MC451 Project Work ( Phase II) 0 0 24 12

CREDITS 0 0 24 12

Total No. of Credits : 78

ELECTIVES

SL.

NO.

COURSE

CODE COURSE TITLE L T P C

1. 13MC401 Formal models of software systems 3 0 0 3

2. 13MC402 Performance Evaluation of Computer Systems 3 0 0 3

3. 13MC403 Model Checking and Program Verification 3 0 0 3

4. 13MC404 Sensing Techniques and Sensors 3 0 0 3

5. 13MI403 Internet of Things

(Common to ME CSE &MTech IT)

3 0 0 3

6. 13MI408 Video Analytics

(Common to ME CSE &MTech IT)

3 0 0 3

7. 13MC405 Reconfigurable Computing 3 0 0 3

8. 13MI409 Wireless Sensor Networks

(Common to ME CSE &MTech IT)

3 0 0 3

9. 13MC406 Language Technologies 3 0 0 3

10. 13MC407 Energy Aware Computing 3 0 0 3

26

(Common to ME CSE &MTech IT)

11. 13MC408 Information Storage Management 3 0 0 3

12. 13MC409 Software Process and Project Management 3 0 0 3

13. 13MC410 Image Processing and Analysis 3 0 2 4

14. 13MC411 Data Mining Techniques 3 0 2 4

15. 13MC412 Parallel Algorithms 3 0 2 4

16. 13MC413 Probabilistic Reasoning Systems 3 0 2 4

17. 13MC414 Data Analysis and Business Intelligence 3 0 2 4

18. 13MC415 Embedded Software Development 3 0 2 4

19. 13MC416 Mobile Application Development 3 0 2 4

20. 13MC417 Bio inspired Computing 3 0 2 4

21. 13MC418 Medical Image Processing 3 0 2 4

22. 13MC419 Enterprise Application Integration 3 0 2 4

23. 13MC420 Concurrency Models 3 0 2 4

REGULATIONS – MEPCO – R2013 (PART TIME)

CURRICULUM (I TO VI SEMESTER)

I SEMESTER

SL.

NO.

COURSE

CODE

COURSE TITLE L T P C

THEORY

1. 13MA174 Mathematics and Statistics for Computer

Science

3 1 0 4

2. 13MC101 Advanced Data Structures & Algorithms

(Common to ME CSE & MTech IT)

3 0 0

3. 13MC102 Design and Management of Computer

Networks

3 0 2 4

PRACTICAL

4. 13MC151 Advanced Data Structures Laboratory

(Common to ME CSE & MTech IT)

0 0 3 2

TOTAL 9 1 5 13

II SEMESTER

SL. NO.

COURSE CODE

COURSE TITLE L T P C

THEORY

1. 13MC201 Advanced Operating Systems 3 0 0 3

2. 13MC202 Machine Learning Techniques 3 0 2 4

3. Elective I 3 0 0 3

PRACTICAL

27

4. 13MC251 Advanced Operating Systems Laboratory 0 0 3 2

TOTAL 9 0 5 12

III SEMESTER

SL.

NO.

COURSE

CODE

COURSE TITLE L T P C

THEORY

1. 13MC103 Software Architectures 3 0 0 3

2. 13MC104 Advanced Databases 3 0 0 3

3. 13MC105 Multicore Architectures 3 0 0 3

PRACTICAL

4. 13MC152 Advanced Databases Laboratory 0 0 3 2

TOTAL 9 0 3 11

IV SEMESTER

SL. NO.

COURSE CODE

COURSE TITLE L T P C

THEORY

1. 13MI202 Cloud Computing Technologies

(Common to ME CSE & MTech IT)

3 0 0 3

2. 13MI204 Big Data Analytics

(Common to ME CSE & MTech IT)

3 0 0 3

3. Elective II 3 0 0 3

PRACTICAL

4. 13MI252 Cloud Computing Laboratory

(Common to ME CSE & MTech IT) 0 0 3 2

5. 13MC252 Technical Seminar * 0 0 2 1

TOTAL 9 0 5 12

* Internal Assessment Only

V SEMESTER

SL.

NO.

COURSE

CODE

COURSE TITLE L T P C

THEORY

1. 13MC301 Parallel Programming Paradigms 3 0 2 4

2. Elective III 3 0 2 4

3. Elective IV 3 0 2 4

PRACTICAL

4. 13MC351 Project Work (Phase I) 0 0 12 6

TOTAL 9 0 18 18

VI SEMESTER

SL.

NO.

COURSE

CODE

COURSE TITLE L T P C

PRACTICAL

1. 13MC451 Project Work ( Phase II) 0 0 24 12

TOTAL 0 0 24 12

28

Total No. of Credits : 78

ELECTIVES

SL.

NO.

COURSE

CODE

COURSE TITLE L T P C

1. 13MC401 Formal models of software systems 3 0 0 3

2. 13MC402 Performance Evaluation of Computer Systems 3 0 0 3

3. 13MC403 Model Checking and Program Verification 3 0 0 3

4. 13MC404 Sensing Techniques and Sensors 3 0 0 3

5. 13MI403 Internet of Things

(Common to ME CSE & MTech IT)

3 0 0 3

6. 13MI408 Video Analytics

(Common to ME CSE & MTech IT)

3 0 0 3

7. 13MC405 Reconfigurable Computing 3 0 0 3

8. 13MI409 Wireless Sensor Networks

(Common to ME CSE & MTech IT)

3 0 0 3

9. 13MC406 Language Technologies 3 0 0 3

10. 13MC407 Energy Aware Computing

(Common to ME CSE & MTech IT)

3 0 0 3

11. 13MC408 Information Storage Management 3 0 0 3

12. 13MC409 Software Process and Project Management 3 0 0 3

13. 13MC410 Image Processing and Analysis 3 0 2 4

14. 13MC411 Data Mining Techniques 3 0 2 4

15. 13MC412 Parallel Algorithms 3 0 2 4

16. 13MC413 Probabilistic Reasoning Systems 3 0 2 4

17. 13MC414 Data Analysis and Business Intelligence 3 0 2 4

18. 13MC415 Embedded Software Development 3 0 2 4

19. 13MC416 Mobile Application Development 3 0 2 4

20. 13MC417 Bio inspired Computing 3 0 2 4

21. 13MC418 Medical Image Processing 3 0 2 4

22. 13MC419 Enterprise Application Integration 3 0 2 4

23. 13MC420 Concurrency Models 3 0 2 4

I SEMESTER

13MA174:MATHEMATICS AND STATISTICS FOR COMPUTER

SCIENCE

L T P C

3 1 0 4

Course Objectives:

To understand propositional and predicate logics and their applications

To understand lambda calculus and functional programming

To understand graph structures and their applications

To provide information about Estimation theory, Correlation, Regression and Testing of

29

hypothesis

Course Outcomes:

Students are able

To gain the knowledge of proof techniques in logic

To apply lambda calculus

To explain logic programming and functional programming principles

To apply sequential structures, tree structures, and graph structures

To acquire the concept of Estimation theory

To do the testing of hypothesis which will be useful in solving Engineering problems

UNIT I LOGIC AND LOGIC PROGRAMMING 9+3

Propositional Logic – Syntax – Interpretations and models – Deduction theorems – Normal forms –

Inference rules – SAT solvers – Predicate logic – Syntax – Proof theory – Semantics of predicate

logic – Undecidability of predicate logic – inferences in first-order logic – Logic programming –

definite programs – SLD resolution – Normal programs – SLDNF resolution – Introduction to

prolog.

UNIT II LAMBDA CALCULUS AND FUNCTIONAL PROGRAMMING 9+3

Lambda notation for functions – syntax – Curried functions – Parametric polymorphism – Lambda

reduction – Alpha reduction – Beta reduction – Beta abstraction – Extensionality theorem – Delta

reduction – reduction strategies – Normal forms – Church-Rosser Theorems – Pure lambda

calculus – constants – Arithmetic – conditionals – iteration – recursion – Introduction to Functional

programming.

UNIT III GRAPH STRUCTURES 9+3

Graph representations – Regular graph structures – Random graphs – connectivity – cycles –

Graph coloring: chromatic number, chromatic partitioning, chromatic polynomial – Cliques, Vertex

Covers, Independent sets – Spanning Trees – Fundamental circuits – Spanning trees in a weighted

graph - Network flows.

UNIT IV ESTIMATION THEORY 9+3

Unbiased estimators – Method of moments – Maximum likelihood estimation – Curve fitting by

principles of least squares – Regression lines.

UNIT V TESTING OF HYPOTHESIS 9+3

Sampling distributions – Type I and II errors – Test based on normal, t, F and chi-square

distributions for testing of Mean, Variance and Proportions – Tests for independence of Attributes

and Goodness of fit.

TOTAL: 60 PERIODS

REFERENCE BOOKS:

1. UweSchoning, “Logic for Computer Scientists”, Birkhauser, 2008.

2. M.Ben-Ari, “Mathematical logic for computer science”, Springer, second edition, 2003.

3. John Harrison, “Handbook of Practical Logic and Automated Reasoning”, Cambridge

University Press, 2009.

4. Greg Michaelson, “An introduction to functional programming through lambda calculus”,

Dover Publications, 2011.

30

5. Kenneth Slonneger, and Barry Kurtz, “Formal syntax and semantics of programming

languages”, Addison Wesley, 1995.

6. Kennth H. Rosen, “Discrete Mathematics and its applications”, Tata McGraw Hill, Seventh

Edition, 2011.

7. Gupta S.C. and Kapoor V.K., “Fundamentals of Mathematical Statistics”, Sultan & Sons,

2011.

8. NarsinghDeo, “Graph Theory with Applications to Engineering and Computer Science”,

Prentice-Hall of India, 1995.

13MC101: ADVANCED DATA STRUCTURES AND ALGORITHMS L T P C

(Common to ME CSE / M.Tech IT) 3 0 0 3

Course Objectives:

To recall elementary data structures and the significance of writing efficient algorithms

To study data structures for concurrency

To study advanced data structures such as search trees, hash tables, heaps and operations

on them

To expose various distributed data structures

To understand the principles of efficient algorithm design and learn various advanced

algorithms

Course Outcomes:

Implement and apply concurrent linked lists, stacks, and queues

Perform operations on search trees and hash tables

Perform operations on different types of heap

Implement and apply data structures for strings

Implement advanced concurrent structures

Explain design techniques for algorithms and advanced algorithm

UNIT I DATA STRUCTURES AND CONCURRENCY 9

Review of algorithm design and analysis – review of elementary data structures – data structures

and concurrency – locking linked lists – coarse-grained synchronization – fine-grained

synchronization – lazy synchronization – non-blocking synchronization – concurrent queues –

bounded partial queues – unbounded lock-free queues – dual data structures – concurrent stacks

– elimination backoff stack

UNIT II SEARCH TREES, HASH TABLES AND STRINGS 9

Search Trees – Weight Balanced trees – Red Black trees – Finger Trees and level linking – Skip

lists – joining and splitting balanced search trees – Hash trees – extendible hashing- Strings –

tries and compressed tries – dictionaries – suffix trees – suffix arrays.

UNIT III HEAPS 9

Heaps - Array-Based Heaps - Heap-Ordered Trees and Half-Ordered Trees - Leftist Heaps – Skew

Heaps - Binomial Heaps - Changing Keys in Heaps - Fibonacci Heaps - Double-Ended Heap

structures – multidimensional heaps

UNIT IV ADVANCED CONCURRENT STRUCTURES 9

31

Concurrent hashing – closed-address hash sets – lock-free hash sets – open-addressed hash sets

– lock-based concurrent skip lists – lock-free concurrent skip lists – concurrent priority queues –

bounded priority queue – unbounded priority queue – concurrent heap – skip list based

unbounded priority queues.

UNIT V ADVANCED ALGORITHMS 9

Introduction to Approximation algorithms – job scheduling on a single machine – knapsack

problem – minimizing weighted sum of completion time on a single machine – MAX SAT and MAX

CUT. Introduction to Randomized algorithms – min cut. Introduction to Parallel algorithms –

parallel sorting algorithms.

TOTAL: 45 PERIODS

REFERENCE BOOKS:

1. M. Herlihy and N. Shavit, “The Art of Multiprocessor Programming”, Morgan Kaufmann,

2012.

2. Peter Brass, “Advanced Data Structures”, Cambridge University Press, 2008.

3. A. V. Aho, J. E. Hopcroft, and J. D. Ullman, “The Design and Analysis of Computer

Algorithms”, Addison-Wesley, 1975.

4. Gavpai, “Data Structures and Algorithms – Concepts, techniques and Applications”, First

Edition, Tata McGraw-Hill, 2008.

5. Edited by S.K. Chang, “Data Structures and Algorithms – Series of Software Engineering

and Knowledge Engineering”, Vol. 13, World Scientific Publishing, 2003.

6. Jon Kleinberg, "Algorithm Design", Addison-Wesley, 2013.

7. David P. Williamson, David B. Shmoys, “The Design of Approximation Algorithms”,

Cambridge University Press, 2011.

8. Rajeev Motwani and PrabhakarRaghavan, “Randomized Algorithms”, Cambridge University

Press, 1995.

9. Michael J. Quinn, “Parallel Computing: Theory & Practice”, Tata McGraw Hill Edition, 2003.

10. AnanthGrama, Anshul Gupta, et al., “Introduction to Parallel Computing”, Second Edition,

Pearson Education, 2003.

Web References:

1. http://www.geeksforgeeks.org/pattern-searching-set-8-suffix-tree-introduction/

2. http://iamwww.unibe.ch/~wenger/DA/SkipList/

3. http://www.cs.au.dk/~gerth/slides/soda98.pdf

4. http://www.cs.sunysb.edu/~algorith/files/suffix-trees.shtml

5. http://pages.cs.wisc.edu/~shuchi/courses/880-S07/scribe-notes/lecture20.pdf

13MC102: DESIGN AND MANAGEMENT OF COMPUTER NETWORKS L T P C

3 0 2 4

Course Objectives:

To collect the requirements associated with the network management

To study how to gather and analyse the requirements

To study the flow characteristics and its model

To understand how the network architecture can be built

32

To study the issues in the design of the network

Course Outcomes:

Gather the requirements related to the functioning of the netwok

Analyze the network requirements for further planning

Analyze the behaviour of the flow and model it

Draw the architecture of the network and identify the operations of each constituent in it

Design the network by integrating the functional components in it

Design the protocol associated with the functioning of each component

UNIT I INTRODUCTION TO NETWORK MANAGEMENT 9

Overview of Analysis, Architecture and Design Process - System Methodology, Service

methodology, Service Description - Service characteristics - Performance Characteristics - Network

supportability – Requirements: User Requirements, Application Requirements, Device

Requirements, Network Requirements, Other Requirements, Requirement specification and map

UNIT II REQUIREMENTS ANALYSIS 9

Requirement Analysis Process – Gathering and Listing Requirements- Developing service metrics –

Characterizing behaviour – Developing RMA requirements – Developing delay Requirements -

Developing capacity Requirements - Developing supplemental performance Requirements –

Requirements mapping – Developing the requirements specification

UNIT III FLOW ANALYSIS 9

Individual and Composite Flows – Critical Flows - Identifying and developing flows – Data sources

and sinks – Flow models – Flow prioritization – Flow specification algorithms – Example

Applications of Flow Analysis

UNIT IV NETWORK ARCHITECTURE 9

Architecture and design – Component Architectures – Reference Architecture – Architecture Models

– System and Network Architecture – Addressing and Routing Architecture – Addressing and

Routing Fundamentals – Addressing Mechanisms – Addressing Strategies – Routing Strategies –

Network Management Architecture – Network Management Mechanisms Performance Architecture

– Performance Mechanisms – Security and Privacy Architecture – Planning security and privacy

Mechanisms

UNIT V NETWORK DESIGN 9

Design Concepts – Design Process - Network Layout – Design Traceability – Design Metrics –

Logical Network Design – Topology Design – Bridging, Switching and Routing Protocols- Physical

Network Design – Selecting Technologies and Devices for Campus and Enterprise Networks –

Optimizing Network Design

TOTAL: 45 PERIODS

REFERENCE BOOKS:

1. Network Analysis, Architecture, and Design By James D. McCabe, Morgan Kaufmann, Third

Edition, 2007.ISBN-13: 978-0123704801

2. Computer Networks: A Systems Approach by Larry L. Peterson, Bruce S. Davie -2007,

Elsevier Inc.

3. Top-down Network Design: [a Systems Analysis Approach to Enterprise Network Design]

By Priscilla Oppenheimer, Cisco Press , 3rd Edition, ISBN-13: 978-1-58720- 283-4 ISBN-

33

10: 1-58720-283-2

4. Integrated Management of Networked Systems: Concepts, Architectures, and Their

Operational Application (The Morgan Kaufmann Series in Networking), Heinz-

GerdHegering, Sebastian Abeck, and Bernhard Neumair, 1999.

5. “Network Design and Management” – by Steven T.Karris, Orchard publications, Second

edition, Copyright 2009, ISBN 978-1-934404-15-7

6. “Network Design, Management and Technical Perspective”, Teresa C. Mann-Rubinson and

KornelTerplan, CRC Press, 1999

7. “Ethernet Networks-Design, Implementation, Operation and Management by Gilbert Held,

John Wiley and sons, Fourth Edition

8. James Kurose and Keith Ross, “Computer Networking: A Top-Down Approach Featuring the

Internet”, 1999

Web References:

1. http://www.ietf.org/

2. http://www.inetdaemon.com

13MC103: SOFTWARE ARCHITECTURES L T P C

3 0 0 3

Course Objectives:

To Understand the architectural requirements

To Identify the architectural structures

To Develop the architectural documentation

To Generate the architectural alternatives

To Evaluate the architecture against the drivers

Course Outcomes:

Explain the key architectural drivers

Explain the influence of architecture on business and technical activities

Identify key architectural structures

Adopt good practices for documenting the architecture

Develop alternative architectures for a given problem

Explain how to use formal languages to specify architecture

Evaluate the architecture against the drivers

Describe the recent trends in software architecture

UNIT I ARCHITECTURAL DRIVERS 9

Introduction – Standard Definitions of Software Architecture– Architectural structures – Influence

of software architecture on organization – Architecture Business Cycle – Functional requirements –

Technical constraints – Quality Attributes – Quality Attribute Workshop (QAW) – Documenting

Quality Attributes – Six part scenarios

UNIT II ARCHITECTURAL VIEWS AND DOCUMENTATION 9

Introduction – Standard Definitions for views – Structures and views- Perspectives: Static,

dynamic and physical and the accompanying views – Representing views-available notations –

Good practices in documentation– Documenting the Views using UML – Merits and Demerits of

34

using visual languages – Need for formal languages - Architectural Description Languages – ACME

UNIT III ARCHITECTURAL STYLES 9

Introduction – Data flow styles – Call-return styles – Shared Information styles – Event styles –

Case studies for each style

UNIT IV ARCHITECTURAL DESIGN 9

Approaches for architectural design – System decomposition – Attributes driven design –

Architecting for specific quality attributes – Performance, Availability – Security – Architectural

conformance

UNIT V ARCHITECTURE EVALUATION AND SOME SPECIAL TOPICS 9

Need for evaluation – Scenario based evaluation against the drivers – ATAM and its variations –

Case studies in architectural evaluations – SOA and Web services – Cloud Computing – Adaptive

structures

TOTAL: 45 PERIODS

REFERENCE BOOKS:

1. Len Bass, Paul Clements, and Rick Kazman, “Software Architectures Principles and

Practices”, 2n Edition, Addison-Wesley, 2003.

2. Anthony J Lattanze, “Architecting Software Intensive System. A Practitioner's Guide”,

Auerbach Publications, 2010.

3. Paul Clements, Felix Bachmann, Len Bass, David Garlan, James Ivers, Reed Little, Paulo

Merson, Robert Nord, and Judith Stafford, “Documenting Software Architectures. Views

and Beyond”, 2nd Edition, Addison-Wesley, 2010.

4. Paul Clements, Rick Kazman, and Mark Klein, “Evaluating software architectures:

Methods and case studies.”, Addison-Wesley, 2001.

5. David Garlan and Mary Shaw, “Software architecture: Perspectives on an emerging

discipline”, Prentice Hall, 1996.

6. RajkumarBuyya, James Broberg, and AndrzejGoscinski, “Cloud Computing. Principles

and Paradigms”, John Wiley & Sons, 2011

7. Mark Hansen, “SOA Using Java Web Services”, Prentice Hall, 2007

8. David Garlan, Bradley Schmerl, and Shang-Wen Cheng, “Software Architecture-Based

Self-Adaptation,” 31-56. Mieso K Denko, Laurence Tianruo Yang, and Yan Zang (eds.),

“Autonomic Computing and Networking”. Springer Verlag, 2009.

WEB REFERENCES:

1. http://www.sei.cmu.edu/architecture/

2. http://msdn.microsoft.com/en-us/library/ee658093.aspx

3. http://kti.tugraz.at/staff/denis/courses/sa/index.html

4. http://www.codingthearchitecture.com/pages/book/software-architecture-document-

guidelines.html

13MC104: ADVANCED DATABASES L T P C

3 0 0 3

Course Objectives:

To learn the modeling and design of databases.

35

To acquire knowledge on parallel and distributed databases and its applications.

To study the usage and applications of Object Oriented database

To understand the principles of intelligent databases.

To understand the usage of advanced data models.

To learn emerging databases such as XML, Cloud and Big Data.

To acquire inquisitive attitude towards research topics in databases.

Course Outcomes:

Select the appropriate high performance database like parallel and distributed database

Model and represent the real world data using object oriented database

Design a semantic based database like active and deductive databases to meaningful

data access

Embed the rule set in the database to implement intelligent databases like multimedia

and spatial databases

Represent the data using XML database for better interoperability

Handle Big data and store in a transparent manner in the cloud

To solve the issues related to the data storage and retrieval

UNIT I PARALLEL AND DISTRIBUTED DATABASES 9

Database System Architectures: Centralized and Client-Server Architectures – Server System

Architectures – Parallel Systems- Distributed Systems – Parallel Databases: I/O Parallelism –

Inter and Intra Query Parallelism – Inter and Intra operation Parallelism – Design of Parallel

Systems- Distributed Database Concepts - Distributed Data Storage – Distributed Transactions –

Commit Protocols – Concurrency Control – Distributed Query Processing – Case Studies

UNIT II OBJECT AND OBJECT RELATIONAL DATABASES 9

Concepts for Object Databases: Object Identity – Object structure – Type Constructors –

Encapsulation of Operations – Methods – Persistence – Type and Class Hierarchies – Inheritance

– Complex Objects – Object Database Standards, Languages and Design: ODMG Model – ODL –

OQL – Object Relational and Extended – Relational Systems: Object Relational features in

SQL/Oracle – Case Studies.

UNIT III INTELLIGENT DATABASES 9

Active Databases: Syntax and Semantics (Starburst, Oracle, DB2)- Taxonomy- Applications-

Design Principles for Active Rules- Temporal Databases: Overview of Temporal Databases-

TSQL2- Deductive Databases: Logic of Query Languages – Datalog- Recursive Rules-Syntax and

Semantics of Datalog Languages- Implementation of Rules and Recursion- Recursive Queries in

SQL- Spatial Databases- Spatial Data Types- Spatial Relationships- Spatial Data Structures-

Spatial Access Methods- Spatial DB Implementation.

UNIT IV ADVANCED DATA MODELS 9

Mobile Databases: Location and Handoff Management - Effect of Mobility on Data Management -

Location Dependent Data Distribution - Mobile Transaction Models -Concurrency Control -

Transaction Commit Protocols- Multimedia Databases- Information Retrieval- Data Warehousing-

Data Mining- Text Mining.

UNIT V EMERGING TECHNOLOGIES 9

XML Databases: XML-Related Technologies-XML Schema- XML Query Languages- Storing XML in

36

Databases-XML and SQL- Native XML Databases- Web Databases- Geographic Information

Systems- Biological Data Management- Cloud Based Databases: Data Storage Systems on the

Cloud- Cloud Storage Architectures-Cloud Data Models-Introduction to Big Data-Storage-

Analysis

TOTAL: 45 PERIODS

REFERENCE BOOKS:

1. R. Elmasri, S.B. Navathe, “Fundamentals of Database Systems”, Fifth Edition, Pearson

Education/Addison Wesley, 2007.

2. Thomas Cannolly and Carolyn Begg, “Database Systems, A Practical Approach to Design,

Implementation and Management”, Third Edition, Pearson Education, 2007.

3. Henry F Korth, Abraham Silberschatz, S. Sudharshan, “Database System Concepts”,

Fifth Edition, McGraw Hill, 2006.

4. C.J.Date, A.Kannan and S.Swamynathan, ”An Introduction to Database Systems”, Eighth

Edition, Pearson Education, 2006.

5. Raghu Ramakrishnan, Johannes Gehrke, “Database Management Systems”, McGraw

Hill, Third Edition 2004.

6. Carlo Zaniolo, Stefano Ceri, Christos Faloustsos, R.T.Snodgrass, V.S.Subrahmanian,

“Advanced Database Systems”, Morgan Kaufman, 1997.

7. N.TamerOzsu, Patrick Valduriez, “Principles Of Distributed Database Systems”,

Prentice Hall Internatl Inc., 1999.

8. Vijay Kumar, “Mobile Database systems”, Wiley-interScience, 2006.

13MC105: MULTICORE ARCHITECTURES L T P C

3 0 0 3

Course Objectives:

To understand the recent trends in the field of Computer Architecture and identify

performance related parameters

To appreciate the need for parallel processing

To expose the students to the problems related to multiprocessing

To understand the different types of multicore architectures

To expose the students to warehouse-scale and embedded architectures

Course Outcomes:

Identify the limitations of ILP and the need for multicore architectures

Discuss the issues related to multiprocessing and suggest solutions

Point out the salient features of different multicore architectures and how they exploit

parallelism

Critically analyze the different types of inter connection networks

Analyse the architecture of GPUs, warehouse-scale computers and embedded processors

UNIT I FUNDAMENTALS OF QUANTITATIVE DESIGN AND ANALYSIS 9

Classes of Computers – Trends in Technology, Power, Energy and Cost – Dependability –

Measuring, Reporting and Summarizing Performance – Quantitative Principles of Computer

37

Design – Classes of Parallelism - ILP, DLP, TLP and RLP - Multithreading - SMT and CMP

Architectures – Limitations of Single Core Processors - The Multicore era – Case Studies of

Multicore Architectures.

UNIT II DLP IN VECTOR, SIMD AND GPU ARCHITECTURES 9

Vector Architecture - SIMD Instruction Set Extensions for Multimedia – Graphics Processing

Units - Detecting and Enhancing Loop Level Parallelism - Case Studies.

UNIT III TLP AND MULTIPROCESSORS 9

Symmetric and Distributed Shared Memory Architectures – Cache Coherence Issues -

Performance Issues – Synchronization Issues – Models of Memory Consistency - Interconnection

Networks – Buses, Crossbar and Multi-stage Interconnection Networks.

UNIT IV RLP AND DLP IN WAREHOUSE-SCALE ARCHITECTURES

9

Programming Models and Workloads for Warehouse-Scale Computers – Architectures for

Warehouse-Scale Computing – Physical Infrastructure and Costs – Cloud Computing – Case

Studies.

UNIT V ARCHITECTURES FOR EMBEDDED SYSTEMS 9

Features and Requirements of Embedded Systems – Signal Processing and Embedded

Applications – The Digital Signal Processor – Embedded Multiprocessors - Case Studies.

TOTAL: 45 PERIODS

REFERENCE BOOKS:

1. John L. Hennessey and David A. Patterson, “ Computer Architecture – A Quantitative

Approach”, Morgan Kaufmann / Elsevier, 5th edition, 2012.

2. Kai Hwang, “Advanced Computer Architecture”, Tata McGraw-Hill Education, 2003

3. Richard Y. Kain, “Advanced Computer Architecture a Systems Design Approach”,

Prentice Hall, 2011.

4. David E. Culler, Jaswinder Pal Singh, “Parallel Computing Architecture : A Hardware/

Software Approach” , Morgan Kaufmann / Elsevier, 1997.

Web References:

1. http://www.cs.cmu.edu/~fp/courses/15213-s07/lectures/27-multicore.pdf

2. http://rolfed.com/nehalem/nehalemPaper.pdf

3. http://accel.cs.vt.edu/files/lecture2.pdf

4. http://web.njit.edu/~rlopes/12.1.0%20-%20Cellproc-PS3.pdf

5. http://cs.nyu.edu/~lerner/spring10/projects/multicore-niagara.pdf

13MC151: ADVANCED DATA STRUCTURES LABORATORY L T P C

(Common to ME CSE / M.Tech IT) 0 0 3 2

Course Objectives:

To learn implementation of data structures for concurrency

To learn implementation of advanced data structures such as search trees, hash tables,

heaps and operations on them

38

To learn to implement advanced concurrent data structures

To learn to apply principles of efficient algorithm design and learn various advanced

algorithms

Course Outcomes:

Implement and apply concurrent linked lists, stacks, and queues

Perform operations on search trees and hash tables

Perform operations on different types of heaps

Implement and apply data structures for strings

Implement advanced concurrent structures

Apply design techniques for algorithms and advanced algorithms

SYLLABUS FOR THE LAB:

Each student has to work individually on assigned lab exercises. Lab sessions could be

scheduled as one contiguous three-hour session per week. The students have to complete a

minimum of 12 exercises. It is recommended that all implementations are carried out in Java.

If C or C++ has to be used, then the threads library will be required for concurrency.

Implementation and applications of classic linear data structures, namely, linked lists,

queues, and stacks.

Implementation of various locking and synchronization mechanisms for concurrent linked

lists, concurrent queues, and concurrent stacks.

Implementation of weight balanced search trees and skip lists.

Implantation of suffix trees and pattern matching

Implementation of various heap structures.

Implementation of concurrent hashing, concurrent skip lists, and concurrent priority

queues.

Implementation of approximation and randomized algorithms.

Implementation of parallel sorting algorithms.

Developing an application involving concurrency and data structures.

TOTAL: 45 PERIODS

REFERENCE BOOKS:

1. M. Herlihy and N. Shavit, “The Art of Multiprocessor Programming”, Morgan Kaufmann,

2012.

2. Peter Brass, “Advanced Data Structures”, Cambridge University Press, 2008.

3. A. V. Aho, J. E. Hopcroft, and J. D. Ullman, “The Design and Analysis of Computer

Algorithms”, Addison-Wesley, 1975.

4. Gavpai, “Data Structures and Algorithms – Concepts, techniques and Applications”, First

Edition, Tata McGraw-Hill, 2008.

5. Edited by S.K. Chang, “Data Structures and Algorithms – Series of Software Engineering

and Knowledge Engineering”, Vol. 13, World Scientific Publishing, 2003.

6. Jon Kleinberg, "Algorithm Design", Addison-Wesley, 2013.

7. David P. Williamson, David B. Shmoys, “The Design of Approximation Algorithms”,

Cambridge University Press, 2011.

8. Rajeev Motwani and PrabhakarRaghavan, “Randomized Algorithms”, Cambridge

39

University Press, 1995.

9. Michael J. Quinn, “Parallel Computing: Theory & Practice”, Tata McGraw Hill Edition,

2003.

10. AnanthGrama, Anshul Gupta, et al., “Introduction to Parallel Computing”, Second Edition,

Pearson Education, 2003.

WEB REFERENCES:

1. http://www.w3schools.in/c-programming-language

2. http://www.geeksforgeeks.org/pattern-searching-set-8-suffix-tree-introduction/

3. http://iamwww.unibe.ch/~wenger/DA/SkipList/

4. http://www.cs.au.dk/~gerth/slides/soda98.pdf

5. http://www.cs.sunysb.edu/~algorith/files/suffix-trees.shtml

6. http://pages.cs.wisc.edu/~shuchi/courses/880-S07/scribe-notes/lecture20.pdf

List of Sample Exercises

1. AfileconsistsofalistofCDtitles withinformationsuchascategory(in alphanumericform

maximumof 25 characters)andtitle(inalphanumericformmaximum of 25 characters

characters).Duplicatesentriesare allowed. Example Categories are: Education,

Entertainment, Examinations, Soft skill, Games etc.

Designasystemtogetnewentries toadd, search for an entry, delete

theexistingentriesandviewthetitles. Thesystemdoesnotknowthe numberof

titlesinadvance. The system may keep the information either in order or unordered.

Compare the efficiency of the above two approaches.

2. An electronics goods dealer has 50 different types of item and for each item he has a

maximum of 5 branded company products for sale. Read and store the monthly sales

(day wise) of the shop in a multi list and produce the following reports.

List the day wise total sales amount of all goods

List the weekly sale details of refrigerator.

List the monthly sale details of all LG brand electronic good

Make the list as empty at the end of seventh day of the week after taking

appropriate back up.

3. Construct concurrent bi-stack in a single array and perform the following operation

for string manipulation such as:

i) Search for a character and Replace it by a new one if available

ii) Reverse a String

iii) Test for palindrome

iv) Count the occurrences of the given character

4. A deque is a data structure consisting of a list of items, on which the following

operations are possible:

Push(X,D): Insert item X on the front end of the deque D.

Pop(D): Remove the front item from the deque D and return it

Inject(X,D): Insert an item X on the rear end of the deque D.

Eject(D): Remove the rear item from the deque D and return it.

40

Implement the above concurrent double ended queue.

5. Suppose that an advertising company maintain a database and needs to generate

mailing labels for certain constituencies. A typical request might require sending out a

mailing to people who are between the ages of 34 and 49and whose annual income is

between $100000 and $200000.This problem is known as a two dimensional range

query. To solve such range queries a two dimensional search tree namely 2-D tree can

be used which has the simple property that branching on odd levels is done with

respect to the first key and branching on even levels is done with respect to the

second key. Implement a 2-D tree with company database consist of the following

fields such mail-ID, Age, Gender, Annual Income and Occupation.

6. Using weight balanced search tree construct a Telephone directory with the

Information such as: Phone Number, Name and address then perform the following

a)Search for a phone number and print the customer name and address

b) Remove a Phone number from the directory

c) Change the address of the customer whose phone number is given.

d) Print the content of the directory

7. Construct a Red-Black tree with the database containing Book detail such access

Number, Title, Author name, Department and price. Perform the following operations

i) Search for a book based on Book title

ii) Add a new book entry into the database

iii)Remove the lost book entry from the database

Note: Arrange the list of records based an book title to improve the performance of the

frequent search operations.

8. The details of employees (Emp.Id, Name, Department and Total Years of experience) of

a company are to be maintained. The list indicates both alphabetical ordering of names,

ascending order of Emp.Id Number and alphabetical ordering of department names.

Perform the following by using Skip List structure:

Insert a new employee detail in the appropriate position

Remove an employee detail where Emp.Id is given

Find an employee detail whose ID is given.

Find employee information whose name in a particular department is

given.

List all employee detail in order of their name.

9. Construct a Suffix Tree data structure to construct a Telephone directory Telephone

directory with the Information such as: Phone Number, Name and address then

perform the following operation

a. Insert a new customer information into the directory

b. Disable a connection and Delete that phone number from the

directory

c. Print all customer addresses that starts with name “AN*”.

d. Print all customer addresses and phone numbers whose name starts

41

with alphabets A-E.

10. Construct double ended priority queue using Min-Max heaps and perform the following

a) Find 3rd minimum

b) Delete an item(with random priority)

c) Delete maximum element

d) Heap sort in descending order

e) Modify the priority of an item

11. Online dictionary implementation using Hashing

Implement a dictionary which contains the meaning of different words. Both the word

and the meaning can be in the same language. Your program should read a word and

should give the meaning. If the word is a new one (not available in the dictionary) then

include the word into its correct position with its meaning.

Implement the same problem using concurrent Hashing technique.

12. Implementation of Approximation algorithm : Solve the 0-1 Knapsack problem

Given a knapsack with maximum weight capacity C and a set S consisting of n items,

each item i with weight wi and profit pi (all wi, pi and W are integer values). The

problem is to pack the knapsackto achieve maximum total profit of packed items with

items total weight less than or equal to C.

13. Implementation of randomized algorithm: Find the solution for the Project selection

problem.

In the project selection problem, there are n projects and m equipments. Each project

pi yields revenue r(pi)and each equipment qi costs c(qi)to purchase. Each project

requires a number of equipments and each equipment can be shared by several

projects. The problem is to determine which projects and equipments should be

selected and purchased respectively, so that the profit is maximized.

14. Implement the following parallel sorting and compare the performance those

algorithms.

i) parallel Quick sort

ii) Parallel merge sort

iii) Batcher’s Bitonic sort

Note:

Batcher’s Bitonicsort is a parallel sorting algorithm whose main operation is a technique

for merging two bitonic sequences. A bitonic sequence is the concatenation of an

ascending and a descending sequence. For example 2, 4, 6, 8, 23, 8, 5, 3, 0 is a

bitonic sequences.

13MC152: ADVANCED DATABASES LABORATORY L T P C

0 0 3 2

Course Objectives:

To work with various databases

To work with Weka tool

Course Outcomes:

42

Create various databases

Design Classification and Clustering algorithms

SYLLABUS FOR THE LAB:

Create a relational database using B+ tree structure. Implement the operations insert,

modify, delete and search operations with query parser.

Implement query optimizer by accessing the meta data.

Create a distributed database and run various queries. Use stored procedures.

Queries using Object Oriented Database.

Parallel Database Access from a Programming Language

- Access database from a programming language such as Java and Python.

Active Databases

-Create an Active Database including Triggers and assertions.

Deductive Database

-Create a knowledge database with facts and extract data using rules.

XML

-Create an XML Schema for the Company Database.

Weka

-Work with Weka tool classification and clustering algorithms.

Building Web Applications

- Build Web applications using Java servlet API.

TOTAL: 45 PERIODS

WEB REFERENCES:

1. http://www.db-book.com

2. http://infolab.stanford.edu/~ullman/dscb.html

3. http://www.cs.wisc.edu/~dbbook

List of Sample Exercises

1 B+ Tree

Scenario: Consider a relation consisting of the following fields.

Student(sid,sname,login,age,gpa)

Answer the following queries:

1. Get all records with search key greater than 38.

2. Insert a record with search key 109 into the tree

3. Delete the record with search key 81 from the tree.

4. Modify the record with search key 60 in the tree.

2 Query Optimizer

Consider the following relational Schema and SQL Query:

Suppliers(sid: integer, sname: char(20), city: char(20)

Supply(sid: integer, pid: integer)

Parts(pid:integer, pname: char(20), price:real)

SELECT S.sname, P.pname

FROM Suppliers S, Parts P, Supply Y

43

WHERE S.sid = Y.sid AND Y.pid =P.pid AND

S.city = ‘Madison’ AND P.price<= 1000

1. What information about these relations does the query optimizer need to select

a good query execution plan for the given query?

2. How many different join orders, assuming that cross-products are disallowed,

does a System R style Query optimizer consider when deciding how to

process the given query ?

3. Create the indexes needed in processing this query?

4. Experiment how does adding DISTINCT to the SELECT clause affect the plans

produced

5. Experiment how does adding ORDER BY sname to the query affect the plans

produced

6. Experiment how does adding GROUP BY to the query affect the plans produced

3 Distributed Database

Scenario: Consider a distributed database for a bookstore with 4 sites called S1, S2,

S3 and S4.

Consider the following relations:

Books ( ISBN, primaryAuthor, topic, totalStock, price )

BookStore ( storeNo, city, state, zip, inventoryValue )

Stock ( storeNo, ISBN, Qty )

totalStock is the total number of books in stock and inventoryValue is the total

inventory value for the store in dollars.

Consider that Books are fragmented by price amounts into:

F1: Books: price up to $20

F2: Books: price from $20.01 to $50

F3: Books: price from $50.01 to $100

F4: Books: price $100.01 and above

Similarly, BookStores are divided by ZIP codes into:

S1: Bookstore: Zip up to 25000

S2: Bookstore: Zip 25001 to 50000

S3: Bookstore: Zip 50001 to 75000

S4: Bookstore: Zip 75001 to 99999

Task 1: Write SQL query for the following

1. Insert and Display details in each table.

2. Find the total number of books in stock where price is between $15 and $55.

3. Update the bookprice of bookNo=1234 from $45 to $55 at site S3.

4. Find total number of book at site S2.

Task 2: Implement deadlock detection algorithm for distributed database using

wait-for graph and test with the following information.

Consider five transactions T1, T2, T3, T4 and T5 with

44

T1 initiated at site S1 and spawning an agent at site S2

T2 initiated at site S3 and spawning an agent at site S1

T3 initiated at site S1 and spawning an agent at site S3

T4 initiated at site S2 and spawning an agent at site S3

T5 initiated at site S3

The locking information for these transactions is shown in the following table

Transactions Data items locked

by transactions

Data items transaction is

waiting for

Site involved in

operations

T1 X1 X8 S1

T1 X6 X2 S2

T2 X4 X1 S1

T2 X5 S3

T3 X2 X7 S1

T3 X3 S3

T4 X7 S2

T4 X8 X5 S3

T5 X3 X7 S3

Produce local wait for graph for each of the sites and construct global wait for graph

and check for dead lock.

4 Object Oriented Database

1. Scenario: Universitywants to track persons associated with them. A person

can be an Employee or Student. Employees are Faculty, Technicians and

project Associates. Students are Full time students, Part time students and

Teaching Assistants.

TASK1: Design an Enhanced Entity Relationship (EER) Model for university database.

Write and execute OQL for the following

Insert details in each object.

Display the Employee details.

Display Student Details.

Modify person details.

Delete person details.

45

TASK2: Extend the design by incorporating the following information.

Students are registering for courses which are handled by instructor researchers

(graduate students). Faculty are advisors to graduate students. Instructor researchers’

class is a category with superclass of faculty and graduate students. Faculty are having

sponsored research projects with a grant supporting instruction researchers. Grants are

sanctioned by different agencies. Faculty belongs to different departments. Department

is chaired by a faculty. Insert and Display details in each class.

5 Parallel Database

1. Consider the application for University Counselling for Engineering Colleges.

The college, department and vacancy details are maintained in 3 sites.

Students are allocated colleges in these 3 sites simultaneously. Implement this

application using parallel database.

2. Scenario: There are 5 processors working in a parallel environment and

producing output. The output record contains college details and students mark

information. Implement parallel join and parallel sort algorithms to get the

marks from different colleges of the university and publish 10 ranks for each

discipline. Use java and Python.

6 Active database

1. Create triggers and assertions for Bank database handling deposits and loan

and Admission database handling seat allocation and vacancy position.

TASK: Design the above relational database schema and implement the following

triggers and assertions.

a. When a deposit is made by a customer, create a trigger for updating

customers account and bank account

b. When a loan is issued to the customer, create a trigger for updating

customers loan account and bank account.

c. Create assertion for bank database so that the total loan amount does

not exceed the total balance in the bank.

d. When an admission is made, create a trigger for updating the seat

allocation details and vacancy position.

7 Deductive database

Construct a knowledge database for kinship domain (family relations) with facts.

Extract the following relations using rules.

Parent, Sibling, Brother, Sister, Child, Daughter, Son, Spouse, Wife, husband,

Grandparent, Grandchild, Cousin, Aunt and Uncle.

46

8 Weka tool

1. Work with Weka tool classification and clustering algorithms using the given

training data and test with the unknown sample

RID Age Income Student Credit_

rating

Class: buys_

computer

1 youth high no fair no

2 youth high no excellent no

3 middle_aged high no fair yes

4 senior medium no fair yes

5 senior low yes fair yes

6 senior low yes excellent no

7 middle_aged low yes excellent yes

8 youth medium no fair no

9 youth low yes fair yes

10 senior medium yes fair yes

11 Youth medium yes excellent yes

12 middle_aged medium no excellent yes

13 middle_aged high yes fair yes

14 senior medium no excellent no

9 Web Application

Implement web application using java servlet API for the supplier database.

10 XML

1. Design XML Schema for the given company database

Department (deptName, deptNo, deptManagerSSN, deptManagerStartDate,

deptLocation )

Employee (empName, empSSN, empSex, empSalary, empBirthDate,

empDeptNo, empSupervisorSSN, empAddress, empWorksOn)

Project ( projName, projNo, projLocation, projDeptNo, projWorker )

47

TASK1: Implement the following queries using XQuery and XPath

1. Retrieve the department name, manager name, and manager salary for every

department’

2. Retrieve the employee name, supervisor name and employee salary for each

employee who works in the Research Department.

3. Retrieve the project name, controlling department name, number of employees

and total hours worked per week on the project for each project.

4. Retrieve the project name, controlling department name, number of employees

and total hours worked per week on the project for each project with more

than one employee working on it

TASK2: Implement a storage structure for storing XML database and test with the

above schema.

SEMESTER II

13MC201: ADVANCED OPERATING SYSTEMS L T P C

Course Objectives:

To review the functional components of operating system and the types of advanced

operating systems.

To understand how to order events in a distributed system using logical clocks.

To study the various algorithms for distributed mutual exclusion and distributed deadlock

detection.

To learn about the design and working of distributed file system, distributed shared

memory and distributed scheduling.

To study the different types of faults and the recovery methods for distributed systems.

To know the components and management aspects of Real time and Mobile operating

systems

Course Outcomes:

Analyse the various synchronization, scheduling and memory management issues

Able to order events in a distributed system using lamports clock and vector clock.

Analyse the performance of various mutual exclusion algorithms.

Compare the working of various distributed deadlock detection algorithms

Find solutions to the various design issues in various distributed file systems.

Explore the concept of distributed shared memory.

Identify the components in distributed scheduling

Evaluate various error recovery algorithms

Identify the features of real time and mobile operating systems

Explore the design and implementation of Android operating system.

48

UNIT I FUNDAMENTALS OF OPERATING SYSTEMS 9

Overview – Synchronization Mechanisms – Processes and Threads - Process Scheduling –

Deadlocks: Detection, Prevention and Recovery – Models of Resources – Memory Management

Techniques.

UNIT II DISTRIBUTED OPERATING SYSTEMS 9

Introduction – Issues – Communication Primitives – Inherent Limitations -Lamport’s Logical Clock;

Vector Clock; Causal Ordering; Global State; Cuts; Termination Detection. Distributed Mutual

Exclusion – Non-Token Based Algorithms – Lamport’s Algorithm -Token-Based Algorithms –

Suzuki-Kasami’s Broadcast Algorithm – Distributed Deadlock Detection – Issues – Centralized

Deadlock-Detection Algorithms -Distributed Deadlock-Detection Algorithms.Agreement Protocols –

Classification -Solutions –Applications.

UNIT III DISTRIBUTED RESOURCE MANAGEMENT 9

Distributed File systems – Architecture – Mechanisms – Design Issues – Distributed Shared

Memory – Architecture – Algorithm – Protocols -Design Issues. Distributed Scheduling – Issues –

Components – Algorithms.

UNIT IV FAILURE RECOVERY AND FAULT TOLERANCE 9

Basic Concepts-Classification of Failures – Basic Approaches to Recovery; Recovery in Concurrent

System; Synchronous and Asynchronous Checkpointing and Recovery; Check pointing in

Distributed Database Systems; Fault Tolerance; Issues -Two-phase and Non-blocking Commit

Protocols; Voting Protocols; Dynamic Voting Protocols;

UNIT V REAL TIME AND MOBILE OPERATING SYSTEMS 9

Basic Model of Real Time Systems - Characteristics- Applications of Real Time Systems – Real

Time Task Scheduling - Handling Resource Sharing - Mobile Operating Systems –Micro Kernel

Design - Client Server Resource Access – Processes and Threads - Memory Management - File

system.

Case Study: iOS and Android: Architecture and SDK Framework - Media Layer - Services Layer -

Core OS Layer - File System.

TOTAL: 45 PERIODS

REFERENCE BOOKS:

1. MukeshSinghal and Niranjan G. Shivaratri, “Advanced Concepts in Operating Systems –

Distributed, Database, and Multiprocessor Operating Systems”, Tata McGraw-Hill, 2001.

2. Abraham Silberschatz; Peter Baer Galvin; Greg Gagne, “Operating System Concepts”,

Seventh Edition, John Wiley & Sons, 2004.

3. Rajib Mall, “Real-Time Systems: Theory and Practice”, Pearson Education India, 2006.

4. Neil Smyth, “iPhone iOS 4 Development Essentials – Xcode”, Fourth Edition, Payload

media, 2011.

5. Daniel P Bovet and Marco Cesati, “Understanding the Linux kernel”, 3rd edition, O’Reilly,

2005.

6. Andrew S. Tanenbaum, “Modern Operating Systems”, Second Edition, AddisonWesley,

2001.

49

Web References:

1. http://deneb.cs.kent.edu/~mikhail/classes/aos.f02/

2. http://www.coda.cs.cmu.edu/ljpaper/lj.html

3. http://www.coda.cs.cmu.edu/

4. http://www.windowsnetworking.com/articles_tutorials/Windows2003-Distributed-File-

System.html

5. http://www.developers.net/intelisnshowcase/view/758

6. http://csi-india.org/resource-scheduling-real-time-database-systems-operating-system-

perspective

7. http://www.xcubelabs.com/evolution-of-mobile-operating-systems.php

13MC202: MACHINE LEARNING TECHNIQUES L T P C

3 0 2 4

Course Objectives:

To explain the concepts of machine learning

To implement linear and non-linear learning models

To implement distance-based clustering techniques

To build tree and rule based models

To apply reinforcement learning techniques

Course Outcomes:

To explain theory underlying machine learning

To construct algorithms to learn linear and non-linear models

To implement data clustering algorithms

To construct algorithms to learn tree and rule-based models

To apply reinforcement learning techniques

UNIT I FOUNDATIONS OF LEARNING 9

Components of learning – learning models – geometric models – probabilistic models – logic

models – grouping and grading – learning versus design – types of learning – supervised –

unsupervised – reinforcement – theory of learning – feasibility of learning – error and noise –

training versus testing – theory of generalization – generalization bound – approximation-

generalization tradeoff – bias and variance – learning curve

UNIT II LINEAR MODELS 9

Linear classification – univariate linear regression – multivariate linear regression – regularized

regression – Logistic regression – perceptrons – multilayer neural networks – learning neural

networks structures – support vector machines – soft margin SVM – going beyond linearity –

generalization and overfitting – regularization – validation

UNIT III DISTANCE-BASED MODELS 9

Nearest neighbor models – K-means – clustering around medoids – silhouttes – hierarchical

clustering – k-d trees – locality sensitive hashing – non-parametric regression – ensemble learning

– bagging and random forests – boosting – meta learning

50

UNIT IV TREE AND RULE MODELS 9

Decision trees – learning decision trees – ranking and probability estimation trees – regression

trees – clustering trees – learning ordered rule lists – learning unordered rule lists – descriptive

rule learning – association rule mining – first-order rule learning

UNIT V REINFORCEMENT LEARNING 9

Passive reinforcement learning – direct utility estimation – adaptive dynamic programming –

temporal-difference learning – active reinforcement learning – exploration – learning an action-

utility function – Generalization in reinforcement learning – policy search – applications in game

playing – applications in robot control

TOTAL: 45 PERIODS

REFERENCE BOOKS:

1. Y. S. Abu-Mostafa, M. Magdon-Ismail, and H.-T. Lin, “Learning from Data”, AMLBook

Publishers, 2012.

2. P. Flach, “Machine Learning: The art and science of algorithms that make sense of data”,

Cambridge University Press, 2012.

3. K. P. Murphy, “Machine Learning: A probabilistic perspective”, MIT Press, 2012.

4. C. M. Bishop, “Pattern Recognition and Machine Learning”, Springer, 2007.

5. D. Barber, “Bayesian Reasoning and Machine Learning”, Cambridge University Press, 2012.

6. M. Mohri, A. Rostamizadeh, and A. Talwalkar, “Foundations of Machine Learning”, MIT

Press, 2012.

7. T. M. Mitchell, “Machine Learning”, McGraw Hill, 1997.

8. S. Russel and P. Norvig, “Artificial Intelligence: A Modern Approach”, Third Edition,

Prentice Hall, 2009.

13MI202: CLOUD COMPUTING TECHNOLOGIES L T P C

(Common to M.E CSE / M.Tech IT) 3 0 0 3

Course Objectives:

To understand the concept of cloud and utility computing.

To understand the various issues in cloud computing.

To familiarize themselves with the types of virtualization.

To familiarize themselves with the lead players in cloud.

To appreciate the emergence of cloud as the next generation computing paradigm.

To be able to set up a private cloud.

Course Outcomes:

Recognize the strengths and limitations of cloud computing

Discuss on various virtual machine products

Identify the architecture, infrastructure and delivery models of cloud computing Applications.

Suggest solutions for the core issues of cloud computing such as security, privacy and

interoperability

Decide the appropriate technologies, algorithms and approaches for the related issues

51

UNIT I OVERVIEW OF VIRTUALIZATION 8

Basics of Virtualization - Virtualization Types – Desktop Virtualization – Network Virtualization –

Server and Machine Virtualization – Storage Virtualization – System-level of Operating

Virtualization – Application Virtualization- Virtualization Advantages - Virtual Machine Basics –

Taxonomy of Virtual Machines - Process Virtual Machines - System Virtual Machines – Hypervisor

– Interpretation and Binary translation.

UNIT II VIRTUALIZATION STRUCTURES 8

Implementation Levels of Virtualization - Virtualization Structures - Tools and Mechanisms -

Virtualization of CPU, Memory, I/O Devices - Virtual Clusters and Resource Management –

Virtualization for Data-Center Automation.

UNIT III CLOUD INFRASTRUCTURE 9

Scalable Computing over the Internet – Technologies for Network based Systems - System Models

for Distributed and Cloud Computing – Service Oriented Architecture – NIST Cloud Computing

Reference Architecture. Cloud Computing and Services Model – Public, Private and Hybrid Clouds

– Cloud Eco System - IaaS -PaaS – SaaS. Architectural Design of Compute and Storage Clouds –

Layered Cloud Architecture Development – Design Challenges - Inter Cloud Resource Management

– Resource Provisioning and Platform Deployment – Global Exchange of Cloud Resources.

Case Study : Amazon Web Service reference , GoGrid, Rackspace.

UNIT IV PROGRAMMING MODEL 10

Parallel and Distributed Programming Paradigms – MapReduce , Twister and Iterative MapReduce

– Hadoop Library from Apache – Mapping Applications - Programming Support - Google App

Engine, Amazon AWS - Cloud Software Environments -Eucalyptus, Open Nebula, OpenStack.

CloudSim – Architecture - Cloudlets – VM creation – Broker – VM allocation – Hosts – Data

Center.

UNITV SECURITY IN THE CLOUD AND RESOURCE MANAGEMENT AND RESOURCE MANAGEMENT 10

Cloud Computing Risk Issues – Cloud Computing Security Challenges – Cloud Computing Security

Architecture – Trusted cloud Computing – Identity Management and Access Control – Autonomic

Security. Dynamic Resource Allocation Using Virtual Machines for Cloud Computing Environment

- Optimization of Resource Provisioning Cost in Cloud Computing

TOTAL: 45 PERIODS

REFERENCE BOOKS:

1. Kai Hwang, Geoffrey C Fox, Jack G Dongarra, “Distributed and Cloud Computing, From

Parallel Processing to the Internet of Things”, Morgan Kaufmann Publishers, 2012.

2. Ronald L. Krutz, Russell Dean Vines, “Cloud Security – A comprehensive Guide to Secure

Cloud Computing”, Wiley – India, 2010.

3. John W.Rittinghouse and James F.Ransome, “Cloud Computing: Implementation,

Management, and Security”, CRC Press, 2010.

4. George Reese, “Cloud Application Architectures: Building Applications and Infrastructure

in the Cloud” O'Reilly

5. SivadonChaisiri, Bu-Sung Lee, and DusitNiyato, “Optimization Of Resource Provisioning

Cost In Cloud Computing”, IEEE TRANSACTIONS ON SERVICES COMPUTING, VOL. 5,

52

NO. 2, APRIL-JUNE 2012.

6. Zhen Xiao, Weijia Song, And Qi Chen, ”Dynamic Resource Allocation Using Virtual

Machines For Cloud Computing Environment”, IEEE TRANSACTIONS ON PARALLEL AND

DISTRIBUTED SYSTEMS, VOL. 24, NO. 6, JUNE 2013.

7. RajkumarBuyya, Christian Vecchiola, S.TamaraiSelvi, ‘Mastering Cloud Computing”,

TMGH,2013.

8. James E. Smith, Ravi Nair, “Virtual Machines: Versatile Platforms for Systems and

Processes”, Elsevier/Morgan Kaufmann, 2005.

9. William von Hagen, “Professional Xen Virtualization”, Wrox Publications, January, 2008.

10. DimitriosZissis, DimitriosLekkas, “Addressing Cloud Computing Security Issues”, Future

Generation Computer Systems 28 (2012) 583–592,ELSEVIER

11. Rodrigo N.Calheiros, Rajiv Ranjan, Anton Beloglazov, César A. F. De Rose, and

RajkumarBuyya, “CloudSim: A Toolkit for Modeling and Simulation of Cloud Computing

Environments and Evaluation of Resource Provisioning Algorithms “, Cloud Computing

and Distributed Systems (CLOUDS) Laboratory.

http://www.buyya.com/papers/CloudSim2010.pdf

13MI204:BIG DATA ANALYTICS L T P C

(Common to M.E CSE / M.Tech IT) 3 0 0 3

Course Objectives:

To Explore the fundamental concepts of big data and analytics

To apply various techniques for mining data stream.

To analyze the big data using intelligent techniques.

To apply search methods and Visualization.

To design applications using Map Reduce Concepts.

Course Outcomes:

Work with big data platform and its analysis techniques.

Design efficient algorithms for mining the data from large volumes.

Model a framework for Human Activity Recognition.

Analyze the big data for useful business applications.

Implement search methods and Visualization

UNIT I INTRODUCTION TO BIG DATA 9

Introduction to Big Data Platform – Challenges of Conventional Systems - Intelligent data analysis

– Nature of Data - Analytic Processes and Tools - Analysis Vs Reporting - Modern Data Analytic

Tools - Statistical Concepts: Sampling Distributions - Re-Sampling - Statistical Inference -

Prediction Error.

UNIT II DATA ANALYSIS 9

Regression Modeling - Multivariate Analysis – Bayesian Methods – Bayesian Paradigm - Bayesian

Modeling - Inference and Bayesian Networks - Support Vector and Kernel Methods - Analysis of

53

Time Series: Linear Systems Analysis - Nonlinear Dynamics - Rule Induction - Fuzzy Logic:

Extracting Fuzzy Models from Data - Fuzzy Decision Trees

UNIT III SEARCH METHODS AND VISUALIZATION 9

Search by simulated Annealing – Stochastic, Adaptive search by Evaluation – Evalution Strategies

– Genetic Algorithm – Genetic Programming – Visualization – Classification of Visual Data Analysis

Techniques – Data Types – Visualization Techniques – Interaction techniques – Specific Visual data

analysis Techniques.

UNIT IV MINING DATA STREAMS 9

Introduction To Streams Concepts – Stream Data Model and Architecture - Stream Computing -

Sampling Data in a Stream – Filtering Streams – Counting Distinct Elements in a Stream –

Estimating Moments – Counting Oneness in a Window – Decaying Window - Real time Analytics

Platform(RTAP) Applications - Case Studies - Real Time Sentiment Analysis, Stock Market

Predictions.

UNIT V FRAMEWORKS 9

MapReduce – Hadoop, Hive, MapR – Sharding – NoSQL Databases - S3 - Hadoop Distributed File

Systems– Case Study- Preventing Private Information Inference Attacks on Social Networks-Grand

Challenge: Applying Regulatory Science and Big Data to Improve Medical Device Innovation

TOTAL: 45 PERIODS

REFERENCE BOOKS:

1. Michael Berthold, David J. Hand, “Intelligent Data Analysis”, Springer, 2007.

2. AnandRajaraman and Jeffrey David Ullman, “Mining of Massive Datasets”, Cambridge

University Press, 2012.

3. Bill Franks, “Taming the Big Data Tidal Wave: Finding Opportunities in Huge Data Streams

with Advanced Analytics”, John Wiley & sons, 2012.

4. Glenn J. Myatt, “Making Sense of Data”, John Wiley & Sons, 2007

5. Pete Warden, “Big Data Glossary”, O’Reilly, 2011.

6. Jiawei Han, MichelineKamber “Data Mining Concepts and Techniques”, Second Edition,

Elsevier, Reprinted 2008.

7. Raymond Heatherly , Murat Kantarcioglu and BhavaniThuraisingham “Preventing Private

Information Inference Attacks on Social Networks” IEEE Transaction on Knowledge and

Data Engineering,Vol 25, No.8 ,August 2013.

8. Arthur G. Erdman, Daniel F. Keefe, Senior Member, IEEE, and Randall SchiestGrand

Challenge: Applying Regulatory Science andBig Data to Improve Medical Device

InnovationIEEE TRANSACTIONS ON BIOMEDICAL ENGINEERING, VOL. 60, NO. 3, MARCH

2013

54

13MC251: ADVANCED OPERATING SYSTEMS LABORATORY L T P C

0 0 3 2

Course Objectives:

To achieve synchronisation among processes and threads. (Multiprocessor operating

system)

To write a program order events and messages in a distributed system using vector clocks.

(Distributed operating system)

To write a distributed application using RMI. (Distributed operating system)

To study and develop Android based mobile applications. (Mobile OS)

To study and develop real time applications like alarm clock (Real Time OS)

Course Outcomes:

Achieve Synchronisation among multiple processes.

Provide synchronisation using monitors in a multithreaded application.

Develop RMI applications.

Order events using Lamport’s logical clock and vector clock.

Order messages in a distributed system using vector clock.

Compare various distributed scheduling algorithms.

Explore a real time OS and develop real time applications.

Investigate Android OS and develop an Android based mobile application.

List of Sample Exercises

Exercise 1

Semaphores - Multiprocessor operating systems

6

Assume there are three processes: Pa, Pb, and Pc. Only Pa can output the letter A, Pb B,

and Pc C.Utilizing only semaphores (and no other variables) the processes are synchronized so

that the output satisfies the following conditions:

a) A B must be output before any C's can be output.

b) B's and C's must alternate in the output string, that is, after the first B is

output, another B cannot be output until a C is output. Similarly, once a C is output,

another C cannot be output until a B is output.

c) The total number of B's and C's which have been output at any given point in

the output string cannot exceed the number of A's which have been output up to that

point.

Examples

AACB -- invalid, violates a)

ABACAC -- invalid, violates b)

AABCABC -- invalid, violates c)

AABCAAABC -- valid

AAAABCBC -- valid

AB – valid

55

Exercise 2 – Multithreading - Multiprocessor operating systems 3

The Cigarette Smokers Problem

Consider a simulation with three smoker threads and one agent thread. Each smoker

continuously makes a cigarette and smokes it. But to make a cigarette, a smoker needs three

ingredients: tobacco, paper, and matches. One of the smoker threads has only paper, another has

only tobacco and the third has only matches. The agent thread has an infinite supply of all three

materials. The three smoker threads are initially blocked. The agent places two randomly chosen

(different) ingredients on the table and unblocks the one smoker who has the remaining

ingredient. The agent then blocks. The unblocked smoker removes the two ingredients from the

table, makes a cigarette, and smokes it for a random amount of time, unblocking the agent on

completion of smoking the cigarette. The agent then puts out another random two of the three

ingredients, and the cycle repeats.

Write a multi-class multithreaded Java program that uses a monitor to synchronize the

agent thread and the three smoker threads. Do not mechanically translate semaphore code into

monitor code! The agent thread executes in an agent object created from an agent class. Each

smoker thread executes in a smoker object. All smoker objects are created from one smoker class

whose constructor is used to specify the ingredient possessed by the smoker object. A driver class

with a main method constructs the objects and starts the threads. Use a single monitor object

instantiated from a class Control for synchronization. Each of the four threads invokes a

synchronized monitor method for its synchronization. No semaphores are allowed. No

synchronized blocks are allowed, only synchronized methods. No busy waiting is allowed. No calls

to nap inside a synchronized method are allowed (do not nap while holding the monitor object's

lock, that is, while inside a synchronized method or while inside a method called by a synchronized

method).

Exercise 3 Multiple sleeping barbers - Multiprocessor operating systems 3

Write a multi-class multithreaded Java program that simulates multiple sleeping barbers, all in one

barbershop that has a finite number of chairs in the waiting room. Each customer is instantiated

from a single Customer class; each barber is instantiated from a single Barber class.

Exercise 4 Lamport’s Mutual Exclusion - Distributed operating systems 3

Implement the Lamport’s distributed mutual exclusion algorithm.

Requesting the critical section:

When a site Si wants to enter the CS, it broadcasts a REQUEST(tsi , i )message to all other sites

and places the request on request queuei . ((tsi ,i )denotes the timestamp of the request.)

When a site Sj receives the REQUEST(tsi , i ) message from site Si ,places siteSi ’s request on

request queuej and it returns a timestamped REPLY messageto Si .

Executing the critical section:

Site Si enters the CS when the following twoconditions hold:

L1: Si has received a message with timestamp larger than (tsi ,i ) fromall other sites.

L2: Si ’s request is at the top of request queuei .

Releasing the critical section:

Site Si , upon exiting the CS, removes its request from the top of its request queue and broadcasts

a timestamped RELEASE message to all other sites.

56

When a site Sj receives a RELEASE message from site Si , it removes Si ’s request from its request

queue.

When a site removes a request from its request queue, its own request may come

at the top of the queue, enabling it to enter the CS.

Exercise 5 Event Ordering - Distributed operating systems 3

Consider a distributed system that consists of two processes which communicate with each other.

Let P be a state predicate on the local state of one process and Q be a state predicate on the local

state of the other process. Order all the events that happen in the processes using lamport’s clock

and vector clock.

Exercise 6 Causal Message Ordering -Distributed operating systems 6

The purpose of causal ordering of messages is to insure that the same causal relationship for the

"message send" events correspond with "message receive" events. (i.e. All the messages are

processed in order that they were created.)

Birman-Schiper-Stephenson Protocol

There are three basic principles to this algorithm:

1. All messages are time stamped by the sending process.

[Note: Each element of the vector corresponds to the number of messages sent (including

this one) to other processes.]

2. A message cannot be delivered until:

o All the messages before this one have been delivered locally.

o All the other messages that have been sent out from the original processshas been

accounted as delivered at the receiving process.

3. When a message is delivered, the clock is updated.

This protocol requires that the processes communicate through broadcast messages since

this would ensure that only one message could be received at any one time (thus concurrently

timestamped messages can be ordered).

Exercise 7 Scheduling -Distributed operating systems

6

Simulate the sender initiated, receiver initiated and symmetric initiated load sharing algorithms.

Assume n nodes and generate values for parameters like queue length and threshold. Run the

simulation, compare the results and print the statistics.

Exercise 8 Real time operating systems

3

A real-time program implementing an alarm clock shall be developed.

[Alarm clock, using C and Simple_OS]

The program shall fulfill the following requirements:

Clock with alarm functionality shall be implemented, It shall be possible to set the time, It

shall be possible to set the alarm time, the alarm shall be enabled when the alarm time is set, the

alarm shall be activated when the alarm is enabled, and when the current time is equal to the

alarm time, an activated alarm must be acknowledged. Acknowledgement of an alarm shall lead to

the alarm being disabled, the alarm is enabled again when a new alarm time is set, and an alarm

which is not acknowledged shall be repeated every 10 seconds. The program shall communicate

57

with a graphical user interface, where the current time shall be displayed, and where the alarm

time shall be displayed when the alarm is enabled. It shall be possible to terminate the program,

using a command which is sent from the graphical user interface.

Exercise 9 Case Study – Embedded and Real time operating systems 3

Study and experiment any embedded and real-time operating system such as eCos

Exercise 10 Case Study - Mobile Operating System 6

Study the Android open source operating system for mobile devices and develop an simple

application

TOTAL: 45 PERIODS

REFERENCE BOOKS:

1. MukeshSinghal and Niranjan G. Shivaratri, “Advanced Concepts in Operating Systems –

Distributed, Database, and Multiprocessor Operating Systems”, Tata McGraw-Hill, 2001.

2. Abraham Silberschatz; Peter Baer Galvin; Greg Gagne, “Operating System Concepts”,

Seventh Edition, John Wiley & Sons, 2004.

3. Rajib Mall, “Real-Time Systems: Theory and Practice”, Pearson Education India, 2006.

4. Neil Smyth, “iPhone iOS 4 Development Essentials – Xcode”, Fourth Edition, Payload

media, 2011.

5. Daniel P Bovet and Marco Cesati, “Understanding the Linux kernel”, 3rd edition, O’Reilly,

2005.

6. Andrew S. Tanenbaum, “Modern Operating Systems”, Second Edition, AddisonWesley,

2001.

7. Harvey Deitel and Paul J. Deitel,” Java How to Program”,Ninth Edition,

PearsonEducation,2011

Web References:

1. http://ecos.sourceware.org

2. http://source.android.com/

3. http://docs.oracle.com/javase/tutorial/rmi/

13MI252:CLOUD COMPUTING LABORATORY L T P C

(Common to M.E CSE / M.Tech IT) 0 0 3 2

Course Objectives:

To learn how to use Cloud Services.

To implement Virtualization

To implement Task Scheduling algorithms.

To implement Energy-conscious model.

To build Private Cloud.

Course Outcomes:

Analyze the use of Cloud Applications

Apply resource allocation, scheduling algorithms.

Implement Energy-conscious model.

Create virtual machines from available physical resources.

58

Setup a private cloud.

Familiarize with Open Source Cloud computing Software.

SYLLABUS FOR THE LAB:

1. Study and Usage of Google Apps.

2. Implement Virtual OS using virtual box.

3. Simulate VM allocation algorithm using cloudSim

4. Simulate Task Scheduling algorithm using CloudSim

5. Simulate Energy-conscious model using CloudSim

6. Setup a Private Cloud Using Open Stack or Eucalyptus.

7. Install and configure Open Stack Object Storage - Swift in Ubuntu.

8. Implement Open Stack Nova-Compute

9. Implement Open Stack Image services – Glance.

10. Implement Map Reduce concept for an application.

TOTAL: 45 PERIODS

REFERENCE BOOKS:

1. James E. Smith, Ravi Nair, “Virtual Machines: Versatile Platforms for Systems and

Processes”, Elsevier/Morgan Kaufmann, 2005.

2. George Reese, “Cloud Application Architectures: Building Applications and Infrastructure

in the Cloud” O'Reilly.

WEB REFERENCES:

1. http://cloudblab.wordpress.com/

2. http://searchservervirtualization.techtarget.com/

List of Sample Exercises

1

1.

Create a Collaborative learning environment for a particular learning topic using Google

Apps. Google Drive, Google Docs and Google Slides must be used for hosting e-books,

important articles and presentations respectively. The instructor must use the Google

Sheets to convey the timetable for different events and for analyzing the scores for

individual assignment submission.

2.

Modeling and simulation Cloud computing environments, including Data Centers, Hosts

and Cloudlets and perform VM provisioning using CloudSim: Design a host with two CPU

cores, which receives request for hosting two VMs, such that each one requires two cores

and plans to host four tasks units. More specifically, tasks t1, t2, t3 and t4 to be hosted

in VM1, while t5, t6, t7, and t8 to be hosted in VM2.

Implement space-shared allocation policy and time-shared allocation policy. Compare the

results

3

3.

Model a Cloud computing environment having Data center that had 100 hosts. The hosts

are to be modeled to have a CPU core (1000 MIPS), 2 GB of RAM and 1 TB of storage.

Consider the workload model for this evaluation included provisioning requests for 400

VMs, with each request demanding 1 CPU core (250 MIPS), 256 MB of RAM and 1 GB of

storage. Each VM hosts a web-hosting application service, whose CPU utilization

distribution was generated according to the uniform distribution. Each instance of a web-

59

hosting service required 150,000 MIPS or about 10 minutes to complete execution

assuming 100% utilization.

Simulate Energy-conscious model for power consumption and power management

techniques such as Dynamic Voltage and Frequency Scaling (DVFS).

Initially, VMs are to be allocated according to requested parameters (4 VMs on each

host). The Cloud computing architecture that is to be considered for studying energy-

conscious resource management techniques/policies included a data center,

CloudCoordinator, and Sensor component. The CloudCoordinator and Sensor perform

their usual roles. Via the attached Sensors (which are connected with every host),

CloudCoordinator must periodically monitor the performance status of active VMs such as

load conditions, and processing share. This real time information is to be passed to VMM,

which can use it for performing appropriate resizing of VMs and application of DVFS and

soft scaling. CloudCoordinator continuously has to adapt allocation of VMs by issuing VM

migration commands and changing power states of nodes according to its policy and

current utilization of resources.

1

4.

Model and simulate the environment consisting of a data center with 10,000 hosts where

each host was modeled to have a single CPU core (1200MIPS), 4GB of RAM memory and

2TB of storage. Consider the provisioning policy for VMs as space-shared, which allows

one VM to be active in a host at a given instance of time. Make a request from the end-

user (through the DatacenterBroker) for creation and instantiation of 50 VMs that had

following constraints: 1024MB of physical memory, 1 CPU core and 1GB of storage. The

application granularity was modeled to be composed of 300 task units, with each task

unit requiring 1,440,000 million instructions (20 minutes in the simulated hosts) to be

executed on a host. Minimal data transfer (300 KB) overhead can be considered for the

task units (to and from the data center). After the creation of VMs, task units were

submitted in small groups of 50 (one for each VM) at inter-arrival delay of 10 minutes.

5. Implement Map Reduce concept for:

a. Strassen’s Matrix Multiplication for a huge matrix.

Computing the average number of citation index a researcher has according to age

among some 1 billion journal articles.

3

6.

1

Consider a network of entities and relationships between them. It is required to calculate

a state of each entity on the basis of properties of the other entities in its neighborhood.

This state can represent a distance to other nodes, indication that there is a neighbor

with the certain properties, characteristic of neighborhood density and so on. A network

is stored as a set of nodes and each node contains a list of adjacent node IDs. Mapper

emits messages for each node using ID of the adjacent node as a key. Reducer must

recompute state and rewrite node with the new state. Implement this scenario.

Setup a Private Cloud Using OpenStack or Eucalyptus. Develop a simple application and

make it available to the intended user.

7. Install and configure OpenStack Object Storage - Swift in Ubuntu. Consider a huge

storage requirements and store it in the cloud in a transparent manner.

60

3

8.

Install and configure OpenStack Nova-Compute. Enable a connected user to get a virtual

machine of a selected performance such as CPU, Memory.

1

9.

Install and configure Stack Image services to query for information on available disk

images, and use the Image Service's client library for streaming virtual disk images.

ELECTIVE COURSES - ELECTIVE I & II

13MC401: FORMAL MODELS OF SOFTWARE SYSTEMS L T P C

3 0 0 3

Course Objectives:

To understand the basic elements of Z

To understand relations, functions, and logical structures in Z

To understand Z schemas and schema calculus

To learn selected Z case studies

To understand Z schema refinement

Course Outcomes:

Apply the basic elements of Z

Develop relational, functional, and logical Z structures

Develop Z schema as models of software systems

Perform verifications and conduct proofs using Z models

Refine Z models towards implementing software systems

UNIT I FOUNDATIONS OF Z 9

Understanding formal methods – motivation for formal methods – informal requirements to formal

specifications – validating formal specifications – Overview of Z specification – basic elements of Z

– sets and types – declarations – variables – expressions – operators – predicates and equations

UNIT II STRUCTURES IN Z 9

Tuples and records – relations, tables, databases – pairs and binary relations – functions –

sequences – propositional logic in Z – predicate logic in Z – Z and boolean types – set

comprehension – lambda calculus in Z – simple formal specifications – modeling systems and

change

UNIT III Z- SCHEMAS AND SCHEMA CALCULUS 9

Z schemas – schema calculus – schema conjunction and disjunction – other schema calculus

operators – schema types and bindings – generic definitions – free types – formal reasoning –

checking specifications – precondition calculation – machine-checked proofs

UNIT IV Z CASE STUDIES 9

Case Study: Text processing system – Case Study: Eight Queens – Case Study: Graphical User

Interface – Case Study: Safety critical protection system – Case Study: Concurrency and real

time systems

UNIT V Z REFINEMENT 9

Refinement of Z specification – generalizing refinements – refinement strategies – program

derivation and verification – refinement calculus – data structures – state schemas – functions

and relations – operation schemas – schema expressions – refinement case study

TOTAL: 45 PERIODS

61

REFERENCE BOOKS:

1. Jonathan Jacky, “The way of Z: Practical programming with formal methods”, Cambridge

University Press, 1996.

2. Antoni Diller, “Z: An introduction to formal methods”, Second Edition, Wiley, 1994.

3. Jim Woodcock and Jim Davies, “Using Z – Specification, Refinement, and Proof”, Prentice

Hall, 1996.

4. J. M. Spivey, “The Z notation: A reference manual”, Second Edition, Prentice Hall, 1992.

5. M. Ben-Ari, “Mathematical logic for computer science”, Second Edition, Springer, 2003.

6. M. Huth and M. Ryan, “Logic in Computer Science – Modeling and Reasoning about

systems”, Second Edition, Cambridge University Press, 2004.

Web References:

1. http://www.cs.ox.ac.uk/people/michael.wooldridge/teaching/soft-eng/lect12.pdf

2. http://www.rbjones.com/rbjpub/cs/csfm04.htm

3. http://spivey.oriel.ox.ac.uk/mike/zrm/zrm.pdf

4. http://www.jetcafe.org/~jim/lambda.html

5. http://www.utdallas.edu/~gupta/courses/apl/lambda.pdf

13MC402: PERFORMANCE EVALUATION OF COMPUTER SYSTEMS L T P C

3 0 0 3

Course Objectives:

To explore the mathematical foundations needed for performance evaluation of computer

systems

To exemplify the metrics used for performance evaluation

To elucidate the analytical modeling of computer systems

To enable the students to develop new queueing analysis for both simple and complex

systems

To illustrate the use of smart scheduling and introduce the students to analytical

techniques for evaluating scheduling policies

Course Outcomes:

Identify the need for performance evaluation and the metrics used for it

Discuss open and closed queueing networks

Define Little’s law and other operational laws

Apply the operational laws to open and closed systems

Use discrete-time and continuous-time Markov chains to model real world systems

Develop analytical techniques for evaluating scheduling policies

UNIT I OVERVIEW OF PERFORMANCE EVALUATION 9

Need for Performance Evaluation in Computer Systems – Overview of Performance Evaluation

Methods – Introduction to Queueing – Probability Review – Generating Random Variables for

Simulation – Sample Paths, Convergence and Averages – Little’s Law and other Operational Laws –

Modification for Closed Systems.

62

UNIT II MARKOV CHAINS AND SIMPLE QUEUES 9

Discrete-Time Markov Chains – Ergodicity Theory – Real World Examples – Google, Aloha –

Transition to Continuous-Time Markov Chain – M/M/1 and PASTA.

UNIT III MULTI-SERVER AND MULTI-QUEUE SYSTEMS 9

Server Farms: M/M/k and M/M/k/k – Capacity Provisioning for Server Farms – Time Reversibility

and Burke’s Theorem – Networks of Queues and Jackson Product Form – Classed and Closed

Networks of Queues.

UNIT IV REAL-WORLD WORKLOADS 9

Case Study of Real-world Workloads – Phase-Type Distributions and Matrix-Analytic Methods –

Networks with Time-Sharing Servers – M/G/1 Queue and the Inspection Paradox – Task

Assignment Policies for Server Farms

UNIT V SMART SCHEDULING IN THE M/G/1 9

Performance Metrics – Scheduling Non-Preemptive and Preemptive Non-Size-Based Policies -

Scheduling Non-Preemptive and Preemptive Size-Based Policies – Scheduling - SRPT and

Fairness.

TOTAL: 45 PERIODS

REFERENCE BOOKS:

1. MorHarchol - Balter, “Performance Modeling and Design of Computer Systems – Queueing

Theory in Action”, Cambridge University Press, 2013.

2. Raj Jain, “The Art of Computer Systems Performance Analysis: Techniques for Experimental

Design, Measurement, Simulation and Modeling”, Wiley-Interscience, 1991.

3. LievenEeckhout, “Computer Architecture Performance Evaluation Methods”, Morgan and

Claypool Publishers, 2010.

4. Paul J. Fortier and Howard E. Michel, “Computer Systems Performance Evaluation and

Prediction”, Elsevier, 2003.

5. David J. Lilja, “Measuring Computer Performance: A Practitioner’s Guide”, Cambridge

University Press, 2000.

6. Krishna Kant, “Introduction to Computer System Performance Evaluation”, McGraw-Hill,

1992.

7. K. S. Trivedi, “Probability and Statistics with Reliability, Queueing and Computer Science

Applications”, John Wiley and Sons, 2001.

WEB REFERENCES:

1. http://freevideolectures.com/Course/3066/Performance-Evaluation-of-Computer-Systems

2. http://homepages.inf.ed.ac.uk/jeh/Simjava/queueing/

3. http://www.supositorio.com/rcalc/rcalclite.htm

4. http://practicalperformanceanalyst.com/site/content/performance-modeling-101

13MC403: MODEL CHECKING AND PROGRAM VERIFICATION L T P C

3 0 0 3

Course Objectives:

To understand automata for model checking

To understand LTL, CTL, and CTL*

63

To understand timed automata, TCTL, and PCTL

To understand verification of deterministic and recursive programs

To understand verification of object-oriented programs

To understand verification of parallel, distributed, and non-deterministic programs

Course Outcomes:

Perform model checking using LTL

Perform model checking using CTL

Perform model checking using CTL*

Perform model checking using TCTL and PCTL

Verify deterministic and recursive programs

Verify object-oriented programs

Verify parallel, distributed, and non-deterministic programs

UNIT I AUTOMATA AND TEMPORAL LOGICS 9

Automata on finite words – model checking regular properties – automata on infinite words –

Buchi automata – Linear Temporal Logic (LTL) – automata based LTL model checking –

Computational Tree Logic (CTL) – CTL model checking – CTL* model checking

UNIT II TIMED AND PROBABILISTIC TREE LOGICS 9

Timed automata – timed computational tree logic (TCTL) – TCTL model checking – probabilistic

systems – probabilistic computational tree logic (PCTL) – PCTL model checking – PCTL* - Markov

decision processes.

UNIT III VERIFYING DETERMINISTIC AND RECURSIVE PROGRAMS 9

Introduction to program verification – verification of “while” programs – partial and total

correctness – verification of recursive programs – case study: binary search – verifying

recursive programs with parameters

UNIT IV VERIFYING OBJECT-ORIENTED AND PARALLEL PROGRAMS 9

Partial and total correctness of object-oriented programs – case study: Insertion in linked lists –

verification of disjoint parallel programs – verifying programs with shared variables – case

study: parallel zero search – verification of synchronization – case study: the mutual exclusion

problem

UNIT V VERIFYING NON-DETERMINISTIC AND DISTRIBUTED PROGRAMS 9

Introduction to non-deterministic programs – partial and total correctness of non-deterministic

programs – case study: The Welfare Crook Problem – syntax and semantics of distributed

programs – verification of distributed programs – case study: A Transmission Problem –

introduction to fairness

TOTAL: 45 PERIODS

REFERENCE BOOKS:

1. C. Baier, J.-P. Katoen, and K. G. Larsen, “Principles of Model Checking”, MIT Press, 2008.

2. E. M. Clarke, O. Grumberg, and D. A. Peled, “Model Checking”, MIT Press, 1999.

3. M. Ben-Ari, “Principles of the SPIN Model Checker”, Springer, 2008.

4. K. R. Apt, F. S. de Boer, E.-R. Olderog, and A. Pnueli, “Verification of Sequential and

Concurrent Programs”, Third Edition, Springer, 2010.

5. M. Huth and M. Ryan, “Logic in Computer Science --- Modeling and Reasoning about

64

Systems”, Second Edition, Cambridge University Press, 2004.

6. B. Berard et al., “Systems and Software Verification: Model-checking techniques and

tools”, Springer, 2010.

7. J. B. Almeida, M. J. Frade, J. S. Pinto, and S. M. de Sousa, “Rigorous Software

Development: An Introduction to Program Verification”, Springer, 2011.

Web References:

1. http://resist.isti.cnr.it/free_slides/testing/bowen/w3_l1_ctl.pdf

2. http://www.cs.toronto.edu/~chechik/courses07/csc2108/Lectures/temporalLogics.2up.p

df

3. http://home.in.tum.de/~hoelzl/documents/hoelzl2012verifyingpctl.pdf

4. http://www-i2.informatik.rwth-

aachen.de/i2/fileadmin/user_upload/documents/MVPS11/lec13_handout_2_.pdf

5. http://developer.download.nvidia.com/assets/cuda/files/ZeroSumGPU-ISC11.pdf

13MC404: SENSING TECHNIQUES AND SENSORS L T P C

3 0 0 3

Course Objectives:

To gain knowledge on the sensor characteristics and the fundamental principles of

sensing

To learn the characteristics of sensor interface electronics

To get acquainted with motion-related sensors

To learn how to use light and radiation detectors

To find out the importance of selected temperature sensors

To locate the characteristics of selected chemical sensors

Course Outcomes:

Extrapolate the basics of sensors

Explain the physics of sensors

Predict the optical components of sensors

Capable of applying sensor interface electronics

Develop appropriate motion-related sensors

Capable of designing light and radiation detectors

Choose and use appropriate temperature andremote sensors

UNIT I PRINCIPLES OF SENSING 9

Data Acquisition – sensor characteristics – electric charges, fields, potentials – capacitance –

magnetism – inductance – resistance – Specific resistivity - Temperature sensitivity- Strain

Sensitivity -piezoelectric effect– pyroelectric Effect – Hall effect – thermoelectric effects – sound

waves –Temperature scales-Thermal Expansion- heat transfer – light – dynamic models of sensors

UNIT II OPTICAL COMPONENTS AND INTERFACE ELECTRONICS 9

Radiometry – Photometry – mirrors – lenses – fibre optics – concentrators – Interface circuits –

Serial Interface - Parallel Interface- amplifiers – light-to-voltage – excitation circuits – ADC –

Digitization – Capacitance-to-voltage – bridge circuits – data transmission – noise in sensors and

circuits – calibration – low power sensors.

65

UNIT III MOTION RELATED SENSORS 9

Occupancy and motion detectors: ultrasonic – microwave – capacitive detectors – tribo electric –

optoelectronic motion sensors – optical presence sensor – Pressure Gradient sensors-Velocity and

acceleration sensors: Accelerometer characteristics – capacitative accelerometers – piezoelectric

accelerometers – piezoresistive accelerometers – thermal accelerometers – Gyroscopes –

piezoelectric cables – gravitational sensors

UNIT IV LIGHT AND RADIATION DETECTORS 9

Light Detectors: Photo diodes – photo transistor – photo resistor – cooled detectors – CCD and

CMOS image sensors – thermal detectors – optical design – gas flame detectors- Radiation

Detectors: scintillating detectors – ionization detectors – cloud and bubble chambers

UNIT V TEMPERATURE AND CHEMICAL SENSORS 9

Temperature Sensors: coupling with objects – temperature reference points – thermo resistive

sensors – thermo electric contact sensors – semiconductor sensors – acoustic sensors –

piezoelectric sensors - Chemical sensors: characteristics – classes of chemical sensors –

biochemical sensors – multi-sensor arrays – electronic noses and tongues – Electro chemical

sensors - Remote sensors

TOTAL: 45 PERIODS

REFERENCE BOOKS:

1. Jacob Fraden, “Handbook of Modern Sensors: Physics, Designs, and Applications”, Fourth

Edition, Springer, 2010.

2. D.Patranabis,”Sensors and Transducers”, PHI Learning Pvt. Ltd, Second Edition, 2003.

3. John Vetelino, AravindReghu,” Introduction to sensors”, CRC Press, 2011

WEB REFERENCES:

1. http://www.remm.nlm.gov/civilian.htm

2. http://hlt.media.mit.edu/cmi_readings/sensorsPapers/modernSensors3.pdf

3. http://www.newhavendisplay.com/app_notes/parallel-serial.pdf

4. http://www.intlsensor.com/pdf/electrochemical.pdf

13MI403:INTERNET OF THINGS L T P C

(Common to M.E CSE / M.Tech IT) 3 0 0 3

Course Objectives:

To learn the basic issues, policy and challenges in the Internet

To understand the components and the protocols in Internet

To build a small low cost embedded system with the internet

To understand the various modes of communications with internet

To learn to manage the resources in the Internet

To deploy the resources into business

To understand the cloud and internet environment.

Course Outcomes:

Identify the components of IOT

Design a portable IOT using appropriate boards

Program the sensors and controller as part of IOT

66

Develop schemes for the applications of IOT in real time scenarios

Establish the communication to the cloud through wifi/ Bluetooth

Manage the internet resources

Model the Internet of things to business

UNIT I INTRODUCTION 9

Definition – phases – Foundations – Policy– Challenges and Issues - identification - security –

privacy. Components in internet of things: Control Units – Sensors – Communication modules –

Power Sources – Communication Technologies – RFID – Bluetooth – Zigbee – Wifi – Rflinks –

Mobile Internet – Wired Communication

UNIT II PROGRAMMING THE MICROCONTROLLER FOR IOT 9

Basics of Sensors and actuators – examples and working principles of sensors and actuators –

Cloud computing and IOT – Arduino/Equivalent Microcontroller platform – Setting up the board -

Programming for IOT – Reading from Sensors

Communication: Connecting microcontroller with mobile devices – communication through

bluetooth and USB – connection with the internet using wifi / ethernet

UNIT III RESOURCE MANAGEMENT IN THE INTERNET OF THINGS 9

Clustering - Software Agents - Data Synchronization - Clustering Principles in an Internet of Things

Architecture - The Role of Context - Design Guidelines -Software Agents for Object - Data

Synchronization- Types of Network Architectures - Fundamental Concepts of Agility and

Autonomy-Enabling Autonomy and Agility by the Internet of Things-Technical Requirements for

Satisfying the New Demands in Production - The Evolution from the RFID-based EPC Network to an

Agent based Internet of Things- Agents for the Behaviour of Objects

UNIT IV BUSINESS MODELS FOR THE INTERNET OF THINGS 9

The Meaning of DiY in the Network Society- Sensor-actuator Technologies and Middleware as a

Basis for a DiY Service Creation Framework - Device Integration - Middleware Technologies

Needed for a DiY Internet of Things Semantic Interoperability as a Requirement for DiY Creation -

Ontology- Value Creation in the Internet of Things-Application of Ontology Engineering in the

Internet of Things-Semantic Web-Ontology - The Internet of Things in Context of EURIDICE -

Business Impact

UNIT V FROM THE INTERNET OF THINGS TO THE WEB OF THINGS: 9

Resource-oriented Architecture and Best Practices- Designing RESTful Smart Things - Web-

enabling Constrained Devices - The Future Web of Things - Set up cloud environment – send data

from microcontroller to cloud – Case study –CAM:cloud Assisted Privacy– Other recent projects.

TOTAL: 45 PERIODS

REFERENCE BOOKS:

1. CharalamposDoukas , Building Internet of Things with the Arduino, Create space, April

2002

2. Dieter Uckelmann et.al, “Architecting the Internet of Things”, Springer, 2011

3. Luigi Atzor et.al, “The Internet of Things: A survey, “, Journal on Networks, Elsevier

Publications, October, 2010

67

4. Huang Lin ; Dept. of Electr. &Comput. Eng., Univ. of Florida, Gainesville, FL, USA ; Jun

Shao ; Chi Zhang ; Yuguang Fang,”CAM: Cloud-Assisted Privacy Preserving Mobile Health

Monitoring “IEEE Transactions on Information Forensics and Security, 2013

5. Pengwei Hu; Fangxia Hu An optimized strategy for cloud computing architecture,3rd IEEE

Transactions onComputer Science and Information Technology (ICCSIT), 2010

Web References :

1. http://postscapes.com/

2. http://www.theinternetofthings.eu/what-is-the-internet-of-things

13MI408: VIDEO ANALYTICS

(Common to M.E CSE / M.Tech IT)

L T P C

3 0 0 3

Course Objectives:

To acquire the knowledge of extracting information from surveillance videos.

To learn Event Modelling for different applications.

To understand the models used for recognition of objects in videos.

To learn analysis techniques employed for videos.

To know the concepts behind video analytics in business intelligence.

Course Outcomes:

Work with surveillance videos for analytics.

Design optimization algorithms for better analysis and recognition of objects in a scene.

Model a framework for Human Activity Recognition.

Analyze video scenes.

Estimate age of Human and Classify the sex.

Analyze Crowded videos and count crowd.

UNIT I VIDEO ANALYTICS 9

Introduction- Video Basics - Fundamentals for Video Surveillance- Scene Artifacts- Object

Detection and Tracking: Adaptive Background Modelling and Subtraction- Pedestrian Detection and

Tracking-Vehicle Detection and Tracking- Articulated Human Motion Tracking in Low-Dimensional

Latent Spaces.

UNIT II BEHAVIOURAL ANALYSIS & ACTIVITY RECOGNITION

9

Event Modelling- Behavioural Analysis- Human Activity Recognition-Complex Activity Recognition-

Activity modelling using 3D shape, Video summarization, shape based activity models- Suspicious

Activity Detection.

UNIT III HUMAN FACE RECOGNITION & GAIT ANALYSIS 9

Introduction: Overview of Recognition algorithms – Human Recognition using Face: Face

Recognition from still images, Face Recognition from video, Evaluation of Face Recognition

Technologies- Human Recognition using gait: HMM Framework for Gait Recognition, View Invariant

Gait Recognition, Role of Shape and Dynamics in Gait Recognition - Factorial HMM and Parallel

HMM for Gait Recognition- Face Recognition Performance: Role of Demographic Information.

68

UNIT IV VIDEO ANALYTICS FOR BUSINESS INTELLIGENCE - I 9

Video Analytics for Business Intelligence - Object Detection and Tracking -Auto-calibration of Non-

overlapping Multi-camera CCTV Systems -Fast Approximate Nearest Neighbor Methods for

Example-Based Video Search -Human Age Estimation and gender Classification -People Counter:

Counting of Mostly Static People in Indoor Conditions -Scene Invariant Crowd Counting and Crowd

Occupancy Analysis.

UNIT V VIDEO ANALYTICS FOR BUSINESS INTELLIGENCE - II 9

Identifying Customer Behaviour and Dwell Time Using Soft Biometrics -Automatic Activity Profile

Generation from Detected Functional Regions for Video Scene Analysis - Analyzing Groups: A

Social Signaling Perspective - Design and Validation of a System for People Queue Statistics

Estimation.

TOTAL: 45 PERIODS

REFERENCE BOOKS:

1. Michael Berthold, David J.Hand, Intelligent Data Analysis, Springer, 2007.

2. AnandRajaraman and Jeffrey David Ullman, Mining of Massive Datasets, Cambridge

University Press, 2012.

3. Yunqian Ma, Gang Qian, “Intelligent Video Surveillance: Systems and Technology”, CRC

Press (Taylor and Francis Group), 2009.

4. Rama Chellappa, AmitK.Roy-Chowdhury, Kevin Zhou.S, “Recognition of Humans and their

Activities using Video”, Morgan&Claypool Publishers, 2005.

5. YiHuang,DongXu and Tat-Jen Cham, “Face and Human Gait Recognition Using Image-to-

Class Distance” IEEE Transactions On Circuits And Systems For Video Technology, Vol. 20,

No. 3, March 2010.

6. Changhong Chen, Jimin Liang, Heng Zhao, Haihong Hu, and JieTian, “Factorial HMM and

Parallel HMM for Gait Recognition”, IEEE Transactions On Systems, Man, And Cybernetics—

Part C: Applications And Reviews, Vol. 39, No. 1, January 2009.

7. Changhong Chen, Jimin Liang, Haihong Hu, Licheng Jiao, Xin Yang, “Factorial Hidden

Markov Models for Gait Recognition”, Advances in BiometricsLecture Notes in Computer

Science Volume 4642, 2007, pp 124-133.

8. Brendan F. Klare, Mark J. Burge, Joshua C. Klontz, Richard W. VorderBruegge, and Anil K.

Jain, “Face Recognition Performance: Role of Demographic Information” IEEE Transactions

On Information Forensics And Security, Vol. 7, No. 6, December 2012.

9. Caifeng Shan, FatihPorikli, Tao Xiang, Shaogang Gong, “Video Analytics for Business

Intelligence”, Studies in Computational Intelligence, Springer, 2012.

13MC405: RECONFIGURABLE COMPUTING L T P C

3 0 0 3

Course Objectives:

To understand the need for reconfigurable computing

To expose the students to various device architectures

To examine the various reconfigurable computing systems

To understand the different types of compute models for programming reconfigurable

69

architectures

To expose the students to HDL programming and familiarize with the development

environment

To expose the students to the various placement and routing protocols

To develop applications with FPGAs

Course Outcomes:

Identify the need for reconfigurable architectures

Discuss the architecture of FPGAs

Point out the salient features of different reconfigurable architectures

Build basic modules using any HDL

Develop applications using any HDL and appropriate tools

Design and build an SoPC for a particular application

UNIT I DEVICE ARCHITECTURE 9

General Purpose Computing Vs Reconfigurable Computing – Simple Programmable Logic Devices –

Complex Programmable Logic Devices – FPGAs – Device Architecture - Case Studies.

UNIT II RECONFIGURABLE COMPUTING ARCHITECTURES AND SYSTEMS AND SYSTEMS 9

Reconfigurable Processing Fabric Architectures – RPF Integration into Traditional Computing

Systems – Reconfigurable Computing Systems – Case Studies – Reconfiguration Management.

UNIT III PROGRAMMING RECONFIGURABLE SYSTEMS 9

Compute Models - Programming FPGA Applications in HDL – Compiling C for Spatial Computing –

Operating System Support for Reconfigurable Computing

UNIT IV MAPPING DESIGNS TO RECONFIGURABLE PLATFORMS 9

The Design Flow - Technology Mapping – FPGA Placement and Routing – Configuration

BitstreamGeneration – Case Studies with Appropriate Tools.

UNIT V APPLICATION DEVELOPMENT WITH FPGAS 9

Case Studies of FPGA Applications – System on a Programmable Chip (SoPC) Designs.

TOTAL: 45 PERIODS

REFERENCE BOOKS:

1. Maya B. Gokhale and Paul S. Graham, “Reconfigurable Computing: Accelerating

Computation with Field-Programmable Gate Arrays”, Springer, 2005.

2. Scott Hauck and Andre Dehon (Eds.), “Reconfigurable Computing – The Theory and

Practice of FPGA-Based Computation”, Elsevier / Morgan Kaufmann, 2008.

3. Christophe Bobda, “Introduction to Reconfigurable Computing – Architectures,

Algorithms and Applications”, Springer, 2010

WEB REFERENCES:

1. http://scale.engin.brown.edu/classes/EN2911XF07/index.html

2. http://www.cs.uni-paderborn.de/?id=24991

3. http://www.cs.washington.edu/education/courses/csep567/04sp/tools/t2.html

4. http://nanocad.ee.ucla.edu/pub/Main/SnippetTutorial/Santiago_FPGA_CAD.html

5. http://www.cs.washington.edu/education/courses/cse467/11wi/lectures.pdf

70

13MI409:WIRELESS SENSOR NETWORKS

(Common to M.E CSE / M.Tech IT)

L T P C

3 0 0 3

Course Objectives:

To understand the basics of Sensor Networks

To learn various fundamental and emerging protocols of all layers

To study about the issues pertaining to major obstacles in establishment and efficient

management of sensor networks

To understand the nature and applications of sensor networks

To understand various security practices and protocols of Sensor Networks

Course Outcomes:

Analyze various protocols and its issues

Implement various routing protocols for Sensor networks

Use various security techniques in WSN

Create a Sensor network environment for different type of applications.

UNIT I SENSOR NETWORKS FUNDAMENTALS AND ARCHITECTURE 9

Introduction and Overview of WSN’s, Application of WSN’s, Challenges for Wireless Sensor

Networks, Enabling Technologies For Wireless SensorNetworks. Node Architecture- Sensing

Subsystem, Processing Subsystem, Communication Interfaces - Prototypes.

UNIT II NETWORKING SENSORS 9

Fundamentals of (Wireless) MAC Protocols, Low duty cycle protocols and wakeup concepts ,

Contention based Protocols Naming and Addressing- Fundamentals, Address and Name Management

in WSN, Assignment of MAC Addresses-Content based and geographic addressing

UNIT III SENSOR NETWORK MANAGEMENT AND PROGRAMMING 9

Sensor Management - Topology Control Protocols and Sensing Mode Selection Protocols - Time

Synchronization-Sender/sender synchronization, Sender/receiver synchronization - Localization and

Positioning – Operating Systems and Sensor Network Programming – Sensor Network Simulators - A

Lightweight and Energy-Efficient Architecture for WSN’s.

UNIT IV SENSOR NETWORK DATABASES, PLATFORMS AND TOOLS 9

Sensor Database Challenges, Querying- Aggregation. Sensor Node Hardware – Berkeley Motes,

Programming Challenges, Node-level software platforms, Node-level Simulators, State-centric

programming.

71

UNIT V SENSOR NETWORK SECURITY 9

Security in Sensor Networks – Challenges of Security in WSNs-Security Attacks in sensor networks-

Detecting and Localizing Identity-Based Attacks in WSN, Protocols and Mechanisms for security-

Symmetric and Public keyCryptograpy, Key Management-Low-Energy Symmetric Key Distribution in

Wireless Sensor Networks, Defenses against attacks, Secure Protocols,TinySec, SPINS ,Localized

Encryption and Authentication Protocol,IEEE 802.15.4 and Zigbee security

TOTAL: 45 PERIODS

REFERENCE BOOKS:

1. KazemSohraby, Daniel Minoli,TaiebZnati “Wireless Sensor Networks: Technology, Protocols, and

Applications” John Wiley & Sons, Inc .2007

2. Holger Karl, Andreas willig, “Protocols and Architectures for Wireless Sensor Networks”, John

Wiley & Sons, Inc .2005.

3. ErdalÇayırcı , ChunmingRong, “Security in Wireless Ad Hoc and Sensor Networks”, John Wiley

and Sons, 2009

4. WaltenegusDargie, Christian Poellabauer, “Fundamentals of Wireless Sensor Networks Theory

and Practice”, John Wiley and Sons, 2010

5. Miguel A. Lopez-Gomez, Member, IEEE, and Juan C. Tejero-Calado, Nonmember “A Lightweight

and Energy-Efficient Architecture for Wireless Sensor Networks “IEEE Transactions on Consumer

Electronics, Vol. 55, No. 3, AUGUST 2009

6. Yingying Chen, Member, IEEE, Jie Yang, Student Member, IEEE, Wade Trappe, Member, IEEE,

and Richard P. Martin, Member, IEEE “Detecting and Localizing Identity-Based Attacks in

Wireless and Sensor Networks “, IEEE transactions on vehicular technology, Vol. 59, No. 5,June

2010

7. KealanMcCusker, Member, IEEE, and Noel E. O’Connor, Member, IEEE ,”Low-Energy Symmetric

Key Distribution in Wireless Sensor Networks” ,IEEE Transactions On Dependable and Secure

Computing, Vol. 8, No. 3, May/June 2011

13MC406: LANGUAGE TECHNOLOGIES L T P C

3 0 0 3

Course Objectives:

To understand the mathematical foundations needed for language processing

To understand the representation and processing of Morphology and Part-of Speech

Taggers

To understand different aspects of natural language syntax and the various methods used

for processing syntax

To understand different methods of disambiguating word senses

To know about various applications of natural language processing

To learn the indexing and searching processes of a typical information retrieval system and

to study NLP based retrieval systems

To gain knowledge about typical text categorization and clustering techniques

72

Course Outcomes:

Identify the different linguistic components of given sentences

Design a morphological analyser for a language of your choice using finite state automata

concepts

Implement a parser by providing suitable grammar and words

Discuss algorithms for word sense disambiguation

Build a tagger to semantically tag words using WordNet

Design an application that uses different aspects of language processing

UNIT I INTRODUCTION 9

Natural Language Processing – Mathematical Foundations – Elementary Probability Theory –

Essential information Theory - Linguistics Essentials - Parts of Speech and Morphology – Phrase

Structure – Semantics – Corpus Based Work

UNIT II WORDS 9

Collocations – Statistical Inference – n-gram Models – Word Sense Disambiguation – Lexical

Acquisition.

UNIT III GRAMMAR 9

Markov Models – Part-of-Speech Tagging – Probabilistic Context Free Grammars - Parsing.

UNIT IV INFORMATION RETRIEVAL 9

Information Retrieval Architecture – Indexing - Storage – Compression Techniques – Retrieval

Approaches – Evaluation - Search Engines - Commercial Search Engine Features – Comparison -

Performance Measures – Document Processing - NLP based Information Retrieval – Information

Extraction.

UNIT V TEXT MINING 9

Categorization – Extraction Based Categorization – Clustering - Hierarchical Clustering - Document

Classification and Routing - Finding and Organizing Answers from Text Search – Text

Categorization and Efficient Summarization using Lexical Chains – Machine Translation - Transfer

Metaphor - Interlingual and Statistical Approaches.

TOTAL: 45 PERIODS

REFERENCE BOOKS:

1. Christopher D.Manning and HinrichSchutze, “ Foundations of Statistical Natural Language

Processing “, MIT Press, 1999.

2. Daniel Jurafsky and James H. Martin, “ Speech and Language Processing” , Pearson, 2008.

3. Ron Cole, J.Mariani, et.al “Survey of the State of the Art in Human Language Technology”,

Cambridge University Press, 1997.

4. Michael W. Berry, “ Survey of Text Mining: Clustering, Classification and Retrieval”,

Springer Verlag, 2003.

13MC407:ENERGY AWARE COMPUTING L T P C

(Common to M.E CSE / M.Tech IT) 3 0 0 3

Course Objectives:

To know the fundamental principles energy efficient devices

To study the concepts of Energy efficient storage

73

To introduce energy efficient algorithms

To enable the students to know energy efficient techniques involved to support real-time

systems.

To study Energy aware applications

Course Outcomes:

Design Power efficient architecture Hardware and Software.

Analyze power and performance trade off between various energy aware storage devices.

Implement various energy aware algorithms.

Restructure the software and Hardware for Energy aware applications.

Explore the Energy aware applications

UNIT I INTRODUCTION 9

Energy efficient network on chip architecture for multi core system-Energy efficient MIPS CPU core

with fine grained run time power gating – Low power design of Emerging memory technologies.

UNIT II ENERGY EFFICIENT STORAGE 9

Disk Energy Management-Power efficient strategies for storage system-Dynamic thermal

management for high performance storage systems-Energy saving technique for Disk storage

systems

UNIT III ENERGY EFFICIENT ALGORITHMS 9

Scheduling of Parallel Tasks – Task level Dynamic voltage scaling – Speed Scaling – Processor

optimization- Memetic Algorithms – Online job scheduling Algorithms

UNIT IV REAL TIME SYSTEMS 9

Multi processor system – Real Time tasks- Energy Minimization – Energy aware scheduling-

Dynamic Reconfiguration- Adaptive power management-Energy Harvesting Embedded system

UNIT V ENERGY AWARE APPLICATIONS 9

On chip network – Video codec Design – Surveillance camera- Low power mobile storage.

TOTAL: 45 PERIODS

REFERENCE BOOKS:

1. Ishfaq Ah mad, Sanjay Ranka, Handbook of Energy Aware and Green Computing,

Chapman and Hall/CRC, 2012

2. Chong-Min Kyung, Sungiooyoo, Energy Aware system design Algorithms and

Architecture, Springer, 2011.

3. Bob steigerwald ,Chris:Luero, Energy Aware computing, Intel Press,2012.

4. RameshKarri, David Goodman Eds, System Level Power Optimization for Wireless

Multimedia Communication Power AwareComputing , Kluwer AcademicPublishers, 2002

WEB REFERENCES:

1. http://www.inf.ed.ac.uk/teaching/courses/eac/

13MC408 : INFORMATION STORAGE MANAGEMENT L T P C

3 0 0 3

Course Objectives:

To elucidate the challenges in data storage and management

To exemplify the architecture of storage systems

To illustrate the different networked storage options

74

To identify the failure in storage infrastructure and solutions to mitigate

To illustrate about the storage virtualization.

Course Outcomes:

Efficiently handle challenges in data storage and management

Explore the various storage systems

Apply storage options for different application environments

Ensure information availability and business continuity

Expertise in storage virtualization technologies

UNIT I INTRODUCTION TO STORAGE TECHNOLOGY 9

Review data creation and the amount of data being created and understand the value of data to a

business- challenges in data storage and data management- Solutions available for data storage-

Core elements of a data center infrastructure- role of each element in supporting business

activities

UNIT II STORAGE SYSTEMS ARCHITECTURE 9

Hardware and software components of the host environment- Key protocols and concepts used by

each component-Physical and logical components of a connectivity environment-Major physical

components of a disk drive and their function- logical constructs of a physical disk- access

characteristics and performance Implications- Concept of RAID and its components- Different RAID

levels and their suitability for different application environments: RAID 0, RAID 1, RAID 3, RAID 4,

RAID 5, RAID 0+1, RAID 1+0, RAID 6- Compare and contrast integrated and modular storage

systems- High-level architecture and working of an intelligent storage system

UNIT III INTRODUCTION TO NETWORKED STORAGE 9

Evolution of networked storage, Architecture, components, and topologies of FC-SAN, NAS, and

IP-SAN- Benefits of the different networked storage options- understand the need for long-term

archiving solutions and describe how CAS full fill the need- understand the appropriateness of the

different networked storage options for different application environments

UNIT IV INFORMATION AVAILABILITY, MONITORING & MANAGING

DATACENTER

9

List reasons for planned/unplanned outages and the impact of downtime- Impact of downtime -

Differentiate between business continuity (BC) and disaster recovery (DR) -RTO and RPO- Identify

single points of failure in a storage infrastructure and list solutions to mitigate these failures-

Architecture of backup/recovery and the different backup/ recovery topologies- replication

technologies and their role in ensuring information availability and business continuity- Remote

replication technologies and their role in providing disaster recovery and business continuity

capabilities. Identify key areas to monitor in a data center- Industry standards for data center

monitoring and management- Key metrics to monitor for different components in a storage

infrastructure- Key management tasks in a data center

UNIT V SECURING STORAGE AND STORAGE VIRTUALIZATION 9

Information security- Critical security attributes for information systems- Storage security

domains- List and analyzes the common threats in each domain- Virtualization technologies-

block-level and file-level virtualization technologies and processes

TOTAL: 45 PERIODS

75

REFERENCE BOOKS:

1. EMC Corporation, Information Storage and Management, Wiley, India.

2. Robert Spalding, “Storage Networks: The Complete Reference“, Tata McGraw Hill ,

Osborne, 2003.

3. Marc Farley, “Building Storage Networks”, Tata McGraw Hill ,Osborne, 2001.

4. Additional resource material on www.emc.com/resource-library/resource-library.esp

WEB REFERENCES:

1. http://www.itracs.com/what-is-data-center-infrastructure-management/

http://www.webopedia.com/TERM/R/RAID.html

2. http://www.nas-san.com/differ.html

3. http://omnitraining.net/storage-networking-101/319-storage-virtualization-explained

4. http://www.computerweekly.com/feature/A-guide-to-storage-virtualization

13MC409: SOFTWARE PROCESS AND PROJECT MANAGEMENT L T P C

3 0 0 3

Course Objectives:

To Explain the software process framework

To Discuss managed and optimized software process

To Introduce team software process and define team roles

To Define project management process group

To discuss the project management life cycle and strategies

To Examine the ways of managing multiple team project

Course Outcomes:

Elaborate the software process framework

Able to manage and optimize the software process

Comprehend team software process and team roles

Establish the project management process group

Identify the project management life cycle for problems and establish the strategies

To manage the multiple team project

UNIT I DEFINED AND MANAGED PROCESS 9

Software Maturity Framework – Software Standards – Inspections – Software Engineering Process

Group - Data Gathering and Analysis – Managing Software Quality

UNIT II OPTIMIZING PROCESS & TEAM SOFTWARE PROCESS 9

Defect Prevention – Automating the Software Process – Managing Software Contracts - Team

Software Process – Team Roles - Team Leader Role – Development Manager Role – Planning

Manager Role – Quality / Process Manager Role – Support Manager Role

UNIT III PROJECT MANAGEMENT PROCESS GROUPS 9

Introduction to project andProject Management Process Groups - Project Scope – Project Planning

– Project Launching – Monitoring and Controlling of a Project – Closing a Project

UNIT IV PROJECT MANAGEMENT LIFE CYCLES AND STRATEGIES 9

Project Management Landscape – Traditional Project Management – Critical Chain Project

Management – Agile Project Management – Extreme Project Management

76

UNIT V PROJECT MANAGEMENT INFRASTRUCTURE 9

Defining Process and Practice Maturity – Measuring Project Management Process – Applying CPIM

TO Business Process – Managing Multiple Team Projects

TOTAL: 45 PERIODS

REFERENCE BOOKS:

1. Watts S. Humphrey, “Managing the Software Process”, Pearson Education, 2006

2. Watts S. Humphrey, “Introduction to the Team Software Process”, Pearson Education,

2006

3. Robert K.Wysocki, “Effective Project Management: Traditional, Agile, Extreme”, 6th

Edition, Wiley, 2011

4. Roger S.Pressman, “Software Engineering”, 7th Edition, 2010