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