This course concentrates on the practical implementation of Data Structure using C Environment. This course allows students to understand practically the Logical and physical representation of data, algorithms, complexity and efficiency, data Structure operations, matrix representations, linked lists and their Different variations, string storage representation and manipulation, queues and stacks and their applications, tree structures and their different variations, graphs, sorting techniques and searching techniques.
Laboratories
Data Structure using C Lab
Equipments/Configurations
- Intel Core i3 12th Gen
- 8GB RAM
- 500 GB HDD
- 18.5″ monitor
Software Used
- GNU C
- Dev C++ IDE
- Code Block IDE
- Ubuntu OS
- Windows 10 OS
List of Experiments
Experiment No. 1
Write a C program to perform matrix multiplication using array.
Experiment No. 2
(a) Write a C program to create a stack using an array and perform
(i) push operation (ii) pop operation
(b) Write a C program to create a queue and perform
i) Push ii) pop iii) Traversal
Experiment No. 3
Write a C program that uses Stack operations to perform the following:
i) Converting infix expression into postfix expression ii) Evaluating the postfix expression
Experiment No. 4
Write a C program that uses functions to perform the following operations on Single linked list:
i) Creation ii) Insertion iii) Deletion iv) Traversal in both ways
Experiment No. 5
Write a C program that uses functions to perform the following operations on Double linked list:
i) Creation ii) Insertion iii) Deletion
Experiment No. 6
Write a C program that uses functions to perform the following operations on Binary Tree:
i) Creation ii) Insertion iii) Deletion
Experiment No. 7
Write C programs that use both recursive and non recursive functions to perform the linear search operation for a Key value in a given list of integers.
Experiment No. 8
Write C program that use both recursive and non recursive functions to perform the Binary search operation for a Key value in a given list of integers:
Experiment No. 9
Write a C program that implement Bubble Sort method to sort a given list of integers in descending order.
Experiment No. 10
Write a C program that implement Quick Sort method to sort a given list of integers in ascending order:
Beyond Syllabus:
Experiment No.11
(a) Write a program to sort give n numbers in an ascending order.
(b) Write a program to find out square root of a given number using user defined function in a user define header file.
Experiment No.12
(a) Write a c program to create a list using array and insert a new item in that list.
(b) Write a c program to create a dynamic list using pointer of a given size n and display it.
Experiment No.13
(a) Write a c program which copies one file to another.
(b) Write a c program to reverse the first n characters in a file.
Experiment No.14
- Write a C program that implement Single Source Shortest Path Algorithms.
- Write a C program that implement B-Tree Operations.
Object Oriented Programming Lab
The programming lab is well equipped with all equipments that satisfy the curriculum laboratory. The aims of this course are to provide a solid introduction to programming in C++ and to provide an overview of the principles and constraints that affect the way in which the C++ programming language have been designed and are used.
Equipments/Configurations
- Intel Core i3 12th Gen
- 8GB RAM
- 500 GB HDD
- 18.5″ monitor
Software Used
- GNU C++
- Dev C++ IDE
- Code Block IDE
- Ubuntu OS
- Windows 10 OS
List of Experiments
- Programs on concept of classes and objects.
- Programs using inheritance.
(i) Single inheritance (ii) Multiple inheritance
(iii) Multi level inheritance (iv) Use of virtual base classes
- Programs using static polymorphism.
(i) Function overloading (ii) Ambiguities while dealing with function overloading
- Programs on dynamic polymorphism.
(i) Use of virtual functions (ii) Use of abstract base classes
- Programs on operator overloading.
(i) Operator overloading using member operator functions.
(ii) Operator overloading using non member operator functions.
(iii) Advantages of using non member operator functions.
- Programs on dynamic memory management using new, delete operators
- Programs on copy constructor and usage of assignment operator.
- Programs on exception handling.
- Programs on generic programming using template function and template class.(1 class) Programs on file handling.
Beyond Syllabus:
- Online Examination
- Student Database
- Library System
Database Engineering Lab
The Database Lab is designed to graduate students to the foundations of database systems, focusing on basics such as the relational algebra, data model and transactions using SQL programming. The lab is well organized and equipped with sufficient numbers of systems that satisfy the curriculum requirements. The lab is sufficient to accommodate one system per student for each experiment. Sufficient number of systems is available keeping in mind the comfort ability to conduct each experiment.
Equipments/Configurations
- Intel Core i3 12th Gen
- 8GB RAM
- 500 GB HDD
- 18.5″ monitor
Software Used
- Oracle 10g Express Edition
- Ubuntu OS
- Windows 10 OS
List of Experiments
- Use of SQL syntax: insertion, deletion, join, updation using SQL. (1 class)
- Programs on join statements and SQL queries including where clause. (1 class)
- Programs on procedures and functions. (1 class)
- Programs on database triggers. (1 class)
- Programs on packages. (1 class)
- Programs on data recovery using check point technique. (1 class)
- Concurrency control problem using lock operations. (1 class)
- Programs on ODBC using either VB or VC++. (1 class)
- Programs on JDBC. (1 class)
- Programs on embedded SQL using C / C++ as host language. (1 class)
Beyond Syllabus:
- Data Modeling of Departmental CLUB Activity.
- Data Modeling of Seminar & Project Allotment.
Design and Analysis of Algorithm Lab
The lab is well equipped with all equipments that satisfy the curriculum laboratory. The lab helps the students in designing different algorithms and implementation of some complicated program. The lab helps to implement different real life projects. The lab is sufficient to accommodate all students. The students develop their skill in the analysis and design of programs and do beyond curriculum labs that help them to implement theory into practical knowledge in data structure.
Equipments/Configurations
- Intel Core i3 12th Gen
- 8GB RAM
- 500 GB HDD
- 18.5″ monitor
Software Used
- GNU C/C++
- Code Block IDE
- Dev C++ IDE
- Ubuntu OS
- Windows 10 OS
List of Experiments
- Using a stack of characters, convert an infix string to postfix string.(1 class)
- Implement insertion, deletion, searching of a BST. (1 class)
- (a) Implement binary search and linear search in a program
(b) Implement a heap sort using a max heap.
- (a) Implement DFS/ BFS for a connected graph.
(b) Implement Dijkstra’s shortest path algorithm using BFS.
- (a) Write a program to implement Huffman’s algorithm.
(b) Implement MST using Kruskal/Prim algorithm.
- (a) Write a program on Quick sort algorithm.
(b) Write a program on merge sort algorithm. Take different input instances for both the algorithm and show the running time.
- Implement Strassen’s matrix multiplication algorithm.
- Write down a program to find out a solution for 0 / 1 Knapsack problem.
- Using dynamic programming implement LCS.
- (a) Find out the solution to the N-Queen problem.
(b) Implement back tracking using game trees.
Beyond Syllabus:
- Travelling salesman problem
- Process Scheduling Algorithm
Computer Network Lab
Equipments
- Cabling tools like:
- Crimper
- Cable Tester
- RJ-45 connector
- CAT-5/CAT-6 Ethernet cable
- I/O Box dual( CAT-6)
- 24 port switches
- Router
- Wireless Access points
Software
- NS2
- Packet tracer
- Ubuntu OS
- Windows 10 OS
List of Experiments
Some Network protocol simulation using NetSim, NS2, etc. for
i) Analysing number of transmitting nodes vs. collision count, mean delay for Ethernet LAN .
ii) Analysing bus vs. star-switch with respect to number of collisions (for a fixed number of transmitting nodes) for Ethernet LAN
iii) Analysing performance of token ring with number of nodes vs. response time, mean delay using NetSim.
iv) Comparing the throughput and normalized throughput for token ring and token bus for different transmitting nodes.
v) Comparing the CSMA/CD vs. CSMA/CA protocols (for a fixed number of transmitting nodes). vi) Analysing the difference between unicast and broadcast transmission (for a fixed number of transmitting nodes).
vii) Verification of stop-and-wait protocol.
viii) Verification of Go-back-N protocol.
ix) Verification of Selective repeat protocol.
x) Verification of distance vector routing algorithm.
xi) Verification of link state routing algorithm.
Some programming techniques in socket programming.
Beyond Syllabus:
- Verification of Distance Vector Routing protocal RIPv1 and RIPv2 using packet Tracer.
- Verification of Link State Routing Protocol OSP Using Packet Tracer.
JAVA Programming Lab
Java Programming Laboratory (JPL) is an educational application designed to assist students learn Java programming language. It provides an environment that allows students to develop their programming skills by starting with simple Java code fragments and slowly transitioning to complete Java programs. By applying programming concepts different complicated programs are applied. Once the concepts are clear, a set of exercises given on the concerned topics would help the students to evaluate themselves and their progress of learning.
Equipments/Configurations
- Intel Core i3 12th Gen
- 8GB RAM
- 500 GB HDD
- 18.5″ monitor
Software Used
- Java 8 SDK
- Oracle 10g
- Windows 10 OS
- Ubuntu OS
List of Experiments
Assignment 1
Q1 Write a program to print Hello World
Q2 Write a program to display integer Value
Q3 Write a program to display float Value
Q4 Write a program to find sum of two integers Value
Q5 Write a program to find sum of three float variables
Q6 Write a program to display String Value
Q7. Write a program to find simple interest
Q8. Write a program to find cube of a number
Q9. Write a program to find multiplication of two byte number
Q10. Write a program to show working of print() and println() method.
Assignment 2
Q1 Write a program to find sum of two static variable
Q2 Write a program to instance variable using static method
Q3. Write a program to call static method using non static method
Q4. Write a program to find use multiple class in single program.
Q5. Write a program to check valid roll number of the sections
Q6. Write a program to find greatest number using ternary operator.
Q7. Write a program to print the contents of array
Q8. Write a program to print contents of array using loop
Q9. Write a program to print 10 to 100 numbers
Q10 Write a program to sort 10 numbers using bubble sort.
Assignment 3
Q1. Write a program to print contents of array using for each loop
Q2. Write a program to print greatest and smallest number in 1 d array
Q3. Write a program to print second highest number in array
Q4. Write a program to print sum of array elements
Q5. Write a program to access contents of 2d array using for each loop
Q6. Write a program to set default value to instance variable using constructor
Q7. Write a program to overload constructor to print default value and user’s value
Q8. Write a program to overload area() method to calculate area of rectangle , area of square and area of sphere.
Q9. Write a program to overload perimeter () to get perimeter of rectangle and square
Assignment 4
Q1. Write a program to implement single level inheritance
Q2. Write a program to implement multi level inheritance
Q3. Write a program to create student class and inherit to semester class
Q4. Write a program to access constructor in single level inheritance.
Q5. Write a program to access parameterized constructor using super keyword.
Assignment 5
Q1. Write a program to make user defined package to keep following class. Student, mark, attendance
Q2. Write a program to use inheritance in user defined package
Q3. Write a program to create nested package pack1.pack2 to keep class Student
Q4. Write a program to access contents of user defined package using import statement.
Q5. Write a program to access contents of user defined package using fully qualified path.
Q6. Write a program to access static contents of user defined package using fully qualified path.
Q7. Write a program to access static contents of user defined package using import statement.
Assignment 6
Q1. Write a program to handle number divided by zero
Q2. Write a program to check valid roll number using exception handling code.
Q3. Write a program to check vowel character using exception handling code.
Assignment 7
Q1. Write a program to make two different thread to print number and character.
Q2. Write a program to demonstrate life cycle of thread.
Q3. Write a program to create two different thread using Runnable interface.
Assignment 8
Q1. Write a program to make naming rule for method using interface.
Q2. Write a program to access interface from user defined package
Q3. Write a program to make login window using awt package
Q4. Write a program to make registration page using awt package
Assignment 9
Q1. Write a program to make window with all control buttons using awt package
Q2. Write a program to make gmail registration page using awt package
Q3. Write a program to handle mouse and button event using event package.
Assignment 10
Q1. Write a program to make window with key event handling code.
Q2. Write a program to make applet window.
Q3 Write a program to show working of applet life cycle
Q3. Write a program to make applet window with button event.
Beyond Syllabus:
- Project on Student Information System
- Data Structure Programs with JAVA
Computer Graphics and Multimedia Lab
This course concentrates on the practical implementation of Computer Graphics. This course allows students to understand practically the Logical and physical representation of graphic, and make them familiar with graphics and animation.
Equipments/Configurations
- Intel Core i3 12th Gen
- 8GB RAM
- 500 GB HDD
- 18.5″ monitor
Software Used
- GNU C
- Dev C++ IDE
- Code Block IDE
- Ubuntu OS
- Windows 10 OS
List of Experiments
- Introduction to OpenGL Programming.
- Implementing line drawing algorithms.
- Implementing circle drawing algorithms.
- Implementing ellipse drawing algorithms.
- Implementing Line Clipping Algorithms.
- Implementing Polygon Clipping Algorithms.
- Implementing 2-d Transformations.
- Implementing 3-d Transformations.
- Implementing scan fill, boundary fill algorithms.
- Implementing seed fill, flood fill algorithm.
- Writing program on B-Splines, Bezier Curves
- Writing program on Mandelbrot set & Julia set.
- Writing program on Sierpinski gasket, Koch curve.
- Writing program on Fractal trees & forest.
- Writing program on wire frame model & terrain generation.
- Implementing Ray tracing algorithm.
- Writing program on Animation & Morphing techniques.
Operating System Lab
An operating system (OS) lab helps students to learn to manage computer hardware and software resources. This lab complements the operating systems course. Students will gain practical experience with designing and implementing concepts of operating systems such as system calls, CPU scheduling, process management, memory management, file systems and deadlock handling use C language in Linux environment.
Equipments/Configurations
- Intel Core i3 12th Gen
- 8GB RAM
- 500 GB HDD
- 18.5″ monitor
Software Used
- GNU C/C++
- Ubuntu OS
- Windows 10 OS
List of Experiments
- Basic UNIX Commands.
- UNIX Shell Programming.
- Programs on process creation and synchronization, inter process communication including shared memory, pipes and messages.( Dinning Philosopher problem / Cigarette Smoker problem / Sleeping barber problem)
- Programs on UNIX System calls.
- Simulation of CPU Scheduling Algorithms. (FCFS, RR, SJF, Priority, Multilevel Queuing)
- Simulation of Banker’s Algorithm for Deadlock Avoidance, Prevention
- Program for FIFO, LRU, and OPTIMAL page replacement algorithm.
Beyond Syllabus:
- Implementation of Producer Consumer Problem.
- Implementatin of Dining Philosophers Problem.
Enterprise Web Computing with JAVA Lab
Web Computing Java Programming Laboratory is an educational application designed to assist students learn Advanced Java programming language. It provides an environment that allows students to develop their programming skills by transitioning to complete Java programs. By applying programming concepts different complicated programs are applied.
Equipments/Configurations
- Intel Core i3 12th Gen
- 8GB RAM
- 500 GB HDD
- 18.5″ monitor
Software Used
- TOMCAT
- Java 8 SDK
- Oracle 10g
- Windows 10 OS
- Ubuntu OS
List of Experiments
- HTML & XHTML Programming: basic tags, text formatting tags, creating hyperlinks.
- HTML & XHTML Programming: tables, lists, frames, forms, maps, Creating CSS.
- JavaScript Programming: Data types, loops, functions.
- JavaScript Programming: DOM, arrays, forms, frame, GUI design.
- XML Programming: page creation, making a DTD, Parsing XML files.
- Creating, installation and running a web server (e.g. Apache Tomcat/ GlassFish).
- Creating, Compiling and Running a Servlet. Program (both http & generic servlet).
- Implementing session tracking mechanisms in servlets.
- Generating Dynamic web content using Servlet basing upon request response model.
- DHTML programming: GUI designs.
- Creating a JSF program showing framework based application development.
- Creating, Compiling and Running a JSP Program.
- Implementing Session tracking through JSP Program.
- Access to a database using Servlet/JSP program.
- Creating a simple Java Bean Application programs using BDK. Tools.
- Deploying of beans, implementing entity beans and session beans of EJB.
- Creating manifest file, jar file and Deploying a web application.
- Designing a simple Program using JDBC, beans and JSP implementing MVC Model.
- Creating a RMI Program showing Marshalling and Unmarshalling Processes.
- A Web based Capstone project university management system using JSP and Database.
Software Design using UML Lab
The students are advised to design the different case studies correlating to their Theory paper.
Prerequisite: software engineering and Object Oriented Analysis & Design with UML.
Designing Tools: Rational rose/ Open Source NetBean.
List of Experiments
1. Developing the Building blocks of UML: things, relationships and diagrams.
2. Generating the Following through UML:
a) Class diagram
b) Object diagram
c) Use case diagram
d) Sequence diagram
e) Collaboration diagram
f) Activity diagram
g) Statechart diagram
h) Component diagram
i) Deployment diagram
3. Design the following systems through UML:
a) OnlineBookShop Management System
b) Bank Management System
c) Library Management System
d) University Management System
e) Railway Information System