<<<<<<< HEAD rgpv syllabus BTech Grading System 8th Semester Microsoft Word - syllabus_B.Tech_IT_VIIIsem aug2020

RAJIV GANDHI PROUDYOGIKI VISHWAVIDYALAYA, BHOPAL

New Scheme Based On AICTE Flexible Curricula Information Technology, VIII- semester


IT 801- Information Security

Course Objectives:

The objective of this course is to familiarize the students with the fundamentals of information security and the methods used in protecting both the information present in computer storage as well as information traveling over computer networks.

Unit I Introduction: Fundamental Principles of Information Security- Confidentiality, Availability, Integrity, Non Repudiation, The OSI Security Architecture, Security Attacks, Security Services, Security Mechanisms, a Model for Network Security; Classical Encryption Techniques: Symmetric Cipher Model, Substitution Techniques, Transposition Techniques, Steganography

Unit II Block Ciphers and Data Encryption Algorithm: Block Cipher Principles, The Data Encryption Standard, The Strength of DES, Differential and linear cryptanalysis, Block Cipher Design Principles; Advanced Encryption Standard: Evaluation criteria of AES, The AES Cipher, Multiple Encryption and Triple DES, Block Cipher modes of operation, Stream Ciphers, Confidentiality using Symmetric Encryption

Unit III Public Key Encryption: Principles of Public Key Cryptosystems, The RSA algorithm, Key Management, Diffie-Hellman Key Exchange, Elliptic curve cryptography; Message Authentication and Hash Functions: Authentication requirements, Authentication Functions, Message Authentication Codes, Hash Functions, Security of Hash Functions and MACs; Hash and MAC algorithms: Secure Hash Algorithm, HMAC; Digital Signatures and Authentication Protocols, Digital Signature Standard

Unit IV Authentication Applications, Kerberos, X.509 Authentication Service, Public key infrastructure; Electronic Mail Security: Pretty Good Privacy; IP Security: IP Security Overview, Architecture, Authentication header, encapsulating security payload, Key management; Web Security: Web security considerations, Secure Socket Layer and Transport layer Security, Secure Electronic Transaction

Unit V System Security: Intruders, Intrusion Detection, Password management; Malicious Software: Different type of malicious software, Viruses and related threats, Virus Countermeasures, Threats and attacks on Information Security, DoS and DDos Attacks; Security controls required for Information Security, Firewalls: Firewall design principles, Trusted Systems, Common criteria for information technology security evaluation

References:

  1. William Stallings, "Cryptography and Network Security", Fourth edition, PHI

  2. Atul Kahate, “Cryptography and Network Security”, McGraw Hill.

  3. V.K. Pachghare, “Cryptography and Information Security”, PHI Learning

  4. Nina Godbole, “Information System Security”, Wiley


Course Outcomes:

After the completion of this course, the students will be able to:


  1. Understand key terms and concepts in information security and Cryptography and evaluate the cyber security needs of an organization.

  2. Acquire knowledge to secure computer systems, protect personal data, and secure computer networks in an organization

  3. Apply knowledge of various encryption algorithms and authentication mechanisms to secure information in computer systems and networks

  4. Understand principles of web security to secure network by monitoring and analyzing the nature of attacks and design/develop security architecture for an organization.

  5. Design operational and strategic information security strategies and policies.

RAJIV GANDHI PROUDYOGIKI VISHWAVIDYALAYA, BHOPAL

New Scheme Based On AICTE Flexible Curricula Information Technology, VIII- semester


Departmental Elective IT 802 (A) Machine Learning


Course Objectives:

To familiarize students with the knowledge of machine learning and enable them to apply suitable machine learning techniques for data handling and to gain knowledge from it. Evaluate the performance of algorithms and to provide solution for various real-world applications.

Unit I Introduction:

Introduction, Examples of various Learning Paradigms, Perspectives and Issues, Concept Learning, Version Spaces, Finite and Infinite Hypothesis Spaces, PAC Learning, VC Dimension


Unit II Supervised Learning Algorithms:

Learning a Class from Examples, Linear, Non-linear, Multi-class and Multi-label classification, Decision Trees: ID3, Classification and Regression Trees (CART), Regression: Linear Regression, Multiple Linear Regression, Logistic Regression, Neural Networks: Introduction, Perceptron, Multilayer Perceptron, Support vector machines: Linear and NonLinear, Kernel Functions, K-Nearest Neighbors


Unit III Ensemble Learning:

Ensemble Learning Model Combination Schemes, Voting, Error-Correcting Output Codes, Bagging: Random Forest Trees, Boosting: Adaboost, Stacking


Unit IV Unsupervised Learning:

Introduction to clustering, Hierarchical: AGNES, DIANA, Partitional: K-means clustering, K- Mode Clustering, Self-Organizing Map, Expectation Maximization, Gaussian Mixture Models, Principal Component Analysis (PCA), Locally Linear Embedding (LLE), Factor Analysis


Unit V Probabilistic Learning:

Bayesian Learning, Bayes Optimal Classifier, Naïve Bayes Classifier, Bayesian Belief Networks, Mining Frequent Patterns


References:

  1. EthemAlpaydin,"Introduction to Machine Learning”, MIT Press, Prentice Hall of India, Third Edition 2014.

  2. MehryarMohri, AfshinRostamizadeh, AmeetTalwalkar "Foundations of Machine Learning”, MIT Press, 2012.

  3. Tom Mitchell, “Machine Learning”, McGraw Hill, 3rd Edition,1997.

  4. Charu C. Aggarwal, “Data Classification Algorithms and Applications”, CRC Press, 2014.

  5. Stephen Marsland, “Machine Learning – An Algorithmic Perspective”, 2nd Edition, CRC Press, 2015.

  6. Kevin P. Murphy "Machine Learning: A Probabilistic Perspective", The MIT Press, 2012

  7. Jiawei Han and MichelineKambers and Jian Pei, “Data Mining –Concepts and Techniques”, 3rd Edition,Morgan Kaufman Publications, 2012.

  8. Marc Peter Deisenroth, A. Aldo Faisal, Cheng Soon Ong, “Mathematics for Machine Learning”, Cambridge University Press, 2019.


Course Outcomes:

After the completion of this course, the students will be able to:

  1. Recognize the characteristics of machine learning strategies.

  2. Apply various supervised learning methods to appropriate problems.

  3. Identify and integrate more than one technique to enhance the performance of learning.

  4. Create probabilistic and unsupervised learning models for handling unknown pattern.

  5. Analyze the co-occurrence of data to find interesting frequent patterns and Preprocess the data before applying to any real-world problem and can evaluate its performance

RAJIV GANDHI PROUDYOGIKI VISHWAVIDYALAYA, BHOPAL

New Scheme Based On AICTE Flexible Curricula Information Technology, VIII- semester

Departmental Elective IT 802 (B) Natural Language Processing Course Objectives:

To provide a broad introduction to NLP with a particular emphasis on core algorithms, data structures, and machine learning for NLP.

Unit I


Introduction to various levels of natural language processing, Ambiguities and computational challenges in processing various natural languages. Introduction to Real life applications of NLP such as spell and grammar checkers, information extraction, question answering, and machine translation

Unit II


Character Encoding, Word Segmentation, Sentence Segmentation, Introduction to Corpora, Corpora Analysis

Unit III


Inflectional and Derivation Morphology, Morphological Analysis and Generation using finite state transducers

Introduction to word types, POS Tagging, Maximum Entropy Models for POS tagging, Multi- word Expressions.

Unit IV


The role of language models. Simple N-gram models. Estimating parameters and smoothing. Evaluating language models.

Introduction to phrases, clauses and sentence structure, Shallow Parsing and Chunking, Shallow Parsing with Conditional Random Fields (CRF), Lexical Semantics, Word Sense Disambiguation, WordNet, Thematic Roles, Semantic Role Labelling with CRFs.

Unit V


NL Interfaces, Text Summarization, Sentiment Analysis, Machine Translation, Question answering, Recent Trends in NLP

References:

  1. J. H. Speech and Language Processing, Jurafsky, D. and Martin, Prentice Hall, 2nd Edition, 2014

  2. C. D. and H. Schütze: Foundations of Statistical Natural Language Processing, Manning, The MIT Press

Course Outcomes:

After the completion of this course, the students will be able to:


  1. Identify and discuss the characteristics of different NLP techniques

  2. Understand the fundamental mathematical models and algorithms in the field of NLP and apply these mathematical models and algorithms in applications in software design and implementation for NLP

  3. Understand the complexity of speech and the challenges facing speech engineers

  4. Understand approaches to syntax and semantics in NLP

  5. Understand approaches to discourse, generation, dialogue and summarization within NLP

RAJIV GANDHI PROUDYOGIKI VISHWAVIDYALAYA, BHOPAL


New Scheme Based On AICTE Flexible Curricula


Information Technology, VIII- semester Departmental Elective IT 802 (C) Robotics


Course Objectives:

The objective of this course is to impart knowledge about industrial robots for their control and design.


Unit I Introduction to Robotics:

Types and components of a robot, Classification of robots, closed-loop and open-loop control systems;

Kinematics systems: Definition of mechanisms and manipulators, Social issues and safety


Unit II Robot Kinematics and Dynamics:

Kinematic Modelling: Translation and Rotation Representation, Coordinate transformation, DH parameters, Jacobian, Singularity, and Statics;

Dynamic Modelling: Equations of motion: Euler-Lagrange formulation


Unit III Sensors and Vision System:

Sensor: Contact and Proximity, Position, Velocity, Force, Tactile etc.

Introduction to Cameras, Camera calibration, Geometry of Image formation, Euclidean/Similarity/Affine/Projective transformations, Vision applications in robotics.


Unit IV Robot Control:

Basics of control: Transfer functions, Control laws: P, PD, PID, Non-linear and advanced controls Robot Actuation Systems: Actuators: Electric, Hydraulic and Pneumatic; Transmission: Gears, Timing Belts and Bearings, Parameters for selection of actuators.


Unit V Control Hardware and Interfacing:

Embedded systems: Architecture and integration with sensors, actuators, components, Programming for Robot Applications


References:

  1. Saha, S.K., “Introduction to Robotics, 2nd Edition, McGraw-Hill Higher Education, New Delhi, 2014.

  2. Ghosal, A., “Robotics”, Oxford, New Delhi, 2006.

  3. Niku Saeed B., “Introduction to Robotics: Analysis, Systems, Applications”, PHI, New Delhi.

  4. Mittal R.K. and Nagrath I.J., “Robotics and Control”, Tata McGraw Hill.

  5. Mukherjee S., “Robotics and Automation”, Khanna Publishing House, Delhi.

  6. Craig, J.J., “Introduction to Robotics: Mechanics and Control”, Pearson, New Delhi, 2009

  7. Mark W. Spong, Seth Hutchinson, and M. Vidyasagar, “Robot Modelling and Control”, John Wiley and Sons Inc, 2005

  8. Steve Heath, “Embedded System Design”, 2nd Edition, Newnes, Burlington, 2003

  9. Merzouki R., Samantaray A.K., Phathak P.M. and Bouamama B. Ould, “Intelligent Mechatronic System: Modeling, Control and Diagnosis”, Springer.


    Course Outcomes:

    After the completion of this course, the students will be able to:

    1. Understand robot mechanism

    2. Perform kinematic and dynamic analyses with simulation

    3. Design control laws for a robot

    4. Integrate mechanical and electrical hardware for a real prototype of robotic device

    5. Select a robotic system for given application

RAJIV GANDHI PROUDYOGIKI VISHWAVIDYALAYA, BHOPAL

New Scheme Based On AICTE Flexible Curricula Information Technology, VIII- semester

Departmental Elective IT 802 (D) Quantum Computing Course Objectives:

The objective of this course is to impart necessary knowledge to the learner so that he/she can develop and implement algorithm and write programs using these algorithm


Unit I

Motivation for studying Quantum Computing , Major players in the industry (IBM, Microsoft, Rigetti, D-Wave etc.), Origin of Quantum Computing

Overview of major concepts in Quantum Computing: Qubits and multi-qubits states, Braket notation, Bloch Sphere representation, Quantum Superposition, Quantum Entanglement


Unit II

Math Foundation for Quantum Computing: Matrix Algebra: basis vectors and orthogonality, inner product and Hilbert spaces, matrices and tensors, unitary operators and projectors, Dirac notation, Eigen values and Eigen vectors


Unit III

Building Blocks for Quantum Program: Architecture of a Quantum Computing platform,

Details of q-bit system of information representation: Block Sphere, Multi-qubits States, Quantum superposition of qubits (valid and invalid superposition), Quantum Entanglement, Useful states from quantum algorithmic perceptive e.g. Bell State, Operation on qubits: Measuring and transforming using gates.

Quantum Logic gates and Circuit: Pauli, Hadamard, phase shift, controlled gates, Ising, Deutsch, swap etc.


Unit IV

Programming model for a Quantum Computing Program: Steps performed on classical computer, Steps performed on Quantum Computer, Moving data between bits and qubits.

Basic techniques exploited by quantum algorithms, Amplitude amplification, Quantum Fourier

Transform, Phase Kick-back, Quantum Phase estimation, Quantum Walks


Unit V

Major Algorithms: Shor’s Algorithm, Grover’s Algorithm, Deutsch’s Algorithm, Deutsch -Jozsa Algorithm OSS Toolkits for implementing Quantum program: IBM quantum experience, Microsoft Q, Rigetti PyQuil (QPU/QVM)


References:

  1. Michael A. Nielsen, “Quantum Computation and Quantum Information”, Cambridge University Press.

  2. David McMahon, “Quantum Computing Explained”, Wiley


Course Outcomes:

After the completion of this course, the students will be able to:

  1. Understand major concepts in Quantum Computing

  2. Explain the working of a Quantum Computing program, its architecture and program model

  3. Develop quantum logic gate circuits

  4. Develop quantum algorithm

  5. Program quantum algorithm on major toolkits

RAJIV GANDHI PROUDYOGIKI VISHWAVIDYALAYA, BHOPAL

New Scheme Based On AICTE Flexible Curricula Information Technology, VIII- semester


Open Elective IT 803 (A) Blockchain Technology


Course Objectives:

The objective of this course is to provide conceptual understanding of how block chain technology can be used to innovate and improve business processes. The course covers the technological underpinning of block Chain operations in both theoretical and practical implementation of solutions using block Chain technology.


Unit I Introduction: Overview of Block chain, Public Ledgers, Bitcoin, Smart Contracts, Block in a Block chain, Transactions, Distributed Consensus, Public vs Private Block chain, Understanding Cryptocurrency to Block chain, Permissioned Model of Block chain, Overview of Security aspects of Block chain; Basic Crypto Primitives: Cryptographic Hash Function, Properties of a hash function, Hash pointer and Merkle tree, Digital Signature, Public Key Cryptography, A basic cryptocurrency


Unit II Understanding Block chain with Crypto currency: Bitcoin and Block chain: Creation of coins, Payments and double spending, Bitcoin Scripts, Bitcoin P2P Network, Transaction in Bitcoin Network, Block Mining, Block propagation and block relay.

Working with Consensus in Bitcoin: Distributed consensus in open environments, Consensus in a Bitcoin network, Proof of Work (PoW) – basic introduction, HashCash PoW, Bitcoin PoW, Attacks on PoW and the monopoly problem, Proof of Stake, Proof of Burn and Proof of Elapsed Time, The life of a Bitcoin Miner, Mining Difficulty, Mining Pool


Unit III Understanding Block chain for Enterprises: Permissioned Block chain: Permissioned model and use cases, Design issues for Permissioned block chains, Execute contracts, State machine replication, Overview of Consensus models for permissioned block chain- Distributed consensus in closed environment, Paxos, RAFT Consensus, Byzantine general problem, Byzantine fault tolerant system, Lamport-Shostak-Pease BFT Algorithm, BFT over Asynchronous systems.


Unit IV Enterprise application of Block chain: Cross border payments, Know Your Customer (KYC), Food Security, Mortgage over Block chain, Block chain enabled Trade, We Trade – Trade Finance Network, Supply Chain Financing, and Identity on Block chain


Unit V Block chain application development: Hyperledger Fabric- Architecture, Identities and Policies, Membership and Access Control, Channels, Transaction Validation, Writing smart contract using Hyperledger Fabric, Writing smart contract using Ethereum, Overview of Ripple and Corda


References:

  1. Melanie Swan, “Block Chain: Blueprint for a New Economy”, O’Reilly, 2015

  2. Josh Thompsons, “Block Chain: The Block Chain for Beginners- Guide to Block chain Technology and Leveraging Block Chain Programming”

  3. Daniel Drescher, “Block Chain Basics”, Apress; 1stedition, 2017

  4. Anshul Kaushik, “Block Chain and Crypto Currencies”, Khanna Publishing House, Delhi.

  5. Imran Bashir, “Mastering Block Chain: Distributed Ledger Technology, Decentralization and Smart Contracts Explained”, Packt Publishing

  6. Ritesh Modi, “Solidity Programming Essentials: A Beginner’s Guide to Build Smart Contracts for Ethereum and Block Chain”, Packt Publishing

  7. Salman Baset, Luc Desrosiers, Nitin Gaur, Petr Novotny, Anthony O’Dowd, Venkatraman Ramakrishna, “Hands-On Block Chain with Hyperledger: Building Decentralized Applications with Hyperledger Fabric and Composer”, Import, 2018


    Course Outcomes:

    After the completion of this course, the students will be able to:

    1. Understand block chain technology

    2. Acquire knowledge of crytocurrencies

    3. Develop block chain based solutions and write smart contract using Hyperledger Fabric and Ethereum frameworks

    4. Build and deploy block chain application for on premise and cloud based architecture

    5. Integrate ideas from various domains and implement them using block chain technology in different perspectives

RAJIV GANDHI PROUDYOGIKI VISHWAVIDYALAYA, BHOPAL

New Scheme Based On AICTE Flexible Curricula Information Technology, VIII- semester

Open Elective IT 803 (B) Human Computer Interaction Course Objectives:

To provide the basic knowledge on the levels of interaction, design models, techniques and validations focusing on the different aspects of human-computer interface and interactions


Unit I HCI Foundations:

Input–output channels, Human memory, Thinking: reasoning and problem solving, Emotion, Individual differences, Psychology and the design of interactive systems, Text entry devices, Positioning, pointing and drawing, Display devices, Devices for virtual reality and 3D interaction, Physical controls, sensors and special devices, Paper: printing and scanning


Unit II Designing Interaction:

Overview of Interaction Design Models, Discovery - Framework, Collection - Observation, Elicitation, Interpretation - Task Analysis, Storyboarding, Use Cases, Primary Stakeholder Profiles, Project Management Document


Unit III Interaction Design Models:

Model Human Processor - Working Memory, Long-Term Memory, Processor Timing, Keyboard Level Model - Operators, Encoding Methods, Heuristics for M Operator Placement, What the Keyboard Level Model Does Not Model, Application of the Keyboard Level Model, GOMS - CMN-GOMS Analysis, Modeling Structure, State Transition Networks - Three-State Model, Glimpse Model, Physical Models, Fitts’ Law


Unit IV Guidelines in HCI:

Shneideman's eight golden rules, Norman's Sever principles, Norman's model of interaction, Nielsen's ten heuristics, Heuristic evaluation, contextual evaluation, Cognitive walk-through Collaboration and Communication:

Face-to-face Communication, Conversation, Text-based Communication, Group working, Dialog design notations, Diagrammatic notations, Textual dialog notations, Dialog semantics, Dialog analysis and design


Unit V Human Factors and Security:

Groupware, Meeting and decision support systems, Shared applications and artifacts, Frameworks for groupware Implementing synchronous groupware, Mixed, Augmented and Virtual Reality Validation: Validations - Usability testing, Interface Testing, User Acceptance Testing


References:

  1. A Dix, Janet Finlay, G D Abowd, R Beale., Human-Computer Interaction, 3rd Edition, Pearson Publishers,2008

  2. Shneiderman, Plaisant, Cohen and Jacobs, Designing the User Interface: Strategies for Effective Human Computer Interaction, 5th Edition, Pearson Publishers, 2010.

  3. Hans-Jorg Bullinger,” Human-Computer Interaction”, Lawrence Erlbaum Associates, Publishers

  4. Jakob Nielsen,” Advances in Human-computer Interaction”,Ablex Publishing Corporation

  5. Thomas S. Huang,” Real-Time Vision for Human-Computer Interaction”, Springer

  6. Preece et al, Human-Computer Interaction, Addison-Wesley, 1994


Course Outcomes:

After the completion of this course, the students will be able to:

  1. Enumerate the basic concepts of human, computer interactions

  2. Create the processes of human computer interaction life cycle

  3. Analyze and design the various interaction design models

  4. Apply the interface design standards/guidelines for evaluating the developed interactions

  5. Apply product usability evaluations and testing methods

RAJIV GANDHI PROUDYOGIKI VISHWAVIDYALAYA, BHOPAL

New Scheme Based On AICTE Flexible Curricula Information Technology, VIII- semester


Open Elective IT 803 (C) Printing and Design


Course Objectives:

To impart knowledge and skills related to 3D printing technologies, selection of material and equipment and develop a product using this technique in Industry 4.0 environment


Unit I 3D Printing (Additive Manufacturing):

Introduction, Process, Classification, Advantages, Additive V/s Conventional Manufacturing processes, Applications.

CAD for Additive Manufacturing: CAD Data formats, Data translation, Data loss, STL format.


Unit II Additive Manufacturing Techniques:

Stereo- Lithography, LOM, FDM, SLS, SLM, Binder Jet technology. Process, Process parameter, Process Selection for various applications.

Additive Manufacturing Application Domains: Aerospace, Electronics, Health Care, Defence, Automotive, Construction, Food Processing, Machine Tools


Unit III Materials:

Polymers, Metals, Non-Metals, Ceramics

Various forms of raw material- Liquid, Solid, Wire, Powder; Powder Preparation and their desired properties, Polymers and their properties, Support Materials.


Unit IV Additive Manufacturing Equipment:

Process Equipment- Design and process parameters, Governing Bonding Mechanism, Common faults and troubleshooting, Process Design


Unit V Post Processing:

Post Processing Requirement and Techniques. Product Quality: Inspection and testing, Defects and their causes


References:

  1. Lan Gibson, David W. Rosen and Brent Stucker, “Additive Manufacturing Technologies: Rapid Prototyping to Direct Digital Manufacturing”, Springer, 2010.

  2. Andreas Gebhardt, “Understanding Additive Manufacturing: Rapid Prototyping, Rapid Tooling, Rapid Manufacturing”, Hanser Publisher, 2011.

  3. Khanna Editorial, “3D Printing and Design”, Khanna Publishing House, Delhi.

  4. CK Chua, Kah Fai Leong, “3D Printing and Rapid Prototyping- Principles and Applications”, World Scientific, 2017.

  5. J.D. Majumdar and I. Manna, “Laser-Assisted Fabrication of Materials”, Springer Series in Material Science, 2013.

  6. L. Lu, J. Fuh and Y.S. Wong, “Laser-Induced Materials and Processes for Rapid Prototyping”, Kulwer Academic Press, 2001.

  7. Zhiqiang Fan And Frank Liou, “Numerical Modelling of the Additive Manufacturing (AM) Processes of Titanium Alloy”, InTech, 2012.


    Course Outcomes:

    After the completion of this course, the students will be able to:

    1. Develop CAD models for 3D printing.

    2. Import and Export CAD data and generate .stl file.

    3. Select a specific material for the given application.

    4. Select a 3D printing process for an application.

    5. Produce a product using 3D Printing or Additive Manufacturing (AM).

RAJIV GANDHI PROUDYOGIKI VISHWAVIDYALAYA, BHOPAL

New Scheme Based On AICTE Flexible Curricula Information Technology, VIII- semester


Open Elective IT 803 (D) Parallel Computing


Course Objectives:

To develop an understanding of the fundamental principles and engineering trade-offs involved in designing modern parallel computers and to develop programming skills to effectively implement parallel architecture


Unit I Introduction: The need for parallelism, Forms of parallelism (SISD, SIMD, MISD, MIMD), Moore's Law and Multi-cores, Fundamentals of Parallel Computers, Communication architecture, Message passing architecture, Data parallel architecture, Dataflow architecture, Systolic architecture, Performance Issues

Unit II Large Cache Design: Shared vs. Private Caches, Centralized vs. Distributed Shared Caches, Snooping-based cache coherence protocol, directory-based cache coherence protocol, Uniform Cache Access, Non-Uniform Cache Access, D-NUCA, S-NUCA, Inclusion, Exclusion, Difference between transaction and transactional memory, STM, HTM

Unit III Graphics Processing Unit: GPUs as Parallel Computers, Architecture of a modern GPU, Evolution of Graphics Pipelines, GPGPUs, Scalable GPUs, Architectural characteristics of Future Systems, Implication of Technology and Architecture for users, Vector addition, Applications of GPU

Unit IV Introduction to Parallel Programming: Strategies, Mechanism, Performance theory, Parallel Programming Patterns: Nesting pattern, Parallel Control Pattern, Parallel Data Management, Map: Scaled Vector, Mandelbrot, Collative: Reduce, Fusing Map and Reduce, Scan, Fusing Map and Scan, Data Recognition: Gather, Scatter, Pack , Stencil and Recurrence, Fork-Join, Pipeline

Unit V Parallel Programming Languages: Distributed Memory Programming with MPI: trapezoidal rule in MPI, I/O handling, MPI derived datatype, Collective Communication, Shared Memory Programming with Pthreads: Conditional Variables, read-write locks, Cache handling, Shared memory programming with Open MP: Parallel for directives, scheduling loops, Thread Safety, CUDA: Parallel programming in CUDA C, Thread management, Constant memory and Event, Graphics Interoperability, Atomics, Streams

References:

  1. D. E. Culler, J. P. Singh, and A. Gupta, “Parallel Computer Architecture”, MorganKaufmann, 2004

  2. Rajeev Balasubramonian, Norman P. Jouppi, and Naveen Muralimanohar, “Multi-Core Cache Hierarchies”, Morgan & Claypool Publishers, 2011

  3. Peter and Pach Eco, “An Introduction to Parallel Programming”, Elsevier, 2011

  4. James R. Larus and Ravi Rajwar, “Transactional Memory”, Morgan & Claypool Publishers, 2007

  5. David B. Kirk, Wen-mei W. Hwu, “Programming Massively Parallel Processors: A Hands-on Approach”, 2010

  6. Barbara Chapman, F. Desprez, Gerhard R. Joubert, Alain Lichnewsky, Frans Peters “Parallel Computing: From Multicores and GPU's to Petascale”, 2010

  7. Michael McCool, James Reinders, Arch Robison, “Structured Parallel Programming: Patterns for Efficient Computation”, 2012

  8. Jason Sanders, Edward Kandrot, “CUDA by Example: An Introduction to GeneralPurpose GPU Programming”, 2011


    Course Outcomes:

    After the completion of this course, the students will be able to:

    1. To develop an understanding of various basic concepts associated with parallel computing environments

    2. Understand, appreciate and apply parallel and distributed algorithms in problem solving

    3. Acquire skills to measure the performance of parallel and distributed programs

    4. Design parallel programs to enhance machine performance in parallel hardware environment

    5. Design and implement parallel programs in modern environments such as CUDA, OpenMP, etc

======= rgpv syllabus BTech Grading System 8th Semester Microsoft Word - syllabus_B.Tech_IT_VIIIsem aug2020

RAJIV GANDHI PROUDYOGIKI VISHWAVIDYALAYA, BHOPAL

New Scheme Based On AICTE Flexible Curricula Information Technology, VIII- semester


IT 801- Information Security

Course Objectives:

The objective of this course is to familiarize the students with the fundamentals of information security and the methods used in protecting both the information present in computer storage as well as information traveling over computer networks.

Unit I Introduction: Fundamental Principles of Information Security- Confidentiality, Availability, Integrity, Non Repudiation, The OSI Security Architecture, Security Attacks, Security Services, Security Mechanisms, a Model for Network Security; Classical Encryption Techniques: Symmetric Cipher Model, Substitution Techniques, Transposition Techniques, Steganography

Unit II Block Ciphers and Data Encryption Algorithm: Block Cipher Principles, The Data Encryption Standard, The Strength of DES, Differential and linear cryptanalysis, Block Cipher Design Principles; Advanced Encryption Standard: Evaluation criteria of AES, The AES Cipher, Multiple Encryption and Triple DES, Block Cipher modes of operation, Stream Ciphers, Confidentiality using Symmetric Encryption

Unit III Public Key Encryption: Principles of Public Key Cryptosystems, The RSA algorithm, Key Management, Diffie-Hellman Key Exchange, Elliptic curve cryptography; Message Authentication and Hash Functions: Authentication requirements, Authentication Functions, Message Authentication Codes, Hash Functions, Security of Hash Functions and MACs; Hash and MAC algorithms: Secure Hash Algorithm, HMAC; Digital Signatures and Authentication Protocols, Digital Signature Standard

Unit IV Authentication Applications, Kerberos, X.509 Authentication Service, Public key infrastructure; Electronic Mail Security: Pretty Good Privacy; IP Security: IP Security Overview, Architecture, Authentication header, encapsulating security payload, Key management; Web Security: Web security considerations, Secure Socket Layer and Transport layer Security, Secure Electronic Transaction

Unit V System Security: Intruders, Intrusion Detection, Password management; Malicious Software: Different type of malicious software, Viruses and related threats, Virus Countermeasures, Threats and attacks on Information Security, DoS and DDos Attacks; Security controls required for Information Security, Firewalls: Firewall design principles, Trusted Systems, Common criteria for information technology security evaluation

References:

  1. William Stallings, "Cryptography and Network Security", Fourth edition, PHI

  2. Atul Kahate, “Cryptography and Network Security”, McGraw Hill.

  3. V.K. Pachghare, “Cryptography and Information Security”, PHI Learning

  4. Nina Godbole, “Information System Security”, Wiley


Course Outcomes:

After the completion of this course, the students will be able to:


  1. Understand key terms and concepts in information security and Cryptography and evaluate the cyber security needs of an organization.

  2. Acquire knowledge to secure computer systems, protect personal data, and secure computer networks in an organization

  3. Apply knowledge of various encryption algorithms and authentication mechanisms to secure information in computer systems and networks

  4. Understand principles of web security to secure network by monitoring and analyzing the nature of attacks and design/develop security architecture for an organization.

  5. Design operational and strategic information security strategies and policies.

RAJIV GANDHI PROUDYOGIKI VISHWAVIDYALAYA, BHOPAL

New Scheme Based On AICTE Flexible Curricula Information Technology, VIII- semester


Departmental Elective IT 802 (A) Machine Learning


Course Objectives:

To familiarize students with the knowledge of machine learning and enable them to apply suitable machine learning techniques for data handling and to gain knowledge from it. Evaluate the performance of algorithms and to provide solution for various real-world applications.

Unit I Introduction:

Introduction, Examples of various Learning Paradigms, Perspectives and Issues, Concept Learning, Version Spaces, Finite and Infinite Hypothesis Spaces, PAC Learning, VC Dimension


Unit II Supervised Learning Algorithms:

Learning a Class from Examples, Linear, Non-linear, Multi-class and Multi-label classification, Decision Trees: ID3, Classification and Regression Trees (CART), Regression: Linear Regression, Multiple Linear Regression, Logistic Regression, Neural Networks: Introduction, Perceptron, Multilayer Perceptron, Support vector machines: Linear and NonLinear, Kernel Functions, K-Nearest Neighbors


Unit III Ensemble Learning:

Ensemble Learning Model Combination Schemes, Voting, Error-Correcting Output Codes, Bagging: Random Forest Trees, Boosting: Adaboost, Stacking


Unit IV Unsupervised Learning:

Introduction to clustering, Hierarchical: AGNES, DIANA, Partitional: K-means clustering, K- Mode Clustering, Self-Organizing Map, Expectation Maximization, Gaussian Mixture Models, Principal Component Analysis (PCA), Locally Linear Embedding (LLE), Factor Analysis


Unit V Probabilistic Learning:

Bayesian Learning, Bayes Optimal Classifier, Naïve Bayes Classifier, Bayesian Belief Networks, Mining Frequent Patterns


References:

  1. EthemAlpaydin,"Introduction to Machine Learning”, MIT Press, Prentice Hall of India, Third Edition 2014.

  2. MehryarMohri, AfshinRostamizadeh, AmeetTalwalkar "Foundations of Machine Learning”, MIT Press, 2012.

  3. Tom Mitchell, “Machine Learning”, McGraw Hill, 3rd Edition,1997.

  4. Charu C. Aggarwal, “Data Classification Algorithms and Applications”, CRC Press, 2014.

  5. Stephen Marsland, “Machine Learning – An Algorithmic Perspective”, 2nd Edition, CRC Press, 2015.

  6. Kevin P. Murphy "Machine Learning: A Probabilistic Perspective", The MIT Press, 2012

  7. Jiawei Han and MichelineKambers and Jian Pei, “Data Mining –Concepts and Techniques”, 3rd Edition,Morgan Kaufman Publications, 2012.

  8. Marc Peter Deisenroth, A. Aldo Faisal, Cheng Soon Ong, “Mathematics for Machine Learning”, Cambridge University Press, 2019.


Course Outcomes:

After the completion of this course, the students will be able to:

  1. Recognize the characteristics of machine learning strategies.

  2. Apply various supervised learning methods to appropriate problems.

  3. Identify and integrate more than one technique to enhance the performance of learning.

  4. Create probabilistic and unsupervised learning models for handling unknown pattern.

  5. Analyze the co-occurrence of data to find interesting frequent patterns and Preprocess the data before applying to any real-world problem and can evaluate its performance

RAJIV GANDHI PROUDYOGIKI VISHWAVIDYALAYA, BHOPAL

New Scheme Based On AICTE Flexible Curricula Information Technology, VIII- semester

Departmental Elective IT 802 (B) Natural Language Processing Course Objectives:

To provide a broad introduction to NLP with a particular emphasis on core algorithms, data structures, and machine learning for NLP.

Unit I


Introduction to various levels of natural language processing, Ambiguities and computational challenges in processing various natural languages. Introduction to Real life applications of NLP such as spell and grammar checkers, information extraction, question answering, and machine translation

Unit II


Character Encoding, Word Segmentation, Sentence Segmentation, Introduction to Corpora, Corpora Analysis

Unit III


Inflectional and Derivation Morphology, Morphological Analysis and Generation using finite state transducers

Introduction to word types, POS Tagging, Maximum Entropy Models for POS tagging, Multi- word Expressions.

Unit IV


The role of language models. Simple N-gram models. Estimating parameters and smoothing. Evaluating language models.

Introduction to phrases, clauses and sentence structure, Shallow Parsing and Chunking, Shallow Parsing with Conditional Random Fields (CRF), Lexical Semantics, Word Sense Disambiguation, WordNet, Thematic Roles, Semantic Role Labelling with CRFs.

Unit V


NL Interfaces, Text Summarization, Sentiment Analysis, Machine Translation, Question answering, Recent Trends in NLP

References:

  1. J. H. Speech and Language Processing, Jurafsky, D. and Martin, Prentice Hall, 2nd Edition, 2014

  2. C. D. and H. Schütze: Foundations of Statistical Natural Language Processing, Manning, The MIT Press

Course Outcomes:

After the completion of this course, the students will be able to:


  1. Identify and discuss the characteristics of different NLP techniques

  2. Understand the fundamental mathematical models and algorithms in the field of NLP and apply these mathematical models and algorithms in applications in software design and implementation for NLP

  3. Understand the complexity of speech and the challenges facing speech engineers

  4. Understand approaches to syntax and semantics in NLP

  5. Understand approaches to discourse, generation, dialogue and summarization within NLP

RAJIV GANDHI PROUDYOGIKI VISHWAVIDYALAYA, BHOPAL


New Scheme Based On AICTE Flexible Curricula


Information Technology, VIII- semester Departmental Elective IT 802 (C) Robotics


Course Objectives:

The objective of this course is to impart knowledge about industrial robots for their control and design.


Unit I Introduction to Robotics:

Types and components of a robot, Classification of robots, closed-loop and open-loop control systems;

Kinematics systems: Definition of mechanisms and manipulators, Social issues and safety


Unit II Robot Kinematics and Dynamics:

Kinematic Modelling: Translation and Rotation Representation, Coordinate transformation, DH parameters, Jacobian, Singularity, and Statics;

Dynamic Modelling: Equations of motion: Euler-Lagrange formulation


Unit III Sensors and Vision System:

Sensor: Contact and Proximity, Position, Velocity, Force, Tactile etc.

Introduction to Cameras, Camera calibration, Geometry of Image formation, Euclidean/Similarity/Affine/Projective transformations, Vision applications in robotics.


Unit IV Robot Control:

Basics of control: Transfer functions, Control laws: P, PD, PID, Non-linear and advanced controls Robot Actuation Systems: Actuators: Electric, Hydraulic and Pneumatic; Transmission: Gears, Timing Belts and Bearings, Parameters for selection of actuators.


Unit V Control Hardware and Interfacing:

Embedded systems: Architecture and integration with sensors, actuators, components, Programming for Robot Applications


References:

  1. Saha, S.K., “Introduction to Robotics, 2nd Edition, McGraw-Hill Higher Education, New Delhi, 2014.

  2. Ghosal, A., “Robotics”, Oxford, New Delhi, 2006.

  3. Niku Saeed B., “Introduction to Robotics: Analysis, Systems, Applications”, PHI, New Delhi.

  4. Mittal R.K. and Nagrath I.J., “Robotics and Control”, Tata McGraw Hill.

  5. Mukherjee S., “Robotics and Automation”, Khanna Publishing House, Delhi.

  6. Craig, J.J., “Introduction to Robotics: Mechanics and Control”, Pearson, New Delhi, 2009

  7. Mark W. Spong, Seth Hutchinson, and M. Vidyasagar, “Robot Modelling and Control”, John Wiley and Sons Inc, 2005

  8. Steve Heath, “Embedded System Design”, 2nd Edition, Newnes, Burlington, 2003

  9. Merzouki R., Samantaray A.K., Phathak P.M. and Bouamama B. Ould, “Intelligent Mechatronic System: Modeling, Control and Diagnosis”, Springer.


    Course Outcomes:

    After the completion of this course, the students will be able to:

    1. Understand robot mechanism

    2. Perform kinematic and dynamic analyses with simulation

    3. Design control laws for a robot

    4. Integrate mechanical and electrical hardware for a real prototype of robotic device

    5. Select a robotic system for given application

RAJIV GANDHI PROUDYOGIKI VISHWAVIDYALAYA, BHOPAL

New Scheme Based On AICTE Flexible Curricula Information Technology, VIII- semester

Departmental Elective IT 802 (D) Quantum Computing Course Objectives:

The objective of this course is to impart necessary knowledge to the learner so that he/she can develop and implement algorithm and write programs using these algorithm


Unit I

Motivation for studying Quantum Computing , Major players in the industry (IBM, Microsoft, Rigetti, D-Wave etc.), Origin of Quantum Computing

Overview of major concepts in Quantum Computing: Qubits and multi-qubits states, Braket notation, Bloch Sphere representation, Quantum Superposition, Quantum Entanglement


Unit II

Math Foundation for Quantum Computing: Matrix Algebra: basis vectors and orthogonality, inner product and Hilbert spaces, matrices and tensors, unitary operators and projectors, Dirac notation, Eigen values and Eigen vectors


Unit III

Building Blocks for Quantum Program: Architecture of a Quantum Computing platform,

Details of q-bit system of information representation: Block Sphere, Multi-qubits States, Quantum superposition of qubits (valid and invalid superposition), Quantum Entanglement, Useful states from quantum algorithmic perceptive e.g. Bell State, Operation on qubits: Measuring and transforming using gates.

Quantum Logic gates and Circuit: Pauli, Hadamard, phase shift, controlled gates, Ising, Deutsch, swap etc.


Unit IV

Programming model for a Quantum Computing Program: Steps performed on classical computer, Steps performed on Quantum Computer, Moving data between bits and qubits.

Basic techniques exploited by quantum algorithms, Amplitude amplification, Quantum Fourier

Transform, Phase Kick-back, Quantum Phase estimation, Quantum Walks


Unit V

Major Algorithms: Shor’s Algorithm, Grover’s Algorithm, Deutsch’s Algorithm, Deutsch -Jozsa Algorithm OSS Toolkits for implementing Quantum program: IBM quantum experience, Microsoft Q, Rigetti PyQuil (QPU/QVM)


References:

  1. Michael A. Nielsen, “Quantum Computation and Quantum Information”, Cambridge University Press.

  2. David McMahon, “Quantum Computing Explained”, Wiley


Course Outcomes:

After the completion of this course, the students will be able to:

  1. Understand major concepts in Quantum Computing

  2. Explain the working of a Quantum Computing program, its architecture and program model

  3. Develop quantum logic gate circuits

  4. Develop quantum algorithm

  5. Program quantum algorithm on major toolkits

RAJIV GANDHI PROUDYOGIKI VISHWAVIDYALAYA, BHOPAL

New Scheme Based On AICTE Flexible Curricula Information Technology, VIII- semester


Open Elective IT 803 (A) Blockchain Technology


Course Objectives:

The objective of this course is to provide conceptual understanding of how block chain technology can be used to innovate and improve business processes. The course covers the technological underpinning of block Chain operations in both theoretical and practical implementation of solutions using block Chain technology.


Unit I Introduction: Overview of Block chain, Public Ledgers, Bitcoin, Smart Contracts, Block in a Block chain, Transactions, Distributed Consensus, Public vs Private Block chain, Understanding Cryptocurrency to Block chain, Permissioned Model of Block chain, Overview of Security aspects of Block chain; Basic Crypto Primitives: Cryptographic Hash Function, Properties of a hash function, Hash pointer and Merkle tree, Digital Signature, Public Key Cryptography, A basic cryptocurrency


Unit II Understanding Block chain with Crypto currency: Bitcoin and Block chain: Creation of coins, Payments and double spending, Bitcoin Scripts, Bitcoin P2P Network, Transaction in Bitcoin Network, Block Mining, Block propagation and block relay.

Working with Consensus in Bitcoin: Distributed consensus in open environments, Consensus in a Bitcoin network, Proof of Work (PoW) – basic introduction, HashCash PoW, Bitcoin PoW, Attacks on PoW and the monopoly problem, Proof of Stake, Proof of Burn and Proof of Elapsed Time, The life of a Bitcoin Miner, Mining Difficulty, Mining Pool


Unit III Understanding Block chain for Enterprises: Permissioned Block chain: Permissioned model and use cases, Design issues for Permissioned block chains, Execute contracts, State machine replication, Overview of Consensus models for permissioned block chain- Distributed consensus in closed environment, Paxos, RAFT Consensus, Byzantine general problem, Byzantine fault tolerant system, Lamport-Shostak-Pease BFT Algorithm, BFT over Asynchronous systems.


Unit IV Enterprise application of Block chain: Cross border payments, Know Your Customer (KYC), Food Security, Mortgage over Block chain, Block chain enabled Trade, We Trade – Trade Finance Network, Supply Chain Financing, and Identity on Block chain


Unit V Block chain application development: Hyperledger Fabric- Architecture, Identities and Policies, Membership and Access Control, Channels, Transaction Validation, Writing smart contract using Hyperledger Fabric, Writing smart contract using Ethereum, Overview of Ripple and Corda


References:

  1. Melanie Swan, “Block Chain: Blueprint for a New Economy”, O’Reilly, 2015

  2. Josh Thompsons, “Block Chain: The Block Chain for Beginners- Guide to Block chain Technology and Leveraging Block Chain Programming”

  3. Daniel Drescher, “Block Chain Basics”, Apress; 1stedition, 2017

  4. Anshul Kaushik, “Block Chain and Crypto Currencies”, Khanna Publishing House, Delhi.

  5. Imran Bashir, “Mastering Block Chain: Distributed Ledger Technology, Decentralization and Smart Contracts Explained”, Packt Publishing

  6. Ritesh Modi, “Solidity Programming Essentials: A Beginner’s Guide to Build Smart Contracts for Ethereum and Block Chain”, Packt Publishing

  7. Salman Baset, Luc Desrosiers, Nitin Gaur, Petr Novotny, Anthony O’Dowd, Venkatraman Ramakrishna, “Hands-On Block Chain with Hyperledger: Building Decentralized Applications with Hyperledger Fabric and Composer”, Import, 2018


    Course Outcomes:

    After the completion of this course, the students will be able to:

    1. Understand block chain technology

    2. Acquire knowledge of crytocurrencies

    3. Develop block chain based solutions and write smart contract using Hyperledger Fabric and Ethereum frameworks

    4. Build and deploy block chain application for on premise and cloud based architecture

    5. Integrate ideas from various domains and implement them using block chain technology in different perspectives

RAJIV GANDHI PROUDYOGIKI VISHWAVIDYALAYA, BHOPAL

New Scheme Based On AICTE Flexible Curricula Information Technology, VIII- semester

Open Elective IT 803 (B) Human Computer Interaction Course Objectives:

To provide the basic knowledge on the levels of interaction, design models, techniques and validations focusing on the different aspects of human-computer interface and interactions


Unit I HCI Foundations:

Input–output channels, Human memory, Thinking: reasoning and problem solving, Emotion, Individual differences, Psychology and the design of interactive systems, Text entry devices, Positioning, pointing and drawing, Display devices, Devices for virtual reality and 3D interaction, Physical controls, sensors and special devices, Paper: printing and scanning


Unit II Designing Interaction:

Overview of Interaction Design Models, Discovery - Framework, Collection - Observation, Elicitation, Interpretation - Task Analysis, Storyboarding, Use Cases, Primary Stakeholder Profiles, Project Management Document


Unit III Interaction Design Models:

Model Human Processor - Working Memory, Long-Term Memory, Processor Timing, Keyboard Level Model - Operators, Encoding Methods, Heuristics for M Operator Placement, What the Keyboard Level Model Does Not Model, Application of the Keyboard Level Model, GOMS - CMN-GOMS Analysis, Modeling Structure, State Transition Networks - Three-State Model, Glimpse Model, Physical Models, Fitts’ Law


Unit IV Guidelines in HCI:

Shneideman's eight golden rules, Norman's Sever principles, Norman's model of interaction, Nielsen's ten heuristics, Heuristic evaluation, contextual evaluation, Cognitive walk-through Collaboration and Communication:

Face-to-face Communication, Conversation, Text-based Communication, Group working, Dialog design notations, Diagrammatic notations, Textual dialog notations, Dialog semantics, Dialog analysis and design


Unit V Human Factors and Security:

Groupware, Meeting and decision support systems, Shared applications and artifacts, Frameworks for groupware Implementing synchronous groupware, Mixed, Augmented and Virtual Reality Validation: Validations - Usability testing, Interface Testing, User Acceptance Testing


References:

  1. A Dix, Janet Finlay, G D Abowd, R Beale., Human-Computer Interaction, 3rd Edition, Pearson Publishers,2008

  2. Shneiderman, Plaisant, Cohen and Jacobs, Designing the User Interface: Strategies for Effective Human Computer Interaction, 5th Edition, Pearson Publishers, 2010.

  3. Hans-Jorg Bullinger,” Human-Computer Interaction”, Lawrence Erlbaum Associates, Publishers

  4. Jakob Nielsen,” Advances in Human-computer Interaction”,Ablex Publishing Corporation

  5. Thomas S. Huang,” Real-Time Vision for Human-Computer Interaction”, Springer

  6. Preece et al, Human-Computer Interaction, Addison-Wesley, 1994


Course Outcomes:

After the completion of this course, the students will be able to:

  1. Enumerate the basic concepts of human, computer interactions

  2. Create the processes of human computer interaction life cycle

  3. Analyze and design the various interaction design models

  4. Apply the interface design standards/guidelines for evaluating the developed interactions

  5. Apply product usability evaluations and testing methods

RAJIV GANDHI PROUDYOGIKI VISHWAVIDYALAYA, BHOPAL

New Scheme Based On AICTE Flexible Curricula Information Technology, VIII- semester


Open Elective IT 803 (C) Printing and Design


Course Objectives:

To impart knowledge and skills related to 3D printing technologies, selection of material and equipment and develop a product using this technique in Industry 4.0 environment


Unit I 3D Printing (Additive Manufacturing):

Introduction, Process, Classification, Advantages, Additive V/s Conventional Manufacturing processes, Applications.

CAD for Additive Manufacturing: CAD Data formats, Data translation, Data loss, STL format.


Unit II Additive Manufacturing Techniques:

Stereo- Lithography, LOM, FDM, SLS, SLM, Binder Jet technology. Process, Process parameter, Process Selection for various applications.

Additive Manufacturing Application Domains: Aerospace, Electronics, Health Care, Defence, Automotive, Construction, Food Processing, Machine Tools


Unit III Materials:

Polymers, Metals, Non-Metals, Ceramics

Various forms of raw material- Liquid, Solid, Wire, Powder; Powder Preparation and their desired properties, Polymers and their properties, Support Materials.


Unit IV Additive Manufacturing Equipment:

Process Equipment- Design and process parameters, Governing Bonding Mechanism, Common faults and troubleshooting, Process Design


Unit V Post Processing:

Post Processing Requirement and Techniques. Product Quality: Inspection and testing, Defects and their causes


References:

  1. Lan Gibson, David W. Rosen and Brent Stucker, “Additive Manufacturing Technologies: Rapid Prototyping to Direct Digital Manufacturing”, Springer, 2010.

  2. Andreas Gebhardt, “Understanding Additive Manufacturing: Rapid Prototyping, Rapid Tooling, Rapid Manufacturing”, Hanser Publisher, 2011.

  3. Khanna Editorial, “3D Printing and Design”, Khanna Publishing House, Delhi.

  4. CK Chua, Kah Fai Leong, “3D Printing and Rapid Prototyping- Principles and Applications”, World Scientific, 2017.

  5. J.D. Majumdar and I. Manna, “Laser-Assisted Fabrication of Materials”, Springer Series in Material Science, 2013.

  6. L. Lu, J. Fuh and Y.S. Wong, “Laser-Induced Materials and Processes for Rapid Prototyping”, Kulwer Academic Press, 2001.

  7. Zhiqiang Fan And Frank Liou, “Numerical Modelling of the Additive Manufacturing (AM) Processes of Titanium Alloy”, InTech, 2012.


    Course Outcomes:

    After the completion of this course, the students will be able to:

    1. Develop CAD models for 3D printing.

    2. Import and Export CAD data and generate .stl file.

    3. Select a specific material for the given application.

    4. Select a 3D printing process for an application.

    5. Produce a product using 3D Printing or Additive Manufacturing (AM).

RAJIV GANDHI PROUDYOGIKI VISHWAVIDYALAYA, BHOPAL

New Scheme Based On AICTE Flexible Curricula Information Technology, VIII- semester


Open Elective IT 803 (D) Parallel Computing


Course Objectives:

To develop an understanding of the fundamental principles and engineering trade-offs involved in designing modern parallel computers and to develop programming skills to effectively implement parallel architecture


Unit I Introduction: The need for parallelism, Forms of parallelism (SISD, SIMD, MISD, MIMD), Moore's Law and Multi-cores, Fundamentals of Parallel Computers, Communication architecture, Message passing architecture, Data parallel architecture, Dataflow architecture, Systolic architecture, Performance Issues

Unit II Large Cache Design: Shared vs. Private Caches, Centralized vs. Distributed Shared Caches, Snooping-based cache coherence protocol, directory-based cache coherence protocol, Uniform Cache Access, Non-Uniform Cache Access, D-NUCA, S-NUCA, Inclusion, Exclusion, Difference between transaction and transactional memory, STM, HTM

Unit III Graphics Processing Unit: GPUs as Parallel Computers, Architecture of a modern GPU, Evolution of Graphics Pipelines, GPGPUs, Scalable GPUs, Architectural characteristics of Future Systems, Implication of Technology and Architecture for users, Vector addition, Applications of GPU

Unit IV Introduction to Parallel Programming: Strategies, Mechanism, Performance theory, Parallel Programming Patterns: Nesting pattern, Parallel Control Pattern, Parallel Data Management, Map: Scaled Vector, Mandelbrot, Collative: Reduce, Fusing Map and Reduce, Scan, Fusing Map and Scan, Data Recognition: Gather, Scatter, Pack , Stencil and Recurrence, Fork-Join, Pipeline

Unit V Parallel Programming Languages: Distributed Memory Programming with MPI: trapezoidal rule in MPI, I/O handling, MPI derived datatype, Collective Communication, Shared Memory Programming with Pthreads: Conditional Variables, read-write locks, Cache handling, Shared memory programming with Open MP: Parallel for directives, scheduling loops, Thread Safety, CUDA: Parallel programming in CUDA C, Thread management, Constant memory and Event, Graphics Interoperability, Atomics, Streams

References:

  1. D. E. Culler, J. P. Singh, and A. Gupta, “Parallel Computer Architecture”, MorganKaufmann, 2004

  2. Rajeev Balasubramonian, Norman P. Jouppi, and Naveen Muralimanohar, “Multi-Core Cache Hierarchies”, Morgan & Claypool Publishers, 2011

  3. Peter and Pach Eco, “An Introduction to Parallel Programming”, Elsevier, 2011

  4. James R. Larus and Ravi Rajwar, “Transactional Memory”, Morgan & Claypool Publishers, 2007

  5. David B. Kirk, Wen-mei W. Hwu, “Programming Massively Parallel Processors: A Hands-on Approach”, 2010

  6. Barbara Chapman, F. Desprez, Gerhard R. Joubert, Alain Lichnewsky, Frans Peters “Parallel Computing: From Multicores and GPU's to Petascale”, 2010

  7. Michael McCool, James Reinders, Arch Robison, “Structured Parallel Programming: Patterns for Efficient Computation”, 2012

  8. Jason Sanders, Edward Kandrot, “CUDA by Example: An Introduction to GeneralPurpose GPU Programming”, 2011


    Course Outcomes:

    After the completion of this course, the students will be able to:

    1. To develop an understanding of various basic concepts associated with parallel computing environments

    2. Understand, appreciate and apply parallel and distributed algorithms in problem solving

    3. Acquire skills to measure the performance of parallel and distributed programs

    4. Design parallel programs to enhance machine performance in parallel hardware environment

    5. Design and implement parallel programs in modern environments such as CUDA, OpenMP, etc

>>>>>>> html