Index Ada
Index Ada
Place: __________
Date: __________
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)
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. √ √
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
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).
pg. 8