VI Semster
VI Semster
Course Outcomes:
Able to understand the various phases of compiler and analyze the lexical tool.
Students should be in a position to understand the different types of parsing Techniques
and apply
Lex tool & YAAC tools.
Design syntax directed translations for semantic analysis of various language features and
produce intermediate code.
Students should be able to understand and design different code generation technique
and algorithms.
Apply various optimization techniques to the intermediate code/machine code.
124
Code Generation: Issues in the Design of a Code Generator, The Target Language, Addresses in the
Target Code, A Simple Code Generator.
Textbooks:
1. Compilers Principles, Techniques and Tools, Second Edition, Alfred V.Aho, Monica S.Lam, Ravi
Sethi, Jeffrey D. Ullman, Pearson
Reference Books:
I. Compiler Construction‖, K.V.N. Sunitha, Pearson, 2013
II. EngineeringACompiler‖,SecondEdition,KeithD.Cooper&LindaTorczon.,MK(MorganKaufmann)(E
LSEVIER)
III. Compilers Principles and Practice‖, ParagH. Dave, HimanshuB. Dave.,PEARSON
IV. CompilerDesign‖, SandeepSaxena, RajkumarSinghRathore, S.Chandpublication
V. Compiler Design‖, SantanuChattopadhyay., PHI
125
JNTUA College of Engineering (Autonomous), Ananthapuramu
Department of Computer Science & Engineering
Machine Learning
Course Code:20A60502 Semester VI(R20) L T P C: 3 0 0 3
Course Objectives:
Understand the basic theory underlying machine learning
Formulate machine learning problems corresponding to different applications.
Illustrate a range of machine learning algorithms along with their strengths and
weaknesses
Apply machine learning algorithms to solve problems of moderate complexity.
Course Outcomes:
CO1: Identify machine learning techniques suitable for a givenproblem.
CO2: Solve the real world problems using various machine learningtechniques.
CO3: Apply Dimensionality reductiontechniques for data preprocessing.
CO4: Explain what is learning and why it is essential in the design of intelligent machines.
CO5: Implement Advanced learning models for language, vision, speech, decision making etc.
UNIT – I: Introduction
Learning Problems – Perspectives and Issues – Concept Learning – Version Spaces and Candidate
Eliminations – Inductive bias – Decision Tree learning – Representation – Algorithm – Heuristic
Space Search.
126
Textbooks:
1. T.M. Mitchell, “Machine Learning”, McGraw-Hill,1997.
Reference Books:
1. EthernAlpaydin, “Introduction to Machine Learning”, MIT Press,2004.
2. Stephen Marsland, “Machine Learning -An Algorithmic Perspective”, Second Edition, Chapman and
Hall/CRC Machine Learning and Pattern Recognition Series,2014
127
JNTUA College of Engineering (Autonomous), Ananthapuramu
Department of Computer Science & Engineering
Cryptography and network Security
Course Code:20A60503 Semester VI(R20) LTPC:3003
Course Objectives:
Introduce the basic categories of threats to computers and networks
Illustrate various cryptographic algorithms.
Demonstrate public-key cryptosystem.
Discuss the fundamental ideas of public-key cryptography.
Course Outcomes:
CO1: Identify various type of vulnerabilities of a computer network
CO2: Illustrate various cryptographic algorithms.
CO3: Demonstrate public-key cryptosystem.
CO4: Discuss the fundamental ideas of public-key cryptography.
CO5: Explore Web security threats and protection mechanisms .
Introduction, The need for security, Security approaches, Principles of security, Types of Security
attacks, Security services, Security Mechanisms, A model for Network Security. Introduction, plain
text and cipher text, substitution techniques, transposition techniques, encryption and decryption,
symmetric and asymmetric key cryptography, steganography, key range and key size, possible types of
attacks.
UNIT – V: Web Security, Intruders, Virus and Firewalls,Case Studies on Cryptography and
security
Web Security: Web security considerations, Secure Socket Layer and Transport Layer Security,
Secure electronic transaction
Intruders, Virus and Firewalls: Intruders, Intrusion detection, password management, Virus and
related threats, Countermeasures, Firewall design principles, Types of firewalls
Case Studies on Cryptography and security: Secure Inter-branch Payment Transactions, Cross site
128
Scripting Vulnerability, Virtual Elections.
Textbooks:
William Stallings, “Cryptography and Network Security”, 5th Edition, Pearson Education,
2011.
AtulKahate, “Cryptography and Network Security”, 2 Edition, Mc Graw Hill, 2010.
nd
Reference Books:
129
JNTUA College of Engineering (Autonomous), Ananthapuramu
Department of Computer Science & Engineering
Software testing
Professional Elective-II
Course Code:20A60504 Semester VI(R20) LTPC:3003
Course Objectives:
● Finding defects which may get created by the programmer while developing the software.
● Gaining confidence in and providing information about the level of quality.
● To prevent defects.
● To make sure that the end result meets the business and user requirements.
● Execute specific software tests with well-defined objectives and targets.
UNIT – IV: Paths, Path products and Regular expressions, Logic Based Testing
Paths, Path products and Regular expressions: Path Products & Path Expression, Reduction
Procedure, Applications, Regular Expressions & Flow Anomaly Detection.
Logic Based Testing: Overview, Decision Tables, Path Expressions, KV Charts, Specifications.
UNIT – V: State, State Graphs and Transition Testing, Graph Matrices and Application
State, State Graphs and Transition Testing: State Graphs, Good & Bad State Graphs, State
Testing, Testability Tips.
Graph Matrices and Application: Motivational Overview, Matrix of Graph, Relations,
Power of a Matrix, Node Reduction Algorithm, Building Tools.
130
Textbooks:
1. Boris Beizer, “Software testing techniques”, Dreamtech, second edition, 2002.
Reference Books:
1. Brian Marick, “The craft of software testing”, Pearson Education.
2. Yogesh Singh, “Software Testing”, Camebridge
3. P.C. Jorgensen, “Software Testing” 3rd edition, Aurbach Publications (Dist.by SPD).
4. N.Chauhan, “Software Testing”, Oxford University Press.
5. P.Ammann&J.Offutt, “Introduction to Software Testing” , Cambridge Univ. Press.
6. Perry, “Effective methods of Software Testing”, John Wiley, 2nd Edition, 1999.
131
JNTUA College of Engineering (Autonomous), Ananthapuramu
Department of Computer Science & Engineering
Fundamentals of AR/VR
Professional Elective-II
Course Code:20A60504b Semester VI(R20) LTPC:3003
Course Objectives:
1. To Teach about human interaction with computers
2. To Demonstrate Virtual reality
3. To introduce to the current state of VR Hardware and Software.
4. To explain how to apply VR/MR/AR for various applications.
Course Outcomes:
CO1: Study the fundamentals of VR, AR and MR
CO2: Select appropriate software and hardware for developing VR Applications
CO3: Design audio and video interaction paradigms
CO4: Design VR Applications
CO5: Create game objects using unity.
Textbooks:
1. Virtual Reality, Steven M. LaValle, Cambridge University Press, 2016
Reference Books:
1..Unity Virtual reality Projects, Jonathan Linowes, PACKT Publishing.
132
JNTUA College of Engineering (Autonomous), Ananthapuramu
Department of Computer Science & Engineering
IMAGE AND VIDEO PROCESSING
Professional Elective-II
Course Code:20A60505 Semester VI(R20) LTPC:3003
Course Objectives:
Comprehend the image processing fundamentals and enhancement techniques in
spatial and frequency domain.
Describe the color image fundamentals, models and various restoration techniques.
Design and Analyze the image compression systems.
Outline the various image segmentation and morphology operations.
Course Outcomes:
After completion of this course, students will be able to –
Understand theory and models in Image and Video Processing.
Explain the need of spatial and frequency domain techniques for image compression.
Illustrate quantitative models of image and video segmentation.
Apply the process of image enhancement for optimal use of resources.
133
UNIT-V: Feature Extraction
Boundary preprocessing, Boundary feature descriptor, Region feature descriptor, Principal components
as feature descriptor, Whole image feature
Video Processing: Video Formats, Video Enhancement and Restoration, Video Segmentation
Text Books:
1. Digital Image Processing, R. C. Gonzalez and R. E. woods, Pearson Education.
2. Handbook of Image and Video Processing, AL Bovik, Academic Press.
References:
1. Digital Image Processing and Analysis, B. Chanda and D. Dutta Mazumdar, PHI.
2. Digital Image Processing, W. K. Pratt, Wiley-Interscience.
3. Fundamentals of Digital Image Processing, A. K. Jain, Pearson India Education.
4. Pattern Classification and Scene Analysis, R. O. Duda and P. E. Hart, Wiley.
134
JNTUA College of Engineering (Autonomous), Ananthapuramu
Department of Computer Science & Engineering
Introduction to Linux Programming
Common to All Branches
Open Elective-II
Course Code:20A60505 Semester VI(R20) LTPC:3003
Course Objectives:
To study the commands according to user requirements.
To utilize Shell scripts to perform the given task.
To enable writing own programs in UNIX.
To know AWK programs.
Course Outcomes:
CO1: Develop text data processing applications using Unix commands and filters.
CO2: Design and develop text based user interface components
CO3: Understand user management, network management and backup utilities
CO4: Use the system calls for file management
CO5: Understands the Concept of Process Threads and File Structure.
135
UNIT-V: InterprocessCommunicaation, Unix System Administration and Networking
Interprocess Communication, Synchronization, Filters.
Unix System Administration and Networking: Unix Booting Procedure,Mounting Unix File System,
Unmounting Unix File System, Managing User Accounts, Networking Tools, mail Command,
Distributed File System, Firewalls, Backup and Restore.
TEXT BOOKS
1. “UNIX and SHELL Programming”, B.M. HARWANI, OXFORD UNIVERSITY PRESS.
REFERENCES
1. “UNIX and Linux System Administration Handbook”, Evi Nemeth, Garth Snyder, Trent R. Hein and
Ben Whaley, PHI
136
JNTUA College of Engineering (Autonomous), Ananthapuramu
Department of Computer Science & Engineering
Cryptography & Network Security Lab
Course Code:20A60506 Semester VI(R20) L T P C : 0 0 3 1.5
Course Objectives:
o understand the working principle of various communication protocols.
To analyze the various routing algorithms.
To know the concept of data transfer between nodes.
To implement Lexical Analyzer using Lex tool & Syntax Analyzer or parser using
YACC Tool
To implement front end of the compiler by means of generating Intermediate codes.
Course Outcomes:
CO1: o understand the working principle of various communication protocols.
CO2: To analyze the various routing algorithms.
CO3: To know the concept of data transfer between nodes.
CO4: To implement Lexical Analyzer using Lex tool & Syntax Analyzer or parser using YACC
Tool
List of Experiments:
1. Working with Sniffers for monitoring network communication (Ethereal)
2. Understanding of cryptographic algorithms and implementation of the same in C or C++
3. Using openssl for web server - browser communication
4. Using GNU PGP
5. Performance evaluation of various cryptographic algorithms
6. Using IPTABLES on Linux and setting the filtering rules
7. Configuring S/MIME for e-mail communication .
8. Understanding the buffer overflow and format string attacks
9. Using NMAP for ports monitoring
10. Implementation of proxy based security protocols in C or C++ with features like
confidentiality, integrity and authentication.
Following are some of the web links, which help to solve the above assignments
http://linuxcommand.org/man_pages/openssl1.html
http://www.openssl.org/docs/apps/openssl.html
http://www.queen.clara.net/pgp/art3.html
http://www.ccs.ornl.gov/~hongo/main/resources/contrib/gpg-howto/gpg-howto.html
https://netfiles.uiuc.edu/ehowes/www/gpg/gpg-com-0.htm
http://www.ethereal.com/docs/user-guide/
137
JNTUA College of Engineering(Autonomous),Ananthapuramu
Department of Computer Science & Engineering
Software Testing Lab
Professional Elective-II
Course Code:20A60507a Semester VI(R20) L T P C : 0 0 3 1.5
Course Objectives:
To discuss the distinctions between validation testing and defect testing.
To describe the principles of system and component testing .
To describe strategies for generating system test cases.
To understand the essential characteristics of tool used for test automation.
Course Outcomes:
CO1: Identify suitable tests to be carried out.
CO2: Prepare test planning based on the document.
CO3: Document test plans and test cases designed
CO4: Use automatic testing tools.
CO5: Develop and validate a test plan.
List of Experiments:
1. 1.Understand The Automation Testing Approach (Theory Concept).
2. Using Selenium IDE, Write a test suite containing minimum 4 test cases.
3. Understanding Test Automation. Using Selenium write a simple test script to validate
each field of the registration page ( Eg: Facebook Registration Page)
4. Install Selenium server and demonstrate it using a script in Java/PHP.
5. Conduct a test suite for any two web sites.
6. Write and test a program to login a specific web page.
7. Write test cases to validate a mobile number using one time pin identification(OTP)
8. Write and Test a program to find out list of employees having salary greater than Rs
50,000 and age between 30 to 40 years.
9. Write and test a program to update 10 student records into table into Excel file.
10. Write and test a program to select the number of students who have scored more than
60 in any one subject (or all subjects).
11. Write and test a program to provide total number of objects present / available on the
page.
12. Write and test a program to get the number of list items in a list / combo box.
13. Write and test a program to count number of items present on a desktop.
14. Understanding the use of bug tracking and testing tool Bugzilla and Jira
15. Open ended Experiment: Mini Project – Not for exam but to compulsory to be included
in Record. (Test cases for Admission form, Shopping cart, Travel Booking, Hotel
Booking, Utility Bill Payment)
Reference Books:
Testing in 30+ Open Source Tools, Rahul Shende, Shroff Publishers & Distributor Pvt. Ltd,
ISBN 13: 9789350231005 ( page numbers from 15 to 117 )
http://seleniumhq.org/
http://sourceforge.net/projects/sahi/
http://testng.org/doc/index.html
138
JNTUA College of Engineering (Autonomous),Ananthapuramu
Department of Computer Science & Engineering
Fundamentals of AR/VR Lab
Professional Elective-II
Course Code:20A60507b Semester VI(R20) L T P C : 0 0 3 1.5
Course Objectives:
The objective of this course is to explore the concepts of Virtual reality and develop 3D virtual
environment.
Course Outcomes:
CO1: Create and deploy a VR application
CO2: understand the physical principles of VR
CO3: Create a comfortable, high-performance VR application using Unity
CO4: Identify, examine and develop software that reflects fundamental techniques for the design
and deployment of VR experiences.
List of Experiments:
I. Installation of Unity and Visual Studio, setting up Unity for VR development,
understanding documentation of the same.
II. Demonstration of the working of HDMs
III. Develop a scene in Unity that includes:
i. a cube, plane and sphere, apply transformations on the 3 game objects. ii. add a video
and audio source
IV. Develop a scene in Unity that includes a cube, plane and sphere. Create a new material and
texture separately for three Game objects. Change the colour, material and texture of each
Game object separately in the scene. Write a C# program in visual studio to change the
colour and material/texture of the game objects dynamically onbutton click.
V. Develop a scene in Unity that includes a sphere and plane . Apply Rigid body component,
material and Box collider to the game Objects. Write a C# program to grab and throw the
sphere using vr controller.
VI. Develop a simple UI(User interface ) menu with images, canvas, sprites and button. Write
a C# program to interact with UI menu through VR trigger button such that on each
successful trigger interaction display a score on scene.
VII. Create a Simple Mini Project
Reference Book:
1. Virtual Reality, Steven M. LaValle, Cambridge University Press, 2016
139
JNTUA College Of Engineering (Autonomous),Ananthapuramu
Department of Computer Science & Engineering
Image and Video Processing Lab
Professional Elective-II
Course Code:20A60507c Semester VI(R20) L T P C : 0 0 3 1.5
Course Objectives:
The objective of this course is to explore the concepts of Virtual reality and develop 3D
virtual environment.
Provide the student with the fundamentals of image processing
Give the students a taste of the applications of the theories taught in the subject. This
will be achieved through the project and some selected lab sessions.
Course Outcomes:
List of Experiments:
1.To study the Image Processing concept.
CO1: To obtain histogram equalization image.
CO2: To Implement smoothing or averaging filter in spatial domain.
CO3: Program for opening and closing of the image.
CO4: To fill the region of interest for the image.
CO5: Program for edge detection algorithm.
CO6: Program of sharpen image using gradient mask.
CO7: Program for morphological operation: erosion and dilation
CO8: Program for DCT/IDCT computation.
References:
1. Digital Image Processing and Analysis, B. Chanda and D. Dutta Mazumdar, PHI.
2. Digital Image Processing, W. K. Pratt, Wiley-Interscience.
3. Fundamentals of Digital Image Processing, A. K. Jain, Pearson India Education.
4. PatternClassification and Scene Analysis, R. O. Duda and P. E. Hart, Wiley.
140
JNTUA College Of Engineering (Autonomous),Ananthapuramu
Department of Computer Science & Engineering
Machine Learning Lab
Course Code:20A60508 Semester VI(R20) L T P C : 0 0 3 1.5
Course Objectives:
● Make use of Data sets in implementing the machine learning algorithms.
Implement the machine learning concepts and algorithms in any suitable language of choice
List of Experiments:
1. Implement and demonstratethe FIND-Salgorithm for finding the most specific hypothesis based
on a given set of training data samples. Read the training data from a .CSV file.
2. For a given set of training data examples stored in a .CSV file, implement and demonstrate the
Candidate-Elimination algorithmto output a description of the set of all hypotheses consistent with
the training examples.
3. Write a program to demonstrate the working of the decision tree based ID3 algorithm. Use an
appropriate data set for building the decision tree and apply this knowledge to classify a new
sample.
4. Build an Artificial Neural Network by implementing the Back propagation algorithm and test
the same using appropriate data sets.
5. Write a program to implement the naïve Bayesian classifier for a sample training data set stored
as a .CSV file. Compute the accuracy of the classifier, considering few test data sets.
6. Assuming a set of documents that need to be classified, use the naïve Bayesian Classifier model
to perform this task. Built-in Java classes/API can be used to write the program. Calculate the
accuracy, precision, and recall for your data set.
7. Write a program to construct a Bayesian network considering medical data. Use this model to
demonstrate the diagnosis of heart patients using standard Heart Disease Data Set. You can use
Java/Python ML library classes/API.
8. Apply EM algorithm to cluster a set of data stored in a .CSV file. Use the same data set for
clustering using k-Means algorithm. Compare the results of these two algorithms and comment on
the quality of clustering. You can add Java/Python ML library classes/API in the program.
9. Write a program to implement k-Nearest Neighbor algorithm to classify the iris data set. Print
both correct and wrong predictions. Java/Python ML library classes can be used for this problem.
10. Implement the non-parametric Locally Weighted Regression algorithm in order to fit data
points. Select appropriate data set for your experiment and draw graphs.
141
Reference Books:
1. EthernAlpaydin, “Introduction to Machine Learning”, MIT Press,2004.
2. Stephen Marsland, “Machine Learning -An Algorithmic Perspective”, Second Edition,
Chapman and Hall/CRC Machine Learning and Pattern Recognition Series,2014.
3. Andreas C. Müller and Sarah Guido “Introduction to Machine Learning with Python:A Guide
for Data Scientists”,Oreilly.
142
JNTUA College Of Engineering (Autonomous),Ananthapuramu
Department of Computer Science & Engineering
Full Stack Development
Skill Advanced Course -IV
Course Code:20A60509 Semester VI(R20) LTPC:102 2
Course Objectives:
Develop front end website architecture
Design user interactions on web pages
Develop back end website applications
Create servers and databases for functionality
Develop adaptive content for multiple devices (cell phone, tablets, etc.)Ensure cross-
platform optimization for mobile phones
Use their learned skills, knowledge and abilities to develop web sites for the internet
Apply basic design principles to present ideas, information, products, and services on
websites
Apply basic programming principles to the construction of websites
Effectively manage website projects using available resource.
Course Outcomes:
CO1: Analyze th terms like Natural Acceptance, Happiness and Prosperity
CO2: Understand awareness of oneself, and one’s surroundings (family, society nature)
CO3: Apply what they have learnt to their own self in different day-to-day settings in real life
CO4: Relate human values with human relationship and human society.
CO5: Justify the need for universal human values and harmonious existence
CO6: Develop as socially and ecologically responsible engineers
UNIT – III:Testing,JavaScript
143
Test-Driven Development, Test Pyramid, Behavior-Driven Development, Three Amigos, Manual
Testing, Visual Testing, Cross-Functional Testing,
JavaScript:Asynchronicity, JavaScript in the Browser, Offline-First Development, Document Object
Model, Server-Side JavaScript, Table of Contents viii JavaScript Modules, Structuring Your
JavaScript , JavaScript Types , Object-Oriented Programming, Functional Programming,
Communicating Between Components, Connecting Components Together , Testing, Build Tools.
Accessibility: Accessible from the Start, Working with Assistive Technologies, Dealing with
Interactive UI, Testing for Accessibility , Avoiding Common Mistakes.
UNIT – V: Deployment,InProduction,ConstantLrarning
Deployment :Twelve Factor Apps, Developer Machines, Production Environments, Moving Code
into Production, Configuring Your Box, Infrastructure, Immutable Infrastructure, Continuous
Delivery & Continuous Deployment.
In Production: Fire Drills, Run Books, Monitoring, Responding to Incidents
Constant Learning: Collecting Analytics, Experiments, Analyzing Results, Hypothesis-Driven.
Textbooks:
1.Chris Northwood, The full Stack Developer, Apress , Copy Right, 2018.
144
JNTUA College Of Engineering (Autonomous),Ananthapuramu
Department of Computer Science & Engineering
INDIAN CONSTITUTION
Course Code: 20A65901 Semester VI(R20) LTPC:2000
Course Objectives:
To Enable the student to understand the importance of constitution
To understand the structure of executive, legislature and judiciary
To understand philosophy of fundamental rights and duties
To understand the autonomous nature of constitutional bodies like Supreme
Court and high court controller and auditor general of India and Election
Commission of India.
To understand the central-state relation in financial and administrative control
Syllabus
145
a. Understand the structure of state government
b. Analyze the role of Governor and Chief Minister
c. Explain the role of State Secretariat
d. Differentiate between structure and functions of state secretariat
UNIT-IV Local Administration
District’s Administration Head - Role and Importance - Municipalities - Mayor and role of
Elected Representatives -CEO of Municipal Corporation Panchayati Raj - Functions– PRI –Zilla
Parishath - Elected officials and their roles – CEO, ,ZillaParishath - Block level Organizational
Hierarchy - (Different departments) - Village level - Role of Elected and Appointed officials -
Importance of grass root democracy
TEXT BOOKS
1. Durga Das Basu, Introduction to the Constitution of India, Prentice – Hall of India Pvt. Ltd..
New Delhi
146