Docsity
Docsity

Prepare for your exams
Prepare for your exams

Study with the several resources on Docsity


Earn points to download
Earn points to download

Earn points by helping other students or get them with a premium plan


Guidelines and tips
Guidelines and tips

Computer sience nad engg, Exercises of Computer Science

Pd cse enggingering hjfhbgifufkvjcig

Typology: Exercises

2018/2019

Uploaded on 08/10/2019

dkashu5143
dkashu5143 🇮🇳

1 document

1 / 13

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
DR. A.P.J. ABDUL KALAM TECHNICAL UNIVERSITY LUCKNOW
Evaluation Scheme & Syllabus
For
B.Tech. 2nd Year
(Computer Science and Engineering/CS/CSIT)
On
AICTE MODEL CURRICULUM
(Effective from the Session: 2019-20)
DR. A.P.J. ABDUL KALAM TECHNICAL UNIVERSITY LUCKNOW
pf3
pf4
pf5
pf8
pf9
pfa
pfd

Partial preview of the text

Download Computer sience nad engg and more Exercises Computer Science in PDF only on Docsity!

DR. A.P.J. ABDUL KALAM TECHNICAL UNIVERSITY LUCKNOW

Evaluation Scheme & Syllabus

For

B.Tech. 2

nd

Year

(Computer Science and Engineering/CS/CSIT)

On

AICTE MODEL CURRICULUM

(Effective from the Session: 2019-20)

DR. A.P.J. ABDUL KALAM TECHNICAL UNIVERSITY LUCKNOW

B.TECH (COMPUTER SCIENCE AND ENGINEERING)

SEMESTER- III

Sl. No. Subject Codes Subject Periods Evaluation Scheme End Semester (^) Total Credit L T P CT TA Total PS TE PE 1

KOE031-

KAS

Engineering Science Course/Maths IV

KAS301/

KVE 301

Technical Communication/Universal Human values

3 KCS301 Data Structure 3 1 0 30 20 50 100 150 4 4 KCS Computer Organization and Architecture

5 KCS

Discrete Structures & Theory of Logic

6 KCS351 Data Structures Using C Lab 0 0 2 25 25 50 1 7 KCS352 Computer Organization Lab 0 0 2 25 25 50 1 8 KCS Discrete Structure & Logic Lab

9 KCS

Mini Project or Internship Assessment*

KNC301/

KNC

Computer System Security/Python Programming

MOOCs (Essential for Hons. Degree) Total 950 22 *The Mini Project or internship (3-4 weeks) conducted during summer break after II semester and will be assessed during III semester.

B.TECH. (COMPUTER SCIENCE AND ENGINEERING)

THIRD SEMESTER (DETAILED SYLLABUS)

DATA STRUCTURE

Course Outcome ( CO) Bloom’s Knowledge Level (KL) At the end of course , the student will be able to understand CO 1 Describe how arrays, linked lists, stacks, queues, trees, and graphs are represented in memory, used by the algorithms and their common applications.

K1, K 2

CO 2 Discuss the computational efficiency of the sorting and searching algorithms.^ K 2 CO 3 Implementation of Trees and Graphs and perform various operations on these data structure.^ K 3 CO 4 Understanding the concept of recursion, application of recursion and its implementation and removal of recursion.

K 4

CO 5

Identify the alternative implementations of data structures with respect to its performance to solve a real world problem.

K5, K 6

DETAILED SYLLABUS 3-1-

Unit Topic Proposed Lecture I Introduction: Basic Terminology, Elementary Data Organization, Built in Data Types in C. Algorithm, Efficiency of an Algorithm, Time and Space Complexity, Asymptotic notations: Big Oh, Big Theta and Big Omega, Time-Space trade-off. Abstract Data Types (ADT)

II

Arrays: Definition, Single and Multidimensional Arrays, Representation of Arrays: Row Major Order, and Column Major Order, Derivation of Index Formulae for 1-D,2-D,3-D and n-D Array Application of arrays, Sparse Matrices and their representations. Linked lists: Array Implementation and Pointer Implementation of Singly Linked Lists, Doubly Linked List, Circularly Linked List, Operations on a Linked List. Insertion, Deletion, Traversal, Polynomial Representation and Addition Subtraction & Multiplications of Single variable & Two variables Polynomial.

III

Searching: Concept of Searching, Sequential search, Index Sequential Search, Binary Search. Concept of Hashing & Collision resolution Techniques used in Hashing. Sorting: Insertion Sort, Selection, Bubble Sort, Quick Sort, Merge Sort, Heap Sort and Radix Sort.

IV

Graphs: Terminology used with Graph, Data Structure for Graph Representations: Adjacency Matrices, Adjacency List, Adjacency. Graph Traversal: Depth First Search and Breadth First Search, Connected Component, Spanning Trees, Minimum Cost Spanning Trees: Prims and Kruskal algorithm. Transitive Closure and Shortest Path algorithm: Warshal Algorithm and Dijikstra Algorithm.

V

Stacks: Abstract Data Type, Primitive Stack operations: Push & Pop, Array and Linked Implementation of Stack in C, Application of stack: Prefix and Postfix Expressions, Evaluation of postfix expression, Iteration and Recursion- Principles of recursion, Tail recursion, Removal of recursion Problem solving using iteration and recursion with examples such as binary search, Fibonacci numbers, and Hanoi towers. Tradeoffs between iteration and recursion. Queues: Operations on Queue: Create, Add, Delete, Full and Empty, Circular queues, Array and linked implementation of queues in C, Dequeue and Priority Queue.

Text books:

  1. Aaron M. Tenenbaum, Yedidyah Langsam and Moshe J. Augenstein, “Data Structures Using C and C++”, PHI Learning Private Limited, Delhi India
  2. Horowitz and Sahani, “Fundamentals of Data Structures”, Galgotia Publications Pvt Ltd Delhi India.
  3. Lipschutz, “Data Structures” Schaum’s Outline Series, Tata McGraw-hill Education (India) Pvt. Ltd.
  4. Thareja, “Data Structure Using C” Oxford Higher Education.
  5. AK Sharma, “Data Structure Using C”, Pearson Education India.
  6. Rajesh K. Shukla, “Data Structure Using C and C++” Wiley Dreamtech Publication.
  7. Michael T. Goodrich, Roberto Tamassia, David M. Mount “Data Structures and Algorithms in C++”, Wiley India.
  8. P. S. Deshpandey, “C and Data structure”, Wiley Dreamtech Publication.
  9. R. Kruse etal, “Data Structures and Program Design in C”, Pearson Education.
  10. Berztiss, AT: Data structures, Theory and Practice, Academic Press.
  11. Jean Paul Trembley and Paul G. Sorenson, “An Introduction to Data Structures with applications”, McGraw Hill.
  12. Adam Drozdek “Data Structures and Algorithm in Java”, Cengage Learning

Discrete Structures & Theory of Logic Course Outcome ( CO) Bloom’s Knowledge Level (KL) At the end of course , the student will be able to understand CO 1 Write an argument using logical notation and determine if the argument is or is not valid.^ K3, K 4 CO 2 Understand the basic principles of sets and operations in sets.^ K1, K 2 CO 3 Demonstrate an understanding of relations and functions and be able to determine their properties.

K 3

CO 4 Demonstrate different traversal methods for trees and graphs.^ K1, K 4 CO 5 Model problems in Computer Science using graphs and trees.^ K2, K 6 DETAILED SYLLABUS 3-1- Unit Topic Proposed Lecture I Set Theory: Introduction, Combination of sets, Multisets, Ordered pairs. Proofs of some general identities on sets. Relations: Definition, Operations on relations, Properties of relations, Composite Relations, Equality of relations, Recursive definition of relation, Order of relations. Functions: Definition, Classification of functions, Operations on functions, Recursively defined functions. Growth of Functions. Natural Numbers: Introduction, Mathematical Induction, Variants of Induction, Induction with Nonzero Base cases. Proof Methods, Proof by counter – example, Proof by contradiction.

II Algebraic^ Structures:^ Definition,^ Groups,^ Subgroups^ and^ order,^ Cyclic^ Groups,^ Cosets, Lagrange's theorem, Normal Subgroups, Permutation and Symmetric groups, Group Homomorphisms, Definition and elementary properties of Rings and Fields.

III

Lattices: Definition, Properties of lattices – Bounded, Complemented, Modular and Complete lattice. Boolean Algebra: Introduction, Axioms and Theorems of Boolean algebra, Algebraic manipulation of Boolean expressions. Simplification of Boolean Functions, Karnaugh maps, Logic gates, Digital circuits and Boolean algebra.

IV

Propositional Logic: Proposition, well formed formula, Truth tables, Tautology, Satisfiability, Contradiction, Algebra of proposition, Theory of Inference. (8) Predicate Logic: First order predicate, well formed formula of predicate, quantifiers, Inference theory of predicate logic.

V

Trees: Definition, Binary tree, Binary tree traversal, Binary search tree. Graphs: Definition and terminology, Representation of graphs, Multigraphs, Bipartite graphs, Planar graphs, Isomorphism and Homeomorphism of graphs, Euler and Hamiltonian paths, Graph coloring, Recurrence Relation & Generating function: Recursive definition of functions, Recursive algorithms, Method of solving recurrences. Combinatorics: Introduction, Counting Techniques, Pigeonhole Principle

Text books: 1.Koshy, Discrete Structures, Elsevier Pub. 2008 Kenneth H. Rosen, Discrete Mathematics and Its Applications, 6/e, McGraw-Hill, 2006.

  1. B. Kolman, R.C. Busby, and S.C. Ross, Discrete Mathematical Structures, 5/e, Prentice Hall, 2004. 3.E.R. Scheinerman, Mathematics: A Discrete Introduction, Brooks/Cole, 2000. 4.R.P. Grimaldi, Discrete and Combinatorial Mathematics, 5/e, Addison Wesley, 2004 5.Liptschutz, Seymour, “ Discrete Mathematics”, McGraw Hill. 6.Trembley, J.P & R. Manohar, “Discrete Mathematical Structure with Application to Computer Science”, McGraw Hill.
  2. Deo, 7.Narsingh, “Graph Theory With application to Engineering and Computer.Science.”, PHI.
  3. Krishnamurthy, V., “Combinatorics Theory & Application”, East-West Press Pvt. Ltd., New Delhi

Data Structure using C Lab

Write C Programs to illustrate the concept of the following:

  1. Sorting Algorithms-Non-Recursive.
  2. Sorting Algorithms-Recursive.
  3. Searching Algorithm.
  4. Implementation of Stack using Array.
  5. Implementation of Queue using Array.
  6. Implementation of Circular Queue using Array.
  7. Implementation of Stack using Linked List.
  8. Implementation of Queue using Linked List.
  9. Implementation of Circular Queue using Linked List.
  10. Implementation of Tree Structures, Binary Tree, Tree Traversal, Binary Search Tree, Insertion and Deletion in BST.
  11. Graph Implementation, BFS, DFS, Minimum cost spanning tree, shortest path algorithm.

Computer Organization Lab

  1. Implementing HALF ADDER, FULL ADDER using basic logic gates
  2. Implementing Binary -to -Gray, Gray -to -Binary code conversions.
  3. Implementing 3-8 line DECODER.
  4. Implementing 4x1 and 8x1 MULTIPLEXERS.
  5. Verify the excitation tables of various FLIP-FLOPS.
  6. Design of an 8-bit Input/ Output system with four 8-bit Internal Registers.
  7. Design of an 8-bit ARITHMETIC LOGIC UNIT.
  8. Design the data path of a computer from its register transfer language description.
  9. Design the control unit of a computer using either hardwiring or microprogramming based on its register transfer language description.
  10. Implement a simple instruction set computer with a control unit and a data path.

Discrete Structure & Logic Lab

  1. Introduction to digital electronics lab- nomenclature of digital ICs, specifications, study of the data sheet, Concept of Vcc and ground, verification of the truth tables of logic gates using TTL ICs.
  2. Implementation of the given Boolean function using logic gates in both SOP and POS forms.
  3. Verification of state tables of RS, JK, T and D flip-flops using NAND & NOR gates.
  4. Implementation and verification of Decoder using logic gates.
  5. Implementation and verification of Encoder using logic gates.
  6. Implementation of 4:1 multiplexer using logic gates.
  7. Implementation of 1:4 demultiplexer using logic gates.
  8. Implementation of 4-bit parallel adder using 7483 IC.
  9. Design, and verify the 4-bit synchronous counter.
  10. Design, and verify the 4-bit asynchronous counter.

Theory of Automata and Formal Languages Course Outcome ( CO) Bloom’s Knowledge Level (KL) At the end of course , the student will be able to understand CO 1 Analyse and design finite automata, pushdown automata, Turing machines, formal languages, and grammars

K4, K 6

CO 2 Analyse and design, Turing machines, formal languages, and grammars^ K4, K 6 CO 3 Demonstrate the understanding of key notions, such as algorithm, computability, decidability, and complexity through problem solving

K1, K 5

CO 4 Prove the basic results of the Theory of Computation.^ K2,K 3 CO 5 State and explain the relevance of the Church-Turing thesis.^ K1, K 5 DETAILED SYLLABUS 3-1- Unit Topic Proposed Lecture I Basic Concepts and Automata Theory: Introduction to Theory of Computation- Automata, Computability and Complexity, Alphabet, Symbol, String, Formal Languages, Deterministic Finite Automaton (DFA)- Definition, Representation, Acceptability of a String and Language, Non Deterministic Finite Automaton (NFA), Equivalence of DFA and NFA, NFA with ε-Transition, Equivalence of NFA’s with and without ε-Transition, Finite Automata with output- Moore Machine, Mealy Machine, Equivalence of Moore and Mealy Machine, Minimization of Finite Automata, Myhill-Nerode Theorem, Simulation of DFA and NFA

II

Regular Expressions and Languages: Regular Expressions, Transition Graph, Kleen’s Theorem, Finite Automata and Regular Expression- Arden’s theorem, Algebraic Method Using Arden’s Theorem, Regular and Non-Regular Languages- Closure properties of Regular Languages, Pigeonhole Principle, Pumping Lemma, Application of Pumping Lemma, Decidability- Decision properties, Finite Automata and Regular Languages, Regular Languages and Computers, Simulation of Transition Graph and Regular language.

III

Regular and Non-Regular Grammars: Context Free Grammar(CFG)-Definition, Derivations, Languages, Derivation Trees and Ambiguity, Regular Grammars-Right Linear and Left Linear grammars, Conversion of FA into CFG and Regular grammar into FA, Simplification of CFG, Normal Forms- Chomsky Normal Form(CNF), Greibach Normal Form (GNF), Chomsky Hierarchy, Programming problems based on the properties of CFGs.

IV

Push Down Automata and Properties of Context Free Languages: Nondeterministic Pushdown Automata (NPDA)- Definition, Moves, A Language Accepted by NPDA, Deterministic Pushdown Automata(DPDA) and Deterministic Context free Languages(DCFL), Pushdown Automata for Context Free Languages, Context Free grammars for Pushdown Automata, Two stack Pushdown Automata, Pumping Lemma for CFL, Closure properties of CFL, Decision Problems of CFL, Programming problems based on the properties of CFLs.

V

Turing Machines and Recursive Function Theory : Basic Turing Machine Model, Representation of Turing Machines, Language Acceptability of Turing Machines, Techniques for Turing Machine Construction, Modifications of Turing Machine, Turing Machine as Computer of Integer Functions, Universal Turing machine, Linear Bounded Automata, Church’s Thesis, Recursive and Recursively Enumerable language, Halting Problem, Post’s Correspondance Problem, Introduction to Recursive Function Theory.

Text books:

  1. Introduction to Automata theory, Languages and Computation, J.E.Hopcraft, R.Motwani, and Ullman. 2nd edition, Pearson Education Asia
  2. Introduction to languages and the theory of computation, J Martin, 3rd Edition, Tata McGraw Hill
  3. Elements and Theory of Computation, C Papadimitrou and C. L. Lewis, PHI
  4. Mathematical Foundation of Computer Science, Y.N.Singh, New Age Internationa

Microprocessor Course Outcome ( CO) Bloom’s Knowledge Level (KL) At the end of course , the student will be able to understand CO 1 Apply a basic concept of digital fundamentals to Microprocessor based personal computer system.

K3, K 4

CO 2 Analyze a detailed s/w & h/w structure of the Microprocessor.^ K2,K 4 CO 3 Illustrate how the different peripherals (8085/8086)^ are interfaced with^ Microprocessor.^ K 3 CO 4 Analyze^ the properties of Microprocessors(8085/8086)^ K 4 CO 5 Evaluate the data transfer information through serial & parallel ports.^ K 5 DETAILED SYLLABUS 3-1- Unit Topic Proposed Lecture I Microprocessor evolution and types, microprocessor architecture and operation of its components, addressing modes, interrupts, data transfer schemes, instruction and data flow, timer and timing diagram, Interfacing devices.

II Pin diagram and internal architecture of 8085 microprocessor, registers, ALU, Control & status, interrupt and machine cycle. Instruction sets. Addressing modes. Instruction formats Instruction Classification: data transfer, arithmetic operations, logical operations, branching operations, machine control and assembler directives.

III

Architecture of 8086 microprocessor: register organization, bus interface unit, execution unit, memory addressing, and memory segmentation. Operating modes. Instruction sets, instruction format, Types of instructions. Interrupts: hardware and software interrupts.

IV

Assembly language programming based on intel 8085/8086. Instructions, data transfer, arithmetic, logic, branch operations, looping, counting, indexing, programming techniques, counters and time delays, stacks and subroutines, conditional call and return instructions

V Peripheral Devices: 8237 DMA Controller, 8255 programmable peripheral interface, 8253/8254programmable timer/counter, 8259 programmable interrupt controller, 8251 USART and RS232C.

Text books:

  1. Gaonkar, Ramesh S , “Microprocessor Architecture, Programming and Applications with
  2. 8085”, Penram International Publishing.
  3. Ray A K , Bhurchandi K M , “Advanced Microprocessors and Peripherals”, TMH
  4. Hall D V ,”Microprocessor Interfacing’, TMH
  5. Liu and, “ Introduction to Microprocessor”, TMH
  6. Brey, Barry B, “INTEL Microprocessors”, PHI
  7. Renu Sigh & B.P. Gibson G A , “ Microcomputer System: The 8086/8088 family’’ ,PHI
  8. Aditya P Mathur Sigh, “Microprocessor, Interfacing and Applications M Rafiqzzaman, “Microprocessors, Theory and Applications
  9. J.L. Antonakos, An Introduction to the Intel Family of Microprocessors, Pearson, 1999

Python Language Programming Lab

  1. To write a python program that takes in command line arguments as input and print the number of arguments.
  2. To write a python program to perform Matrix Multiplication.
  3. To write a python program to compute the GCD of two numbers.
  4. To write a python program to find the most frequent words in a text file.
  5. To write a python program find the square root of a number (Newton’s method).
  6. To write a python program exponentiation (power of a number).
  7. To write a python program find the maximum of a list of numbers.
  8. To write a python program linear search.
  9. To write a python program Binary search.
  10. To write a python program selection sort.
  11. To write a python program Insertion sort.
  12. To write a python program merge sort.
  13. To write a python program first n prime numbers.
  14. To write a python program simulate bouncing ball in Pygame.