Friday, 16 December 2016

FLAT SYLLABUS

JAWAHARLAL NEHRU TECHNOLOGICAL UNIVERSITY ANANTAPUR

B. Tech II - II sem (C.S.E)                                                                        T         Tu       C
                                                                                                                     3          1          3
(15A05404) FORMAL LANGUAGES AND AUTOMATA THEORY


Course Objective:



·         Understand formal definitions of machine models.

·         Classify machines by their power to recognize languages.
·         Understanding of formal grammars, analysis
·         Understanding of hierarchical organization of problems depending on their complexity
·         Understanding of the logical limits to computational capacity
·         Understanding of undecidable problems

Learning Outcome:
At the end of the course, students will be able to
·         Construct finite state diagrams while solving problems of computer science

·         Find solutions to the problems using Turing machines
·         Design of new grammar and language

UNIT I

Introduction: Basics of set theory, Relations on sets, Deductive proofs, Reduction to definitions, Other theorem forms, Proving equivalences about sets, The Contrapositive, Proof by contradiction, Counter examples, Inductive proofs, Alphabets, Strings, Languages, Problems, Grammar formalism, Chomsky Hierarchy

Finite Automata: An Informal picture of Finite Automata, Deterministic Finite Automata (DFA), Non Deterministic Finite Automata (NFA), Applying FA for Text search, Finite Automata with

Epsilon transitions (є-NFA or NFA- є ), Finite Automata with output, Conversion of one machine to another, Minimization of Finite Automata, Myhill-Nerode Theorem.

UNIT II
Regular  Languages:  Regular  Expressions  (RE),  Finite  Automata  and  Regular  Expressions,

Applications of Regular Expressions, Algebraic laws for Regular Expressions, The Arden‘s Theorem, Using Arden‘s theorem to construct RE from FA, Pumping Lemma for RLs, Applications of Pumping Lemma, Equivalence of Two FAs, Equivalence of Two REs, Construction of Regular Grammar from

RE, Constructing FA from Regular Grammar, Closure properties of RLs, Decision problem‘s of RLS,
Applications of REs and FAs

UNIT III

Context Free Grammars and Languages: Definition of Context Free Grammars (CFG), Derivations and Parse trees, Ambiguity in CFGs, Removing ambiguity, Left recursion and Left factoring, Simplification of CFGs, Normal Forms, Linear grammars, Closure properties for CFLs, Pumping Lemma for CFLs, Decision problems for CFLs, CFG and Regular Language..

UNIT IV

Push Down Automata (PDA): Informal introduction, The Formal Definition, Graphical notation, Instantaneous description, The Languages of a PDA, Equivalence of PDAs and CFGs, Deterministic Push Down Automata, Two Stack PDA.

UNIT V

Turing Machines and Undecidability: Basics of Turing Machine (TM), Transitional Representation of TMs, Instantaneous description, Non Deterministic TM, Conversion of Regular Expression to TM, Two stack PDA and TM, Variations of the TM, TM as an integer function, Universal TM, Linear Bounded Automata, TM Languages, Unrestricted grammar , Properties of Recursive and Recursively enumerable languages, Undecidability, Reducibility, Undeciadable problems about TMs, Post‘s

Correspondence Problem(PCP), Modified PCP.
  

Text Books:

1.   Introduction to Automata Theory, Formal Languages and Computation, Shyamalendu kandar, Pearson.

  1. Introduction to Automata Theory, Languages, and Computation, Third Edition, John E.Hopcroft, Rajeev Motwani, Jeffery D. Ullman, Pearson.

Reference Books:

1.   Introduction to Languages and the Theory of Computation, John C Martin, TMH, Third Edition.
2.   Theory of Computation, Vivek Kulkarni, OXFORD.
3.   Introduction to the Theory of Computation., Michel Sipser, 2nd Edition, Cengage Learning
4. Theory of computer Science Automata, Languages and Computation, K.L.P. Mishra,   N.

Chandrasekaran, PHI, Third Edition.

5.   Fundamentals of the Theory of Computation, Principles and Practice, Raymond Greenlaw, H. James Hoover, Elsevier, Morgan Kaufmann.

Finite Automata and Formal Language A Simple Approach, A.M. Padma Reddy, Pearson

Thursday, 15 December 2016

DATA STRUCTURES 2 MARKS QUESTION AND ANSWERS

B.Tech. I - II Sem. (CSE) SYLLABUS FOR DATA STRUCTURES



JAWAHARLAL NEHRU TECHNOLOGICAL UNIVERSITY ANANTAPUR
ANANTHAPURAMU
B.Tech. I - II Sem. (CSE)                                                T      Tu     C
                                                                     3       1      3
(15A05201) DATA STRUCTURES
(Common to CSE and IT branches of Engineering)
                            
                                   
Objectives:
·        Understand different Data Structures
·        Understand Searching and Sorting techniques

Unit-1

Introduction and overview: Asymptotic Notations, One Dimensional array- Multi Dimensional array- pointer arrays.
Linked lists: Definition- Single linked list- Circular linked list- Double linked list- Circular Double linked list- Application of linked lists.

Unit-2
Stacks: Introduction-Definition-Representation of Stack-Operations on Stacks- Applications of Stacks.
Queues:  Introduction, Definition- Representations of Queues- Various Queue Structures- Applications of Queues. Tables: Hash tables.

Unit-3
Trees: Basic Terminologies- Definition and Concepts- Representations of Binary Tree- Operation on a Binary Tree- Types of Binary Trees-Binary Search Tree, Heap Trees, Height Balanced Trees, B. Trees, Red Black Trees.
Graphs: Introduction- Graph terminologies- Representation of graphs- Operations on Graphs- Application of Graph Structures: Shortest path problem- topological sorting.

Unit-4
Sorting : Sorting Techniques- Sorting by Insertion: Straight Insertion sort- List insertion sort- Binary insertion sort- Sorting by selection: Straight selection sort- Heap Sort- Sorting by Exchange- Bubble Sort- Shell Sort-Quick Sort-External Sorts: Merging Order Files-Merging Unorder Files- Sorting Process.

Unit-5
Searching: List Searches- Sequential Search- Variations on Sequential Searches- Binary Search- Analyzing Search Algorithm- Hashed List Searches- Basic Concepts- Hashing Methods- Collision Resolutions- Open Addressing- Linked List Collision Resolution- Bucket Hashing.

 Text Books:

1. “Classic Data Structures”, Second Edition by Debasis Samanta, PHI.
2. “Data Structures A Pseudo code Approach with C”, Second Edition by  
     Richard F. Gilberg, Behrouz A. Forouzan, Cengage Learning.

Reference Books:

1. Fundamentals of Data Structures in C – Horowitz, Sahni, Anderson-
    Freed, Universities Press, Second Edition.
2. Schaum’ Outlines – Data Structures – Seymour Lipschutz – McGrawHill-
    Revised First Edition.
3. Data structures and Algorithms using C++, Ananda Rao Akepogu and
    Radhika Raju Palagiri, Pearson Education.





JAWAHARLAL NEHRU TECHNOLOGICAL UNIVERSITY ANANTAPUR
ANANTHAPURAMU
B.Tech. I - II Sem. (CSE)                                                                 P        C
                                                                                                           4      2
(15A05202) DATA STRUCTURES LAB
(Common to CSE & IT Branches of Engineering)
Course Objectives:
  • To strengthen the ability to identify and apply the suitable data structure for the given real  world problem

Course Outcomes: 
  • Apply problem solving techniques to find solutions to problems
  • Able to identify the appropriate data structure for a given problem or application.
  • Improve logical skills

List of Experiments/Tasks

1.   Write a program to sort the elements of an array using sorting by exchange.
2.   Write a program to sort the elements of an array using Selection Sort.
3.   Write a program to implement heap sort.
4.   Write a program to perform Linear Search on the elements of a given array.
5.   Write a program to perform Binary Search on the elements of a given array.
6.   Write a program to convert infix expression to postfix expression and evaluate postfix expression.
7.   Write a program to implement stack, queue, circular queue using arrays and linked lists.
8.   Write a program to perform the operations creation, insertion, deletion, and traversing a singly linked list.
9.   Write a program to perform the operations creation, insertion, deletion, and traversing a Doubly linked list.
10. Write a program to remove duplicates from ordered and unordered
      arrays.
11.Write a program to sort numbers using insertion sort.
12.Write a program to implement quick sort using non-recursive and recursive approaches. Use randomized element as partitioning element.
13.Write a program to search a word in a given file and display all its positions.
14.Write a program for tic-tac-toe game.
15.Write a program to perform operations creation, insertion, deletion and traversing on a binary search tree.
16.Write a program to implement depth first search and breadth first search on graphs.
17.Write a program to perform different operations on Red Black trees.
18. Write a program to implement external sorting.
19.Write a program to perform different operations of B Tree.

Note:
  1. Instructors are advised to conduct the lab in LINUX/UNIX environment
  2. The above list consists of only sample programs. Instructors may choose other programs to illustrate certain concepts, wherever is necessary. Programs should be there on all the concepts studied in Theory. Instructors are advised to change atleast 25% of the programs every year until the next syllabus revision.

References:

1.   Fundamentals of Data Structures in C”, Horowitz, Sahni, Anderson-freed, Second Edition, Universities Press.
2.      Data structures and Algorithms using C++, Ananda Rao Akepogu and Radhika Raju Palagiri, Pearson Education.




SYLLABUS CSE:2016-2017