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

Dstl notes for byech, Exercises of Discrete Mathematics

Zjndhxbd jxbddbnd ndjjdhddhsb jxjxbdndjjd jdjdjdhgd jsbd sh bs due own shsbw sj

Typology: Exercises

2022/2023

Uploaded on 02/24/2023

sagar-singh-4
sagar-singh-4 🇮🇳

1 document

1 / 14

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
DR. A.P.J. ABDUL KALAM TECHNICAL UNIVERSITY, UTTAR
PRADESH, LUCKNOW
Evaluation Scheme & Syllabus
For
B.Tech. 2nd Year
Computer Science and Engineering (Artificial Intelligence)
Computer Science and Engineering(Artificial Intelligence & Machine
Learning)
Computer Science and Engineering (Data Science)
Computer Science and Engineering (Internet Of Things)
On
AICTE Model Curriculum
(Effective from the Session: 2021-22)
DR. A.P.J. ABDUL KALAM TECHNICAL UNIVERSITY LUCKNOW
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe

Partial preview of the text

Download Dstl notes for byech and more Exercises Discrete Mathematics in PDF only on Docsity!

DR. A.P.J. ABDUL KALAM TECHNICAL UNIVERSITY , UTTAR

PRADESH, LUCKNOW

Evaluation Scheme & Syllabus

For

B.Tech. 2

nd

Year

Computer Science and Engineering (Artificial Intelligence)

Computer Science and Engineering(Artificial Intelligence & Machine

Learning)

Computer Science and Engineering (Data Science)

Computer Science and Engineering (Internet Of Things)

On

AICTE Model Curriculum

(Effective from the Session: 20 21 -2 2 )

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

B.TECH

( CSAI/CSML/CSDS/CSIOT)

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

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.

(CSAI/CSML/CSDS/CSIOT)

(COMPUTER SCIENCE AND ENGINEERING)

THIRD SEMESTER (DETAILED SYLLABUS)

DATA STRUCTURE (KCS301)

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 implementatio removal of recursion. n and 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) 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.

II

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.

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

Trees: Basic terminology used with Tree, Binary Trees, Binary Tree Representation: Array Representation and Pointer(Linked List) Representation, Binary Search Tree, Strictly Binary Tree ,Complete Binary Tree. A Extended Binary Trees, Tree Traversal algorithms: Inorder, Preorder and Postorder, Constructing Binary Tree from given Tree Traversal, Operation of Insertation , Deletion, Searching & Modification of data in Binary Search. Threaded Binary trees, Traversing Threaded Binary trees. Huffman coding using Binary Tree. Concept & Basic Operations for AVL Tree , B Tree & Binary Heaps

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 (KCS303)

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-0- 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 (KCS351)

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 (KCS352)

  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 (KCS353)

Programming Language/Tool Used: C and Mapple

  1. Write a program in C to create two sets and perform the Union operation on sets.
  2. Write a program in C to create two sets and perform the Intersectison operation on sets.
  3. Write a program in C to create two sets and perform the Difference operation on sets.
  4. Write a program in C to create two sets and perform the Symmetric Difference operation.
  5. Write a program in C to perform the Power Set operation on a set.
  6. Write a program in C to Display the Boolean Truth Table for AND, OR , NOT.
  7. Write a C Program to find Cartesian Product of two sets
  8. Write a program in C for minimum cost spanning tree.
  9. Write a program in C for finding shortest path in a Graph

B.TECH. (COMPUTER SCIENCE AND ENGINEERING)

FOURTH SEMESTER (DETAILED SYLLABUS)

Operating systems (KCS401)

Course Outcome ( CO) Bloom’s Knowledge Level (KL) At the end of course , the student will be able to understand

CO 1 Understand the structure and functions of OS^ K1, K 2 CO 2 Learn about Processes, Threads and Scheduling algorithms. K1, K 2 CO 3 Understand the principles of concurrency and Deadlocks^ K 2 CO 4 Learn various memory management scheme^ K 2 CO 5 Study I/O management and File systems.^ K2,K 4 DETAILED SYLLABUS 3-0- Unit Topic Proposed Lecture

I

Introduction : Operating system and functions, Classification of Operating systems- Batch, Interactive, Time sharing, Real Time System, Multiprocessor Systems, Multiuser Systems, Multiprocess Systems, Multithreaded Systems, Operating System Structure- Layered structure, System Components, Operating System services, Reentrant Kernels, Monolithic and Microkernel Systems.

II

Concurrent Processes: Process Concept, Principle of Concurrency, Producer / Consumer Problem, Mutual Exclusion, Critical Section Problem, Dekker’s solution, Peterson’s solution, Semaphores, Test and Set operation; Classical Problem in Concurrency- Dining Philosopher Problem, Sleeping Barber Problem; Inter Process Communication models and Schemes, Process generation.

III

CPU Scheduling: Scheduling Concepts, Performance Criteria, Process States, Process Transition Diagram, Schedulers, Process Control Block (PCB), Process address space, Process identification information, Threads and their management, Scheduling Algorithms, Multiprocessor Scheduling. Deadlock: System model, Deadlock characterization, Prevention, Avoidance and detection, Recovery from deadlock.

IV

Memory Management: Basic bare machine, Resident monitor, Multiprogramming with fixed partitions, Multiprogramming with variable partitions, Protection schemes, Paging, Segmentation, Paged segmentation, Virtual memory concepts, Demand paging, Performance of demand paging, Page replacement algorithms, Thrashing, Cache memory organization, Locality of reference.

V

I/O Management and Disk Scheduling: I/O devices, and I/O subsystems, I/O buffering, Disk storage and disk scheduling, RAID. File System: File concept, File organization and access mechanism, File directories, and File sharing, File system implementation issues, File system protection and security.

Text books:

  1. Silberschatz, Galvin and Gagne, “Operating Systems Concepts”, Wiley
  2. Sibsankar Halder and Alex A Aravind, “Operating Systems”, Pearson Education
  3. Harvey M Dietel, “ An Introduction to Operating System”, Pearson Education
  4. D M Dhamdhere, “Operating Systems : A Concept based Approach”, 2nd Edition,
  5. TMH 5. William Stallings, “Operating Systems: Internals and Design Principles ”, 6th Edition, Pearson Education

Theory of Automata and Formal Languages (KCS402) 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

Operating Systems Lab (KCS451)

  1. Study of hardware and software requirements of different operating systems (UNIX,LINUX,WINDOWS XP, WINDOWS7/
  2. Execute various UNIX system calls for i. Process management ii. File management iii. Input/output Systems calls
  3. Implement CPU Scheduling Policies: i. SJF ii. Priority iii. FCFS iv. Multi-level Queue
  4. Implement file storage allocation technique: i. Contiguous(using array) ii. Linked –list(using linked-list) iii. Indirect allocation (indexing)
  5. Implementation of contiguous allocation techniques: i. Worst-Fit ii. Best- Fit iii. First- Fit
  6. Calculation of external and internal fragmentation i. Free space list of blocks from system ii. List process file from the system
  7. Implementation of compaction for the continually changing memory layout and calculate total movement of data
  8. Implementation of resource allocation graph RAG)
  9. Implementation of Banker‟s algorithm
  10. Conversion of resource allocation graph (RAG) to wait for graph (WFG) for each type of method used for storing graph.
  11. Implement the solution for Bounded Buffer (producer-consumer)problem using inter process communication techniques-Semaphores
  12. Implement the solutions for Readers-Writers problem using inter process communication technique -Semaphore

Microprocessor Lab (KCS452)

  1. Write a program using 8085 Microprocessor for Decimal, Hexadecimal addition and subtraction of two Numbers.
  2. Write a program using 8085 Microprocessor for addition and subtraction of two BCD numbers.
  3. To perform multiplication and division of two 8 bit numbers using 8085.
  4. To find the largest and smallest number in an array of data using 8085 instruction set.
  5. To write a program to arrange an array of data in ascending and descending order.
  6. To convert given Hexadecimal number into its equivalent ASCII number and vice versa using 8085 instruction set.
  7. To write a program to initiate 8251 and to check the transmission and reception of character.
  8. To interface 8253 programmable interval timer to 8085 and verify the operation of 8253 in six different modes.
  9. To interface DAC with 8085 to demonstrate the generation of square, saw tooth and triangular wave.
  10. Serial communication between two 8085 through RS-232 C port.

Python Language Programming Lab (KCS453)

  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.