<<<<<<< HEAD rgpv syllabus BTech Grading System 3rd Semester Syllabus040919030046-a76f41f9

Rajiv Gandhi Proudyogiki Vishwavidyalaya, Bhopal

Branch- Computer Science & Information Technology-III Semester


ES301

Energy & Environmental Engineering

3L-1T-0P

4 Credits

The objective of this Course is to provide an introduction to energy systems and renewable energy resources, with a scientific examination of the energy field and an emphasis on alternative energy sources and their technology and application.


Module 1: Introduction to Energy Science:

Introduction to energy systems and resources; Introduction to Energy, sustainability & the environment; Overview of energy systems, sources, transformations, efficiency, and storage; Fossil fuels (coal, oil, oil-bearing shale and sands, coal gasification) - past, present & future, Remedies & alternatives for fossil fuels - biomass, wind, solar, nuclear, wave, tidal and hydrogen; Sustainability and environmental trade-offs of different energy systems; possibilities for energy storage or regeneration (Ex. Pumped storage hydro power projects, superconductor-based energy storages, high efficiency batteries)

Module2: Ecosystems


Module 4: Environmental Pollution

Module 5: Social Issues and the Environment

RAJIV GANDHI PROUDYOGIKI VISHWAVIDYALAYA, BHOPAL


New Scheme Based On AICTE Flexible Curricula


Computer Science & Information Technology, III-Semester

CSIT302 Discrete Structure


Objective-This course introduces the applications of discrete mathematics in the field of computer science. It covers sets, logic, proving techniques, combinatorics, functions, relations, Graph theory and algebraic structures. These basic concepts of sets, logic functions and graph theory are applied to Boolean Algebra and logic networks while the advanced concepts of functions and algebraic structures are applied to finite state machines and coding theory.

Course Contents Unit-I

Set Theory, Relation, Function, Theorem Proving Techniques : Set Theory: Definition of sets, countable and uncountable sets, Venn Diagrams, proofs of some general identities on sets Relation: Definition, types of relation, composition of relations, Pictorial representation of relation, Equivalence relation, Partial ordering relation, Job-Scheduling problem Function: Definition, type of functions, one to one, into and onto function, inverse function, composition of functions, recursively defined functions, pigeonhole principle. Theorem proving Techniques: Mathematical induction, Proof by contradiction.

Unit-2


Algebraic Structures: Definition, Properties, types: Semi Groups, Monoid, Groups, Abelian group,properties of groups, Subgroup, cyclic groups, Cosets, factor group, Permutation groups, Normal subgroup, Homomorphism and isomorphism of Groups, example and standard results, Rings and Fields: definition and standard results.


Unit-3


Propositional Logic: Proposition, First order logic, Basic logical operation, truth tables, tautologies, Contradictions, Algebra of Proposition, logical implications, logical equivalence, predicates, Normal Forms, Universal and existential quantifiers. Introduction to finite state machine Finite state machines as models of physical system equivalence machines, Finite state machines as language recognizers

Unit-4


Graph Theory: Introduction and basic terminology of graphs, Planer graphs, Multigraphs and weighted graphs, Isomorphic graphs, Paths, Cycles and connectivity, Shortest path in weighted graph, Introduction to Eulerian paths and circuits, Hamiltonian paths and circuits, Graph coloring, chromatic

number, Isomorphism and Homomorphism of graphs.


Unit-5

Posets, Hasse Diagram and Lattices: Introduction, ordered set, Hasse diagram of partially, ordered set,

isomorphic ordered set, well ordered set, properties of Lattices, bounded and complemented lattices.

Combinatorics: Introduction, Permutation and combination, Binomial Theorem, Multimonial Coefficients Recurrence Relation and Generating Function: Introduction to Recurrence Relation and Recursive algorithms , Linear recurrence relations with constant coefficients, Homogeneous solutions, Particular solutions, Total solutions , Generating functions , Solution by method of generating functions.


Outcome:-After this completion student will be familiar with relational algebra, Functions and graph theory.


References:


  1. C.L.Liu, “Elements of Discrete Mathematics” Tata Mc Graw-Hill Edition.


  2. Trembley, J.P & Manohar; “Discrete Mathematical Structure with Application CS”, McGraw Hill.

  3. Kenneth H. Rosen, “Discrete Mathematics and its applications”, McGraw Hill.


  4. Bisht, “Discrete Mathematics”,Oxford University Press


  5. Biswal,”Discrete Mathematics & Graph Theory”, PHI

    RAJIV GANDHI PROUDYOGIKI VISHWAVIDYALAYA, BHOPAL


    New Scheme Based On AICTE Flexible Curricula


    Computer Science & Information Technology, III-Semester


    CSIT303 Data Structure

    Course objectives

    The main objectives of this course are:

    1. To introduce the concepts of linear, non-linear data structures , the operations performed on them and the applications of various data structures.

    2. To introduce various algorithms of searching and sorting.

    3. To understand the basic concepts of stacks, queues, linked lists, trees and graphs

    4. To enable students to write algorithms for solving various problems using data structures.


Unit 1: Introduction Data, data type, data object. Types of data structure – primitive &n non- primitive , linear & non-linear. Operations on data structures – traversing, searching , inserting , deleting. Complexity analysis – worst case, best case, average case. Time – space trade off , algorithm efficiency, asymptotic notations – big oh , omega , theta.

Unit 2: Arrays & Structure Introduction , declaration of arrays , operations on arrays – inserting , deleting , merging of two arrays , 1 dimensional & 2 dimensional arrays, row & column major representation , address calculation in array , storing values in arrays , evaluation of polynomial – addition & representation. Searching & sorting – Introduction , sequential search, binary search , Fibonacci search , indexed sequential search, hashed search. Types of sorting with general concepts – bubble, heap , insertion , selection, quick , heap , shell , bucket , radix and merge sort.

Unit 3: Stacks & Queues Basic concept of stacks & queues, array representation of stacks, operation on stacks – Push , Pop , Create , getTop , empty , linked representation of stack , multiple stack. Application of stack – Conversion: infix , prefix , postfix and evaluation of arithmetic expression. Linked representation of queue, operations on queue – insertion & deletion. Types of queue with functions – circular , deque , priority queue. Applications of queues – Job scheduling , Josephus problem.

Unit 4: Linked List Introduction – basic terminology, memory allocation & deallocation for linked list. Linked list variants – head pointer , head node , types linked list – linear & circular linked list. Doubly linked list , creation of doubly list, deletion of node from doubly linked list, insertion of a node from doubly linked list, traversal of doubly linked list. Circular linked list – singly circular linked list , circular linked list with header node , doubly circular linked list. Applications of linked list – polynomial representation & garbage collection.


Unit 5: Trees Basic terminology – general tree , representation of general tree, types of trees, binary tree- realization and properties , traversal in binary trees – inorder , preorder , postorder , applications of trees. Graph- Basic Terminologies and representations, Graph search and traversal algorithms.

Course Outcomes

On completion of the course:

  1. For a given search problem (linear search and binary search) student will be able to implement it.

  2. For a given problem of stacks, queues and link lists, students will be able to implement it and analyze the same to determine the time and computation complexity

  3. Students will be able to write an algorithm for selection sort, insertion sort, quick sort, merge sort, heap sort, bubble sort and compare their performance

  4. Students will be able to implement tree, graph search and traversal algorithms


References :

  1. Varsha H. Patil “Data Structure Using C++” Oxford.

  2. Rajesh K. Shukla “Data Structures Using C & C++” Wiley India.

  3. Reema Thareja “ Data Structure Using C ” Oxford.

  4. Aho, Hopcroft, Ullman, “Data Structures and Algorithms”, Pearson Education.

  5. Kushwaha and Mishra “Data Structure: A programming Approach with C”, PHI Learning.

  6. A. K Sharma “Data Structure Using C” Pearson.

  7. Ellis Horowitz, Sartaj Sahni, “Fundamentals of Data Structures”, Computer Science Press


List of Experiments

  1. Write a program to search an element in the array using Linear and Binary Search.

  2. Write a program to perform the following operation in Matrix:

    1. Addition 2. Subtraction 3. Multiplication 4. Transpose

  3. Write a program to perform the following operation on strings using string functions:

    1. Addition 2. Copying 3. Reverse 4. Length of String

  4. Write program for implementing the following sorting methods to arrange a list of integers in ascending order:

    1. Quick sort b) Selection sort c) Insertion sort d) Merge sort

  5. Write a program that uses stack operations to convert a given infix expression into its postfix equivalent.

  6. Write a program to merge two sorted array into one sorted array.

  7. Write a program to implement stack using array and linked list.

  8. Write a program to implement queue and circular queue using array.

  9. Write a program to insert an element in the beginning and end of singly linked list.

  10. Write a program to insert an element at any position in singly and doubly linked list.

  11. Insert and delete a node at any position in doubly linked list.

  12. Write a program of Tower of Hanoi.

  13. Write a program that uses functions to perform the following:

    1. Create a binary search tree of integers.

    2. Traverse the above Binary search tree non recursively in in order.

RAJIV GANDHI PROUDYOGIKI VISHWAVIDYALAYA, BHOPAL


New Scheme Based On AICTE Flexible Curricula


Computer Science & Information Technology, III-Semester

CSIT304 Digital Circuits & Systems


Unit 1: Review of number systems and number base conversions. Binary codes, Boolean algebra, Boolean functions, Logic gates. Simplification of Boolean functions, Karnaugh map methods, SOP-POS simplification, NAND-NOR implementation.

Unit 2: Combinational Logic: Half adder, Half subtractor, Full adder, Full subtractor, look- ahead carry generator,BCD adder, Series and parallel addition, Multiplexer – demultiplexer, encoder- decoder, arithmetic circuits, ALU

Unit 3 : Sequential logic: flip flops, D,T, S-R, J-K Master- Slave, racing condition, Edge & Level triggered circuits, Shift registers, Asynchronous and synchronous counters, their types and state diagrams. Semiconductor memories, Introduction to digital ICs 2716, 2732 etc. & their address decoding. Modern trends in semiconductor memories such as DRAM, FLASH RAM etc. Designing with ROM and PLA.

Unit 4 : Introduction to A/D & D/A convertors & their types, sample and hold circuits, Voltage to Frequency & Frequency to Voltage conversion. Multivibrators :Bistable, Monostable, Astable, Schmitt trigger, IC 555 & Its applications. TTL, PMOS, CMOS and NMOS logic. Interfacing between TTL to MOS.

Unit 5 : Introduction to Digital Communication: Nyquist sampling theorem, time division multiplexing, PCM, quantization error, introduction to BPSK & BFSK modulation schemes. Shannon’s theorem for channel capacity.


References:


  1. Morris Mano, Digital Circuits & Logic Design, PHI

  2. Gothman, Digital Electronics, PHI

  3. Tocci, Digital Electronics, PHI

  4. Mavino& Leach, Digital Principles & Applications, PHI

  5. R P Jain, “Modern Digital Electronics”, Tata McGraw-Hill publishing company Ltd.

  6. Simon Haykin, Introductionto Analog& Digital Communication, Wiley.

  7. Lathi B.P., Modern analog& digital communication , Oxford University.

  8. Taub and schilling, Digital Integrated electronics.


List of Experiments:

  1. To study and verify the truth tables of various Logic gates

  2. To verify the properties of NAND and NOR gates as Universal Building Blocks.

  3. Simplification and implementation of a Boolean function

  4. Implementation of basic Boolean arithmetic logic circuits such as Half-adder, Half- subtractor, Full adder and Full subtractor

  5. Conversion from Binary to Gray and Gray to Binary code

  6. To construct a binary multiplier using combinational logic and to verify with the truth table

  7. To verify 2-bit Magnitude comparator for all possible conditions

  8. Generation of various logical functions using 8-to-1 multiplexer

  9. Construction of a 4-bit ripple counter and study of its operation

  10. Operation of IC-555 Timer as Monostable, Astable and Bistable multivibrators

  11. To characterize binary ladder type digital to analog (D/A) and analog to digital (A/D) convertor

  12. Comparison of various Logic families.

  13. Design and implementation of various types of flip-flops using JK flip-flop

  14. To study natural sampling of continuous time waveforms using different sampling rates

  15. To study Pulse-Code modulation with Time-division multiplexing (PCM-TDM)

  16. To study generation and detection of BPSK and QPSK waveforms

RAJIV GANDHI PROUDYOGIKI VISHWAVIDYALAYA, BHOPAL


New Scheme Based On AICTE Flexible Curricula


Computer Science & Information Technology, III-Semester CSIT305 Object Oriented Programming & Methodology


Course Objectives

  1. The objective of this course is to understand the advantage of object oriented programming over procedure oriented programming.

  2. To help students to understand the key features of Object Oriented Programming and Methodology like objects, methods, instance, message passing, encapsulation, polymorphism, data hiding, abstract data and inheritance.

  3. To develop understanding of pointers and memory management.

  4. To be able to develop understanding of file input/output and templates


Unit I- Introduction: Object oriented programming, Introduction, Application, characteristics, difference between object oriented and procedure programming, Comparison of C and C++, Cout, Cin, Data Type, Type Conversion, Control Statement, Loops, Arrays and string arrays fundamentals, Function, Returning values from functions, Reference arguments, Overloaded function, Inline function, Default arguments, Returning by reference.


Unit II- Object and Classes: Implementation of class and object in C++, access modifiers, object as datatype, constructor, destructor, Object as function arguments, default copy constructor, parameterized constructor, returning object from function, Structures and classes, Classes objects and memory, static class data, Arrays of object, Arrays as class Member Data, The standard C++ String class, Run time and Compile time polymorphism.


Unit III- Operator overloading and Inheritance: Overloading unary operators, Overloading binary operators, data conversion, pitfalls of operators overloading, Concept of inheritance, Derived class and base class, access modifiers, types of inheritance, Derived class constructors, member function, public and private inheritance.


Unit IV- Pointer and Virtual Function: Addresses and pointers, the address-of operator & pointer and arrays, Pointer and Function pointer, Memory management: New and Delete, pointers to objects, debugging pointers, Virtual Function, friend function, Static function, friend class, Assignment and copy initialization, this pointer, dynamic type information.


Unit V-Streams and Files: Streams classes, Stream Errors, Disk File I/O with streams, file pointers, error handling in file I/O with member function, overloading the extraction and insertion operators, memory as a stream object, command line arguments, printer output, Function templates, Class templates Exceptions, Containers, exception handling.

Course Outcomes

On the completion of this course students will be able to:

  1. Recognize attributes and methods for given objects.

  2. Define data types and also deal with operations applied for data structures.

  3. Implement algorithms and complex problems.


Reference Books:


  1. E. Balaguruswami, ”Object Oriented Programming in C++”, TMH.

  2. Robert Lafore, “Object Oriented Programming in C++”, Pearson.

  3. M.T. Somashekare, D.S. Guru, “ Object-Oriented Programming with C++”, PHI.

  4. Herbert Shildt, “The Complete Reference C++”, Tata McGraw Hill publication.


List of Experiments:


  1. Write a program to find out the largest number using function.

  2. Write a program to find the area of circle, rectangle and triangle using function overloading.

  3. Write a program to implement complex numbers using operator overloading and type conversion.

  4. Write a program using class and object to print bio-data of the students.

  5. Write a program which defines a class with constructor and destructor which will count number of object created and destroyed.

  6. Write a program to implement single and multiple inheritances taking student as the sample base class.

  7. Write a program to add two private data members using friend function.

  8. Write a program using dynamic memory allocation to perform 2x2 matrix addition and subtraction.

  9. Write a program to create a stack using virtual function.

  10. Write a program that store five student records in a file.

  11. Write a program to get IP address of the system.

  12. Write a program to shutdown the system on windows operating system.

RAJIV GANDHI PROUDYOGIKI VISHWAVIDYALAYA, BHOPAL


New Scheme Based On AICTE Flexible Curricula


Computer Science & Information Technology, III-Semester


CSIT306 (Java Programming Lab)

Course Objectives:

  1. Understand fundamentals of programming such as variables, conditional and iterative execution, methods, etc.

  2. Understand fundamentals of object-oriented programming in Java and be familiar of the important concepts like class, inheritance and multithreading, AWT and JDBC.

  3. Students will able to use the Java SDK environment to create, debug and run simple Java programs.


Unit I-Overview of Java, Installation, First Simple Program, Compilation process , Java Keywords , Identifiers , Literals, Comments, Data Types, Variables, Dynamic initialization, type conversion and casting, Operators, Control Statements.


Unit II-Declaring Objects, Introducing Methods, Constructors, this Keyword, Garbage Collection, finalize Method, Overloading Methods, Overloading Constructors, Using Objects as Parameters, Inheritance, Creating a Multilevel Hierarchy, Packages and Interfaces, Exception Handling, Multithreaded


Unit III-The Applet Class: Applet Basics, The Applet Class, Applet Architecture, Applet Initialization and Termination , Simple Applet Display Methods, Simple Banner Applet, Using the Status Window, The HTML APPLET Tag, Passing Parameters to Applets, Improving the Banner Applet.


Unit IV-Introducing the AWT: Working with Windows, Graphics, and Text, AWT Classes, Window Fundamentals, Component, Container, Panel, Frame, Working with Frame Windows, Handling Events in a Frame Window, AWT Controls, Layout Managers, and Menus, Adding and Removing Controls, Grid Layout, Border Layout, introduction to swing and servlet.


Unit V-Event Handling, Two Event Handling Mechanisms, The Delegation Event Model, Events, Event Sources, Event Listeners, Event Classes, The Mouse Event Class and others, JDBC: JDBCODBC bridge, the connectivity model, the driver manager, navigating the result set object contents, the JDBC exceptional classes, connecting to remote database.


Course Outcomes:

On the completion of this course students will be able to understand:

  1. The concepts of Java programming

  2. The basic terminology used in computer programming and write, compile and debug programs in JAVA language.

  3. The different data types, decision structures, loops, functions to design Java programs.

  4. Develop program using the java collection API as well as the java standard class library.

  5. Develop Java applets

Reference Books:

  1. E. Balagurusamy, “Programming with Java A Primer”, McGrawHill.

  2. Sharanam Shah, “Core Java 8 for Beginners”, Shroff Publisher.

  3. Naughton & Schildt, “The Complete Reference Java 2”, Tata McGraw Hill.

  4. Horstmann & Cornell, “Core Java 2” (Vol I & II ), Pearson.


List of Experiments:


  1. Write a program that accepts two numbers from the user and print their sum.

  2. Write a program to calculate addition of two number using prototyping of methods.

  3. Program to demonstrate function overloading for calculation of average.

  4. Program to demonstrating overloaded constructor for calculating box volume.

  5. Program to show the detail of students using concept of inheritance.

  6. Program to demonstrate package concept.

  7. Program to demonstrate implementation of an interface which contains two methods declaration square and cube.

  8. Program to demonstrate exception handling in case of division by zero error.

  9. Program to demonstrate multithreading.

  10. Program to demonstrate JDBC concept using create a GUI based application for student information.

  11. Program to display “Hello World” in web browser using applet.

  12. Program to add user controls to applets.

  13. Write a program to create an application using concept of swing.

  14. Program to demonstrate student registration functionality using servlets with session management.

======= rgpv syllabus BTech Grading System 3rd Semester Syllabus040919030046-a76f41f9

Rajiv Gandhi Proudyogiki Vishwavidyalaya, Bhopal

Branch- Computer Science & Information Technology-III Semester


ES301

Energy & Environmental Engineering

3L-1T-0P

4 Credits

The objective of this Course is to provide an introduction to energy systems and renewable energy resources, with a scientific examination of the energy field and an emphasis on alternative energy sources and their technology and application.


Module 1: Introduction to Energy Science:

Introduction to energy systems and resources; Introduction to Energy, sustainability & the environment; Overview of energy systems, sources, transformations, efficiency, and storage; Fossil fuels (coal, oil, oil-bearing shale and sands, coal gasification) - past, present & future, Remedies & alternatives for fossil fuels - biomass, wind, solar, nuclear, wave, tidal and hydrogen; Sustainability and environmental trade-offs of different energy systems; possibilities for energy storage or regeneration (Ex. Pumped storage hydro power projects, superconductor-based energy storages, high efficiency batteries)

Module2: Ecosystems


Module 4: Environmental Pollution

Module 5: Social Issues and the Environment

RAJIV GANDHI PROUDYOGIKI VISHWAVIDYALAYA, BHOPAL


New Scheme Based On AICTE Flexible Curricula


Computer Science & Information Technology, III-Semester

CSIT302 Discrete Structure


Objective-This course introduces the applications of discrete mathematics in the field of computer science. It covers sets, logic, proving techniques, combinatorics, functions, relations, Graph theory and algebraic structures. These basic concepts of sets, logic functions and graph theory are applied to Boolean Algebra and logic networks while the advanced concepts of functions and algebraic structures are applied to finite state machines and coding theory.

Course Contents Unit-I

Set Theory, Relation, Function, Theorem Proving Techniques : Set Theory: Definition of sets, countable and uncountable sets, Venn Diagrams, proofs of some general identities on sets Relation: Definition, types of relation, composition of relations, Pictorial representation of relation, Equivalence relation, Partial ordering relation, Job-Scheduling problem Function: Definition, type of functions, one to one, into and onto function, inverse function, composition of functions, recursively defined functions, pigeonhole principle. Theorem proving Techniques: Mathematical induction, Proof by contradiction.

Unit-2


Algebraic Structures: Definition, Properties, types: Semi Groups, Monoid, Groups, Abelian group,properties of groups, Subgroup, cyclic groups, Cosets, factor group, Permutation groups, Normal subgroup, Homomorphism and isomorphism of Groups, example and standard results, Rings and Fields: definition and standard results.


Unit-3


Propositional Logic: Proposition, First order logic, Basic logical operation, truth tables, tautologies, Contradictions, Algebra of Proposition, logical implications, logical equivalence, predicates, Normal Forms, Universal and existential quantifiers. Introduction to finite state machine Finite state machines as models of physical system equivalence machines, Finite state machines as language recognizers

Unit-4


Graph Theory: Introduction and basic terminology of graphs, Planer graphs, Multigraphs and weighted graphs, Isomorphic graphs, Paths, Cycles and connectivity, Shortest path in weighted graph, Introduction to Eulerian paths and circuits, Hamiltonian paths and circuits, Graph coloring, chromatic

number, Isomorphism and Homomorphism of graphs.


Unit-5

Posets, Hasse Diagram and Lattices: Introduction, ordered set, Hasse diagram of partially, ordered set,

isomorphic ordered set, well ordered set, properties of Lattices, bounded and complemented lattices.

Combinatorics: Introduction, Permutation and combination, Binomial Theorem, Multimonial Coefficients Recurrence Relation and Generating Function: Introduction to Recurrence Relation and Recursive algorithms , Linear recurrence relations with constant coefficients, Homogeneous solutions, Particular solutions, Total solutions , Generating functions , Solution by method of generating functions.


Outcome:-After this completion student will be familiar with relational algebra, Functions and graph theory.


References:


  1. C.L.Liu, “Elements of Discrete Mathematics” Tata Mc Graw-Hill Edition.


  2. Trembley, J.P & Manohar; “Discrete Mathematical Structure with Application CS”, McGraw Hill.

  3. Kenneth H. Rosen, “Discrete Mathematics and its applications”, McGraw Hill.


  4. Bisht, “Discrete Mathematics”,Oxford University Press


  5. Biswal,”Discrete Mathematics & Graph Theory”, PHI

    RAJIV GANDHI PROUDYOGIKI VISHWAVIDYALAYA, BHOPAL


    New Scheme Based On AICTE Flexible Curricula


    Computer Science & Information Technology, III-Semester


    CSIT303 Data Structure

    Course objectives

    The main objectives of this course are:

    1. To introduce the concepts of linear, non-linear data structures , the operations performed on them and the applications of various data structures.

    2. To introduce various algorithms of searching and sorting.

    3. To understand the basic concepts of stacks, queues, linked lists, trees and graphs

    4. To enable students to write algorithms for solving various problems using data structures.


Unit 1: Introduction Data, data type, data object. Types of data structure – primitive &n non- primitive , linear & non-linear. Operations on data structures – traversing, searching , inserting , deleting. Complexity analysis – worst case, best case, average case. Time – space trade off , algorithm efficiency, asymptotic notations – big oh , omega , theta.

Unit 2: Arrays & Structure Introduction , declaration of arrays , operations on arrays – inserting , deleting , merging of two arrays , 1 dimensional & 2 dimensional arrays, row & column major representation , address calculation in array , storing values in arrays , evaluation of polynomial – addition & representation. Searching & sorting – Introduction , sequential search, binary search , Fibonacci search , indexed sequential search, hashed search. Types of sorting with general concepts – bubble, heap , insertion , selection, quick , heap , shell , bucket , radix and merge sort.

Unit 3: Stacks & Queues Basic concept of stacks & queues, array representation of stacks, operation on stacks – Push , Pop , Create , getTop , empty , linked representation of stack , multiple stack. Application of stack – Conversion: infix , prefix , postfix and evaluation of arithmetic expression. Linked representation of queue, operations on queue – insertion & deletion. Types of queue with functions – circular , deque , priority queue. Applications of queues – Job scheduling , Josephus problem.

Unit 4: Linked List Introduction – basic terminology, memory allocation & deallocation for linked list. Linked list variants – head pointer , head node , types linked list – linear & circular linked list. Doubly linked list , creation of doubly list, deletion of node from doubly linked list, insertion of a node from doubly linked list, traversal of doubly linked list. Circular linked list – singly circular linked list , circular linked list with header node , doubly circular linked list. Applications of linked list – polynomial representation & garbage collection.


Unit 5: Trees Basic terminology – general tree , representation of general tree, types of trees, binary tree- realization and properties , traversal in binary trees – inorder , preorder , postorder , applications of trees. Graph- Basic Terminologies and representations, Graph search and traversal algorithms.

Course Outcomes

On completion of the course:

  1. For a given search problem (linear search and binary search) student will be able to implement it.

  2. For a given problem of stacks, queues and link lists, students will be able to implement it and analyze the same to determine the time and computation complexity

  3. Students will be able to write an algorithm for selection sort, insertion sort, quick sort, merge sort, heap sort, bubble sort and compare their performance

  4. Students will be able to implement tree, graph search and traversal algorithms


References :

  1. Varsha H. Patil “Data Structure Using C++” Oxford.

  2. Rajesh K. Shukla “Data Structures Using C & C++” Wiley India.

  3. Reema Thareja “ Data Structure Using C ” Oxford.

  4. Aho, Hopcroft, Ullman, “Data Structures and Algorithms”, Pearson Education.

  5. Kushwaha and Mishra “Data Structure: A programming Approach with C”, PHI Learning.

  6. A. K Sharma “Data Structure Using C” Pearson.

  7. Ellis Horowitz, Sartaj Sahni, “Fundamentals of Data Structures”, Computer Science Press


List of Experiments

  1. Write a program to search an element in the array using Linear and Binary Search.

  2. Write a program to perform the following operation in Matrix:

    1. Addition 2. Subtraction 3. Multiplication 4. Transpose

  3. Write a program to perform the following operation on strings using string functions:

    1. Addition 2. Copying 3. Reverse 4. Length of String

  4. Write program for implementing the following sorting methods to arrange a list of integers in ascending order:

    1. Quick sort b) Selection sort c) Insertion sort d) Merge sort

  5. Write a program that uses stack operations to convert a given infix expression into its postfix equivalent.

  6. Write a program to merge two sorted array into one sorted array.

  7. Write a program to implement stack using array and linked list.

  8. Write a program to implement queue and circular queue using array.

  9. Write a program to insert an element in the beginning and end of singly linked list.

  10. Write a program to insert an element at any position in singly and doubly linked list.

  11. Insert and delete a node at any position in doubly linked list.

  12. Write a program of Tower of Hanoi.

  13. Write a program that uses functions to perform the following:

    1. Create a binary search tree of integers.

    2. Traverse the above Binary search tree non recursively in in order.

RAJIV GANDHI PROUDYOGIKI VISHWAVIDYALAYA, BHOPAL


New Scheme Based On AICTE Flexible Curricula


Computer Science & Information Technology, III-Semester

CSIT304 Digital Circuits & Systems


Unit 1: Review of number systems and number base conversions. Binary codes, Boolean algebra, Boolean functions, Logic gates. Simplification of Boolean functions, Karnaugh map methods, SOP-POS simplification, NAND-NOR implementation.

Unit 2: Combinational Logic: Half adder, Half subtractor, Full adder, Full subtractor, look- ahead carry generator,BCD adder, Series and parallel addition, Multiplexer – demultiplexer, encoder- decoder, arithmetic circuits, ALU

Unit 3 : Sequential logic: flip flops, D,T, S-R, J-K Master- Slave, racing condition, Edge & Level triggered circuits, Shift registers, Asynchronous and synchronous counters, their types and state diagrams. Semiconductor memories, Introduction to digital ICs 2716, 2732 etc. & their address decoding. Modern trends in semiconductor memories such as DRAM, FLASH RAM etc. Designing with ROM and PLA.

Unit 4 : Introduction to A/D & D/A convertors & their types, sample and hold circuits, Voltage to Frequency & Frequency to Voltage conversion. Multivibrators :Bistable, Monostable, Astable, Schmitt trigger, IC 555 & Its applications. TTL, PMOS, CMOS and NMOS logic. Interfacing between TTL to MOS.

Unit 5 : Introduction to Digital Communication: Nyquist sampling theorem, time division multiplexing, PCM, quantization error, introduction to BPSK & BFSK modulation schemes. Shannon’s theorem for channel capacity.


References:


  1. Morris Mano, Digital Circuits & Logic Design, PHI

  2. Gothman, Digital Electronics, PHI

  3. Tocci, Digital Electronics, PHI

  4. Mavino& Leach, Digital Principles & Applications, PHI

  5. R P Jain, “Modern Digital Electronics”, Tata McGraw-Hill publishing company Ltd.

  6. Simon Haykin, Introductionto Analog& Digital Communication, Wiley.

  7. Lathi B.P., Modern analog& digital communication , Oxford University.

  8. Taub and schilling, Digital Integrated electronics.


List of Experiments:

  1. To study and verify the truth tables of various Logic gates

  2. To verify the properties of NAND and NOR gates as Universal Building Blocks.

  3. Simplification and implementation of a Boolean function

  4. Implementation of basic Boolean arithmetic logic circuits such as Half-adder, Half- subtractor, Full adder and Full subtractor

  5. Conversion from Binary to Gray and Gray to Binary code

  6. To construct a binary multiplier using combinational logic and to verify with the truth table

  7. To verify 2-bit Magnitude comparator for all possible conditions

  8. Generation of various logical functions using 8-to-1 multiplexer

  9. Construction of a 4-bit ripple counter and study of its operation

  10. Operation of IC-555 Timer as Monostable, Astable and Bistable multivibrators

  11. To characterize binary ladder type digital to analog (D/A) and analog to digital (A/D) convertor

  12. Comparison of various Logic families.

  13. Design and implementation of various types of flip-flops using JK flip-flop

  14. To study natural sampling of continuous time waveforms using different sampling rates

  15. To study Pulse-Code modulation with Time-division multiplexing (PCM-TDM)

  16. To study generation and detection of BPSK and QPSK waveforms

RAJIV GANDHI PROUDYOGIKI VISHWAVIDYALAYA, BHOPAL


New Scheme Based On AICTE Flexible Curricula


Computer Science & Information Technology, III-Semester CSIT305 Object Oriented Programming & Methodology


Course Objectives

  1. The objective of this course is to understand the advantage of object oriented programming over procedure oriented programming.

  2. To help students to understand the key features of Object Oriented Programming and Methodology like objects, methods, instance, message passing, encapsulation, polymorphism, data hiding, abstract data and inheritance.

  3. To develop understanding of pointers and memory management.

  4. To be able to develop understanding of file input/output and templates


Unit I- Introduction: Object oriented programming, Introduction, Application, characteristics, difference between object oriented and procedure programming, Comparison of C and C++, Cout, Cin, Data Type, Type Conversion, Control Statement, Loops, Arrays and string arrays fundamentals, Function, Returning values from functions, Reference arguments, Overloaded function, Inline function, Default arguments, Returning by reference.


Unit II- Object and Classes: Implementation of class and object in C++, access modifiers, object as datatype, constructor, destructor, Object as function arguments, default copy constructor, parameterized constructor, returning object from function, Structures and classes, Classes objects and memory, static class data, Arrays of object, Arrays as class Member Data, The standard C++ String class, Run time and Compile time polymorphism.


Unit III- Operator overloading and Inheritance: Overloading unary operators, Overloading binary operators, data conversion, pitfalls of operators overloading, Concept of inheritance, Derived class and base class, access modifiers, types of inheritance, Derived class constructors, member function, public and private inheritance.


Unit IV- Pointer and Virtual Function: Addresses and pointers, the address-of operator & pointer and arrays, Pointer and Function pointer, Memory management: New and Delete, pointers to objects, debugging pointers, Virtual Function, friend function, Static function, friend class, Assignment and copy initialization, this pointer, dynamic type information.


Unit V-Streams and Files: Streams classes, Stream Errors, Disk File I/O with streams, file pointers, error handling in file I/O with member function, overloading the extraction and insertion operators, memory as a stream object, command line arguments, printer output, Function templates, Class templates Exceptions, Containers, exception handling.

Course Outcomes

On the completion of this course students will be able to:

  1. Recognize attributes and methods for given objects.

  2. Define data types and also deal with operations applied for data structures.

  3. Implement algorithms and complex problems.


Reference Books:


  1. E. Balaguruswami, ”Object Oriented Programming in C++”, TMH.

  2. Robert Lafore, “Object Oriented Programming in C++”, Pearson.

  3. M.T. Somashekare, D.S. Guru, “ Object-Oriented Programming with C++”, PHI.

  4. Herbert Shildt, “The Complete Reference C++”, Tata McGraw Hill publication.


List of Experiments:


  1. Write a program to find out the largest number using function.

  2. Write a program to find the area of circle, rectangle and triangle using function overloading.

  3. Write a program to implement complex numbers using operator overloading and type conversion.

  4. Write a program using class and object to print bio-data of the students.

  5. Write a program which defines a class with constructor and destructor which will count number of object created and destroyed.

  6. Write a program to implement single and multiple inheritances taking student as the sample base class.

  7. Write a program to add two private data members using friend function.

  8. Write a program using dynamic memory allocation to perform 2x2 matrix addition and subtraction.

  9. Write a program to create a stack using virtual function.

  10. Write a program that store five student records in a file.

  11. Write a program to get IP address of the system.

  12. Write a program to shutdown the system on windows operating system.

RAJIV GANDHI PROUDYOGIKI VISHWAVIDYALAYA, BHOPAL


New Scheme Based On AICTE Flexible Curricula


Computer Science & Information Technology, III-Semester


CSIT306 (Java Programming Lab)

Course Objectives:

  1. Understand fundamentals of programming such as variables, conditional and iterative execution, methods, etc.

  2. Understand fundamentals of object-oriented programming in Java and be familiar of the important concepts like class, inheritance and multithreading, AWT and JDBC.

  3. Students will able to use the Java SDK environment to create, debug and run simple Java programs.


Unit I-Overview of Java, Installation, First Simple Program, Compilation process , Java Keywords , Identifiers , Literals, Comments, Data Types, Variables, Dynamic initialization, type conversion and casting, Operators, Control Statements.


Unit II-Declaring Objects, Introducing Methods, Constructors, this Keyword, Garbage Collection, finalize Method, Overloading Methods, Overloading Constructors, Using Objects as Parameters, Inheritance, Creating a Multilevel Hierarchy, Packages and Interfaces, Exception Handling, Multithreaded


Unit III-The Applet Class: Applet Basics, The Applet Class, Applet Architecture, Applet Initialization and Termination , Simple Applet Display Methods, Simple Banner Applet, Using the Status Window, The HTML APPLET Tag, Passing Parameters to Applets, Improving the Banner Applet.


Unit IV-Introducing the AWT: Working with Windows, Graphics, and Text, AWT Classes, Window Fundamentals, Component, Container, Panel, Frame, Working with Frame Windows, Handling Events in a Frame Window, AWT Controls, Layout Managers, and Menus, Adding and Removing Controls, Grid Layout, Border Layout, introduction to swing and servlet.


Unit V-Event Handling, Two Event Handling Mechanisms, The Delegation Event Model, Events, Event Sources, Event Listeners, Event Classes, The Mouse Event Class and others, JDBC: JDBCODBC bridge, the connectivity model, the driver manager, navigating the result set object contents, the JDBC exceptional classes, connecting to remote database.


Course Outcomes:

On the completion of this course students will be able to understand:

  1. The concepts of Java programming

  2. The basic terminology used in computer programming and write, compile and debug programs in JAVA language.

  3. The different data types, decision structures, loops, functions to design Java programs.

  4. Develop program using the java collection API as well as the java standard class library.

  5. Develop Java applets

Reference Books:

  1. E. Balagurusamy, “Programming with Java A Primer”, McGrawHill.

  2. Sharanam Shah, “Core Java 8 for Beginners”, Shroff Publisher.

  3. Naughton & Schildt, “The Complete Reference Java 2”, Tata McGraw Hill.

  4. Horstmann & Cornell, “Core Java 2” (Vol I & II ), Pearson.


List of Experiments:


  1. Write a program that accepts two numbers from the user and print their sum.

  2. Write a program to calculate addition of two number using prototyping of methods.

  3. Program to demonstrate function overloading for calculation of average.

  4. Program to demonstrating overloaded constructor for calculating box volume.

  5. Program to show the detail of students using concept of inheritance.

  6. Program to demonstrate package concept.

  7. Program to demonstrate implementation of an interface which contains two methods declaration square and cube.

  8. Program to demonstrate exception handling in case of division by zero error.

  9. Program to demonstrate multithreading.

  10. Program to demonstrate JDBC concept using create a GUI based application for student information.

  11. Program to display “Hello World” in web browser using applet.

  12. Program to add user controls to applets.

  13. Write a program to create an application using concept of swing.

  14. Program to demonstrate student registration functionality using servlets with session management.

>>>>>>> html