0% found this document useful (0 votes)
30 views8 pages

Index Ada

This document provides guidelines for a laboratory manual on analysis and design of algorithms. It includes an introduction, preface, outcomes matrix mapping experiments to course outcomes, descriptions of industry relevant skills developed, and guidelines for faculty members.

Uploaded by

RUTVIK F
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
30 views8 pages

Index Ada

This document provides guidelines for a laboratory manual on analysis and design of algorithms. It includes an introduction, preface, outcomes matrix mapping experiments to course outcomes, descriptions of industry relevant skills developed, and guidelines for faculty members.

Uploaded by

RUTVIK F
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 8

A Laboratory Manual for

Analysis and Design of


Algorithms
(3150703)
B.E. Semester 5
(Information Technology)

Lalbhai Dalpatbhai College of Engineering

Directorate of Technical Education, Gandhinagar,


Gujarat
pg. 1
Certificate

This is to certify that Mr./Ms. ___________________________________


________ Enrolment No. _______________ of B.E. Semester _____
Information Technology of this Institute (GTU Code: _____ ) has satisfactorily
completed the Practical / Tutorial work for the subject Analysis and Design of
Algorithms(3150703) for the academic year 2022-23.

Place: __________
Date: __________

Name and Sign of Faculty member Head of the Department

pg. 2
Preface

Main motto of any laboratory/practical/field work is for enhancing required skills as well as
creating ability amongst students to solve real time problem by developing relevant competencies
in psychomotor domain. By keeping in view, GTU has designed competency focused outcome-
based curriculum for engineering degree programs where sufficient weightage is given to
practical work. It shows importance of enhancement of skills amongst the students and it pays
attention to utilize every second of time allotted for practical amongst students, instructors and
faculty members to achieve relevant outcomes by performing the experiments rather than having
merely study type experiments. It is must for effective implementation of competency focused
outcome-based curriculum that every practical is keenly designed to serve as a tool to develop
and enhance relevant competency required by the various industry among every student. These
psychomotor skills are very difficult to develop through traditional chalk and board content
delivery method in the classroom. Accordingly, this lab manual is designed to focus on the
industry defined relevant outcomes, rather than old practice of conducting practical to prove
concept and theory.

By using this lab manual students can go through the relevant theory and procedure in advance
before the actual performance which creates an interest and students can have basic idea prior to
performance. This in turn enhances pre-determined outcomes amongst students. Each experiment
in this manual begins with competency, industry relevant skills, course outcomes as well as
practical outcomes (objectives). The students will also achieve safety and necessary precautions
to be taken while performing practical.

This manual also provides guidelines to faculty members to facilitate student centric lab activities
through each experiment by arranging and managing necessary resources in order that the
students follow the procedures with required safety and necessary precautions to achieve the
outcomes. It also gives an idea that how students will be assessed by providing rubrics.

Algorithms are an integral part of computer science and play a vital role in solving complex
problems efficiently.The goal of this subject is to equip students with the knowledge and skills
required to design and analyze algorithms for various applications. Designing of algorithms is
important before implementation of any program or solving any problem. Analysis and Design
of Algorithms is essential for efficient problem-solving, optimizing resource utilization,
developing new technologies, and gaining a competitive advantage.This lab manual is designed
to help you learn algorithms by doing. Each experiment is structured to provide you with stepby-
step instructions on how to analyze and design a particular algorithmforspecific problem. You
will learn how to analyze various algorithms and decide efficient algorithm in terms of time
complexity. By the end of this lab, you will have a solid understanding of algorithm design and
analysis.

Utmost care has been taken while preparing this lab manual however always there is chances of
improvement. Therefore, we welcome constructive suggestions for improvement and removal of
errors if any.

pg. 3
Analysis and Design of Algorithms (3150703)

Practical – Course Outcome matrix

Course Outcomes (Cos):

1. Analyze the asymptotic performance of algorithms.


2. Derive and solve recurrences describing the performance of divide-and-conquer
algorithms.
3. Find optimal solution by applying various methods.
4. Apply pattern matching algorithms to find particular pattern.
5. Differentiate polynomial and nonpolynomial problems.
6. Explain the major graph algorithms and their analyses. Employ graphs to model
engineering problems, when appropriate.
Sr. CO CO CO CO CO CO
Objective(s) of Experiment 1 2 3 4 5 6
No.
Implement a function for each of following problems and
count the number of steps executed/time taken by each
function on various inputs (100 to 500) and write time
complexity of each function. Also draw a comparative
1. chart of number of input versus steps executed/time
taken. In each of the following function N will be passed √
by user.
1. To calculate sum of 1 to N numbers using loop.
2. To calculate sum of 1 to N numbers using equation.
3. To calculate sum of 1 to N numbers using recursion.
Write user defined functions for the following sorting
methods and compare their performance by steps
executed/time taken for executionon various inputs
(1000 to 5000) ofrandomnature,ascending order and
descending order sorted data.Also draw a comparative √
chart of number of input versus steps executed/time
2. taken for each cases (random, ascending, and √
descending).
1. Selection Sort
2. Bubble Sort
3. Insertion Sort
4. Merge Sort
5. Quick Sort
Implement a function of sequential search and count the
steps executed by function on various inputs (1000 to
5000) for best case, average case and worst case. Also,
3. write time complexity in each case and draw a √
comparative chart of number of input versus steps
executed by sequential search for each case.

pg. 4
Analysis and Design of Algorithms (3150703)
Compare the performance of linear search and binary
4. search for Best case, Average case and Worst case inputs. √ √

Implement functions to print n Fibonacci number using


iteration and recursive method. Compare the
performance of two methods by counting number of
5. √
steps executed on various inputs. Also, draw a √
comparative chart. (Fibonacci series 1, 1, 2, 3, 5, 8…..
Here 8 is the 6th Fibonacci number).
Implement a program for randomized version of quick
sort and compare its performance with the normal
version of quick sort using steps count on various inputs
(1000 to 5000) of random nature, ascending order and
6. descending order sorted data. Also draw a comparative √
chart of number of input versus steps executed/time
taken for each cases (random, ascending, and √
descending).
Implement program to solve problem of making a change
7. √
using dynamic programming.
Implement program of chain matrix multiplication using
8. √
dynamic programming.
Implement program to solve LCS problem using
9. √
dynamic programing.
Implement program to solve Knapsack problem using
10. √
dynamic programming.
Implement program for solution of fractional Knapsack
11. √
problem using greedy design technique.
Implement program for solution of Making Change
12. √
problem using greedy design technique
Implement program for Kruskal's algorithm to find
13. √ √
minimum spanning tree.
Implement program for Prim's algorithm to find
14. √ √
minimum spanning tree.
Implement DFS and BFS graph traversal techniques and
15. √
write its time complexities.
Implement Rabin-Karp string matching algorithm.
16. √
th

pg. 5
Analysis and Design of Algorithms (3150703)
Industry Relevant Skills

The following industry relevant competencies are expected to be developed in the student by
undertaking the practical work of this laboratory.
1. Expertise in algorithm analysis
2. Judge best algorithm among various algorithms
3. Ability to solve complex problems
4. Ability to design efficient algorithm for some problems

Guidelines for Faculty members


1. Teacher should provide the guideline with demonstration of practical to the students with
all features.
2. Teacher shall explain basic concepts/theory related to the experiment to the students before
starting of each practical
3. Involve all the students in performance of each experiment.
4. Teacher is expected to share the skills and competencies to be developed in the students and
ensure that the respective skills and competencies are developed in the students after the
completion of the experimentation.
5. Teachers should give opportunity to students for hands-on experience after the
demonstration.
6. Teacher may provide additional knowledge and skills to the students even though not
covered in the manual but are expected from the students by concerned industry.
7. Give practical assignment and assess the performance of students based on task assigned to
check whether it is as per the instructions or not.
8. Teacher is expected to refer complete curriculum of the course and follow the guidelines
for implementation.

Instructions for Students


1. Students are expected to carefully listen to all the theory classes delivered by the faculty
members and understand the COs, content of the course, teaching and examination scheme,
skill set to be developed etc.
2. Students shall organize the work in the group and make record of all observations.
3. Students shall develop maintenance skill as expected by industries.
4. Student shall attempt to develop related hand-on skills and build confidence.
5. Student shall develop the habits of evolving more ideas, innovations, skills etc. apart from
those included in scope of manual.
6. Student shall refer technical magazines and data books.
7. Student should develop a habit of submitting the experimentation work as per the schedule
and s/he should be well prepared for the same.

Common Safety Instructions


1. Switch on the PC carefully (not to use wet hands)
2. Shutdown the PC properly at the end of your Lab
3. Carefully handle the peripherals (Mouse, Keyboard, Network cable etc).
4. Use Laptop in lab after getting permission from Teacher \

pg. 6
Analysis and Design of Algorithms (3150703)

Index
(Progressive Assessment Sheet)

Sr. No. Objective(s) of Experiment Page Date of Date of Assessme Sign. of Remar
No. perform submiss nt Teacher ks
ance ion Marks with date
Implement a function for each of following
problems and count the number of steps
executed/time taken by each function on
various inputs (100 to 500) and write time
complexity of each function. Also draw a
1. comparative chart of number of input versus
steps executed/time taken. In each of
thefollowing function N will be passed by user.
1. To calculate sum of 1 to N numbers using loop.
2. To calculate sum of 1 to N numbers using equation.
3. To calculate sum of 1 to N numbers using recursion.
Write user defined functions for the following
sorting methods and compare their
performance by steps executed/time taken for
execution on various inputs (1000 to 5000)
ofrandom nature, ascending order and
descending order sorted data.Also draw a
comparative chart of number of input versus
2.
steps executed/time taken for each cases
(random, ascending, and descending).
1.Selection Sort
2.Bubble Sort
3.Insertion Sort
4.Merge Sort
5.Quick Sort
Implement a function of sequential search and
count the steps executed by function on various
inputs (1000 to 5000) for best case, average
case and worst case. Also, write time
3.
complexity in each case and draw a
comparative chart of number of input versus
steps executed by sequential search for each
case.
Compare the performance of linear search and
4. binary search for Best case, Average case and
Worst case inputs.
Implement functions to print nth Fibonacci
number using iteration and recursive method.
5.
Compare the performance of two methods by
counting number of steps executed on various

pg. 7
Analysis and Design of Algorithms (3150703)
inputs. Also, draw a comparative chart.
(Fibonacci series 1, 1, 2, 3, 5, 8….. Here 8 is
the 6th Fibonacci number).
Implement a program for randomized version
of quick sort and compare its performance with
the normal version of quick sort using steps
count on various inputs (1000 to 5000) of
6. random nature, ascending order and descending
order sorted data. Also, draw a comparative
chart of number of input versus steps
executed/time taken for each cases (random,
ascending, and descending).

Implement program to solve problem of making


7.
a change using dynamic programming.
Implement program of chain matrix
8.
multiplication using dynamic programming.
Implement program to solve LCS problem
9.
using dynamic programing.
Implement program to solve Knapsack problem
10.
using dynamic programming.
Implement program for solution of fractional
11. Knapsack problem using greedy design
technique.
Implement program for solution of Making
12. Change problem using greedy design
technique.
Implement program for Kruskal's algorithm to
13.
find minimum spanning tree.
Implement program for Prim's algorithm to find
14.
minimum spanning tree.
Implement DFS and BFS graph traversal
15.
techniques and write its time complexities.
Implement Rabin-Karp string matching
16.
algorithm.
Total

pg. 8

You might also like