Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Download as pdf or txt
Download as pdf or txt
You are on page 1of 9

Course Policy Design and Analysis of Algorithm

Mukesh Patel School of Technology Management and Engineering


Computer Engineering Department

Course Policy

Program/Branch/Semester : B.Tech/Computer/ Sem IV


MBA Tech /Computer/ Sem IV
BTI /Computer/Sem VIII

Academic Year : 2023-24

Course Code & Name : Design and Analysis of Algorithms


(BTech (BTCO05009) and MBATech (702CO0C010))

Credit Details : L T P C
2 0 2 3

Course Coordinator : Dr. Preeti Gupta


Faculty
preeti.gupta@nmims.edu
Contact No. & Email :
Office : STME Navi Mumbai
Student Contact hours : Saturday 10:00 am to 12:00 pm
Other Course Faculty : Prof. Supriya Agrawal, Prof. Sofia Francis, Dr. Dilip
members teaching this Motwani, Dr Venkatadri M, Prof. Srikanth P,
course Dr. N. S. Choubey, Prof. Sachin Bhandari, Prof. Variza
Negi, Prof. Ankur Ratmele , Dr. Poulami Das
Course Faculty: Prof. Supriya Agrawal Course Faculty: Prof. Sofia Francis
Contact No. & Email: 8879232416 Contact No. & Email: 9819808008
supriya.agrawal@nmims.edu sofia.francis@nmims.edu
Office: MPSTME, Mumbai Campus Office: MPSTME, Mumbai Campus
Contact Hours : Contact Hours :
Course Faculty: Dr. Dilip Motwani (VF) Course Faculty: Dr Venkatadri M
Contact No. & Email: 9820804727 Contact No. & Email: 9634396189
damotwani@gmail.com venkatadri.marriboyina@nmims.edu
Office: MPSTME, Mumbai Campus Office: MPSTME, Shirpur Campus
Contact Hours : Contact Hours :
Course Faculty : Prof. Srikanth P Course Faculty: Dr. N. S. Choubey
Contact No. & Email: 9557654451 Contact No. & Email: 9284299654
srikanth.p@nmims.edu nitin.choubey@nmims.edu
Office: MPSTME, Shirpur Campus Office: MPSTME, Shirpur Campus
Contact Hours : Contact Hours :

Course Faculty : Prof.Sachin Bhandari Course Faculty: Prof. Variza Negi


Contact No. & Email: 9584120066 Contact No. & Email: 7977784745
sachin.bhandari@nmims.edu variza.negi@nmims.edu
Office: MPSTME, Shirpur Campus Office: STME, Navi Mumbai Campus
Contact Hours : Contact Hours :

Page 1 of 9
Course Policy Design and Analysis of Algorithm

Course Faculty: Prof. Ankur Ratmele Course Faculty: Dr. Poulami Das
Contact No. & Email: 9754991503 Contact No. & Email: 9038634182
ankur.ratmele@nmims.edu poulami.das@nmims.edu
Office: STME, Indore Campus Office: MPSTME, Mumbai Campus
Contact Hours : Contact Hours :

Course link : Portal Link


MS Teams Link

1 Introduction to the Course

1.1 Importance of the course


The course covers the important aspects of algorithm design which include creating an efficient
algorithm to solve a problem. Students will learn about various design paradigms such as divide
and conquer, greedy, dynamic programming, backtracking etc. Algorithm analysis is
an important part of computational complexity theory, which provides theoretical estimation
for the required resources of an algorithm to solve a specific computational problem. This
knowledge is an important component in creating applications in various domains such
Artificial Intelligence, Operating systems, Computer graphics etc.
1.2 Objective of the Course
The principal objective of this course is to develop an understanding of the major algorithm
design paradigm, and provide the ability to analyze the asymptotic performance of algorithms,
and synthesize efficient algorithms in common engineering problems.

1.3 Prerequisite
Students are expected to have knowledge of basics of programming for problem solving using
C/Python programming language along with basic knowledge of Discrete Structures and
understanding of Data Structures.

2 Course Outcomes (CO) and mapping with Program Outcomes (PO)

2.1 Course Outcomes


After successful completion of the course, a student will be able to-

1. Comprehend the space-time complexity of algorithms.


2. Evaluate divide and conquer approach and greedy algorithms.
3. Analyze dynamic programming, Backtracking design paradigm and string-matching
algorithms.
4. Synthesize various algorithms in different programming environments.

Page 2 of 9
Course Policy Design and Analysis of Algorithm

2.2 CO-PO Mapping

PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12
CO1
CO2
CO3
CO4
Green- medium mapping Blue- high mapping
3 Syllabus, Pre-class activity and References

3.1 Teaching and evaluation scheme

Teaching Scheme Evaluation Scheme


Internal Continuous
Lecture
Practical Tutorial Assessment (ICA) Theory
Hours
Hours Hours Credit As per Institute Norms (3 Hrs,
per
per week per week (50 Marks) 100 Marks)
week
Marks Scaled to 50 Marks Scaled to
2 2 0 3
50

3.2 Syllabus

Unit Description Duration


1 Introduction: What is Algorithms, types of Algorithms: greedy, divide 04
& conquer, backtracking, etc. Analysis of Algorithms complexity.
Introduction of P, NP, NP Complete and NP hard problems.
2 Analyzing the Algorithms: Time and Space Complexity of Algorithms, 06
Asymptotic notations, Asymptotic order, Properties of big oh, big omega,
and big theta, Classifying functions by their asymptotic growth rates, Best
case, average Case and worst case analysis. Master’s Theorem and
Substitution Method, Recursion Tree Method.
3 Divide and Conquer Technique: The general method, control
abstraction for divide and conquer, Finding the maximum and minimum: 04
straightforward and recursive algorithm, Merge sort, Quick sort.
4 Greedy Technique: The general method, control abstraction, Optimal
storage on tapes, Knapsack problem, Job sequencing with deadlines, 05
Optimal merge patterns, Huffman code
5 Dynamic Programming: The general method, principle of optimality,
Multistage graphs, Single source shortest path - Bellman Ford algorithm, 08
0/1- knapsack, Matrix Chain multiplication, Longest Common
Subsequence problem.
6 Backtracking: The general method, The n–queens problem, Sum of
subsets, Graph coloring 03
Total hours 30

Page 3 of 9
Course Policy Design and Analysis of Algorithm

3.3 Pre-class activity


Outline for preliminary study to be done for each unit will be provided prior to commencement
of each unit. Preliminary study material (video links, presentation, notes etc) will be made
available on the student portal. Students are expected to go through this material before
attending the upcoming session. It is expected that the students put in at least two hours of self-
study for every one hour of classroom teaching. During the lecture session, more emphasis will
be given on in-depth topics, practical applications and doubt solving.
3.4 References

Text Books:
1. Ellis Horowitz, and Sartaj Sahani, “Fundamentals of Computer Algorithms”,
University Press, 2nd edition, 2008.
2. Thomas H. Cormen, Charles E., Leiserson, Ronald L. Rivest, “Introduction to
Algorithms”, MIT Press, 3rd edition, 2009.
Reference Books:
1. Sara Baase, Alan Van Gelder, “Computer Algorithms Introduction to Design and
Analysis”, Addison-Wesley, 3rd edition, 2000
2. Aho, Hopcroft, Ullman, “Data Structures and Algorithms”, Addison-Wesley, 2000.

a. Laboratory details

Knowledge of data structures, discrete structures and programming is a prerequisite for


laboratory exercises. Students are expected to recall the fundamental theory concepts relevant
to the exercise to be performed in the upcoming laboratory.
The following 10 programming exercises and one design of lab problem statement will form
the submission for laboratory coursework.

Sr. Week Mapped


List of Lab Exercises
No. No.# CO
Introduction to Lab, Experiment explanation, Programming
1 1 CO1
tools required, Implementation and analysis of Insertion Sort
Problem solving and implementation of Computational
2 2 CO1
Complexity.
To sort an array of Integers using Iterative Merge Sort
CO2,
3 3 Algorithm. Analyze and implement the solution for Merge
CO4
Sort using Divide and Conquer Strategy.
Given an Array of Integers, find Minimum and Maximum
element present in it with minimum number of comparisons
CO2,
4 4 by using Divide and Conquer Strategy. Analyze and
CO4
implement the solution for recursively finding the Maximum
and Minimum element using Divide and Conquer Strategy.
Given a set of items, each with a weight and a value,
CO2,
5 5 determine a subset of items to include in a Knapsack so that
CO4
the total weight is less than or equal to a given limit and the

Page 4 of 9
Course Policy Design and Analysis of Algorithm

total value is as large as possible. (NOTE: Item are divisible;


we can consider the fraction of an item.) Analyze and
implement the solution for the above Knapsack Problem using
Greedy Technique.
Given a set of tasks with deadlines and total profit earned on
completion of a task, find maximum profit earned by
executing the tasks within the specified deadlines. Assume
CO2,
6 6 any task will one unit of time to execute and any task cannot
CO4
be executed beyond its deadline. Also, only one task can be
executed at a time. Analyze and implement the solution for
Job Sequencing with Deadlines using Greedy Strategy.
Implementation and Analysis of Dynamic Approach Design CO3,
7 7
paradigm-through Longest Common Subsequence problem. CO4
Given a source vertex s from set of vertices V in a weighted
graph where its edge weights w (u, v) can be negative, find
the shortest-path weights d (s, v) from given source s for all
CO3,
8 8 vertices v present in the graph. If the graph contains negative-
CO4
weight cycle, report it. Analyze and implement the solution
for Single Source Shortest Path Bellman-Ford Algorithm
using Dynamic Programming.
Implementation and Analysis of Backtracking Algorithm CO3,
9 9
Design-n queens problem(6*6) CO4
CO3,
10 10 Implementation and Analysis of Sum of Subsets Problem.
CO4

Please note exact problem definition and task to be performed will be provided during
the lab time.

4 Assessment Policy
Component wise Continuous Evaluation Internal Continuous Assessment (ICA) and
Term End Examination (TEE)

Assessment ICA (100 Marks) TEE (100


Component (Marks scaled to 50) marks)
(Marks
scaled to
50)

Lab Class Problem Programming Class Class


Performance Assignments solving on Test Test 1 Partici
Code chef and pation
/ACM ICPC Class
competition/ Test 2
participation
in hackathon
(Group
activity)
Weightage 10% 5% 5% 5% 20% 5% 50%
Marks 20 10 10 10 20+20 10 100

Page 5 of 9
Course Policy Design and Analysis of Algorithm

4.1 Assessment Policy for Internal Continuous Assessment (ICA)

Assessment of ICA comprises of the following components.

1. Class Test 1 and 2

a. Two class tests will be conducted as per the academic calendar.


b. It will be conducted offline for 20 marks each.

2. Lab performance evaluation (20 marks)

a. Programming experiments (10 marks)


i. Continuous assessment for programming experiments will be
conducted. There are 10 practicals, each carrying weightage of 10
marks. At the end of the course, average of total marks will be taken to
obtain marks out of 10.
ii. Discussion of your work with your peers is allowed. However, each
student is expected to submit his/her original work. Submissions which
are very similar will be marked zero. Assessment of the lab work will
be carried out based on parameters like timely completion of lab work
file, logic of the program, proper software practices, properly
commented and indented code, originality in the work, involvement of
the student, regularity, discipline etc. during the session. There is a 30%
penalty on late submission.
b. Lab viva (5 marks): Viva will be conducted on syllabus provided by the faculty
and will be evaluated for 5 Marks.
c. Algorithm writing: Algorithm designing will be an integral part of experiment
submission and will be evaluated for 5 marks (5 Marks)

3. Problem solving on Code chef or participation in hackathon (10 Marks)


a. Students will make group of 2-3 students
b. Students will solve problems of competitive coding on platform such as
Codechef or as suggested by the faculty.
c. Students will demonstrate his understanding/ logic, struggles faced and various
solution he/she tried to solve the problem.
d. Students can also participate in code hackathon and provide complete details of
the approach used.
Assessment will be based on the difficulty level of the problem solved,
approaches used to implement the problem, originality, and understanding of the
assignments

4. Programming Test (10 marks)


After completion of the course there will be a Programming test based on lab
experiments.

5. Class Assignments (10 marks)


The students will solve the assignment given by the faculty during the class/lab
sessions.

Page 6 of 9
Course Policy Design and Analysis of Algorithm

6. Class Participation (10 marks)- The faculty will either conduct quiz or ask some
questions in every class based on the content being taught. The idea is to
encourage students to pay attention in class and actively participate. These marks
will be added in ICA class participation component.

4.2 Assessment Policy for Term End Examination (TEE)

7. Lesson Plan

Session Mapped Reference


Topics
No. CO
1 Unit 1: Introduction - What is Algorithm? 1 TB1, TB2
Types of Algorithms: greedy, divide & conquer, 1 TB1, TB2
2
backtracking, etc.
3 Analysis of Algorithms. 1 TB1, TB2
Unit 2: Analysis of the Algorithms – Time and Space 1 TB1, TB2
4
Complexity of Algorithms, Asymptotic Notations
Asymptotic Order, Properties of big oh, big omega, and 1 TB1, TB2
5 big theta, Best case, average Case and worst case
analysis
6 Classifying functions by their asymptotic growth rates 1 TB1, TB2
Unit 4: Greedy Technique - The general method, 3 TB1, TB2
7
control abstraction, Optimal storage on tapes
8 Solving Knapsack Problem using Greedy Method 3 TB1, TB2
Job sequencing with Deadline problem solution using 3 TB1, TB2
9
Greedy Method
10 Optimal Merge Patterns using Greedy Method 3 TB1, TB2
11 Introduction to Huffman codes using Greedy Method 3 TB1, TB2
12 Class Test 1
Unit 2: Analyzing the Algorithms - Substitution 1 TB1, TB2
13
Method of Solving Recurrences
14 Recursion Tree Method of Solving Recurrences 1
15 Master’s Theorem for solving Recurrence Relations 1 TB1, TB2
Unit 3: Divide & Conquer Technique - The general 2 TB1, TB2
16
method, control abstraction for Divide and Conquer
Finding the maximum and minimum number using 2 TB1, TB2
17
straightforward and r1ecursive algorithm
18 Introduction to Merge sort and its analysis 2 TB1, TB2

19 Introduction to Quick sort and its analysis 2 TB1, TB2

Page 7 of 9
Course Policy Design and Analysis of Algorithm

Unit 5: Dynamic Programming - The general method, 4 TB1, TB2


20
principle of optimality
Solving Multistage Graph problem using Dynamic 4 TB1, TB2
21
Programming
Solving examples on Multistage Graph problem using 4 TB1, TB2
22
Dynamic Programming
Introduction to Bellman Ford algorithm for solving 4 TB1, TB2
23
Single Source Shortest Path problem
24 Introduction to 0/1 Knapsack problem 4 TB1, TB2
25 Class Test 2
Matrix Chain multiplication using Dynamic 4 TB1, TB2
26
Programming
Longest Common Subsequence problem using 4 TB1, TB2
27
Dynamic Programming
Examples on solving LCS problem using Dynamic 4 TB1, TB2
28
Programming
Unit 6: Backtracking – The general method, solving the 4 TB1, TB2
29
n-queen problem using backtracking approach
Introduction to Sum of Subset problem using 4 TB1, TB2
30
Backtracking
Graph Coloring problem and its solution using 4 TB1, TB2
31
Backtracking algorithm
Complexity Introduction of P, NP, NP Complete and 1 TB1, TB2
32
NP hard problems

5 Teaching-learning methodology
Faculty will make a group of 2-3 students for any group based activity such as class
participation, project, presentation etc. Lecture and laboratory session will be conducted as
follows-

1. Lectures:
o Outline for preliminary study to be done for each unit will be provided prior to
commencement of each unit.
o Deeper concepts and applications will be explained through Presentation and
Video Lectures.
o Numerical problems based on concept will be solved during the session on
smart board or MS OneNote.

2. Laboratory:
o Lab manual consisting of theory and algorithm to support the lab experiment
will be uploaded on student portal.
o Regular lab assessment and grading will be done. Students will be marked based
on parameters like completion of lab assignment, originality, logic developed,
interaction during the lab, submission, punctuality and discipline.

Page 8 of 9
Course Policy Design and Analysis of Algorithm

10. Active learning techniques


Active learning is a method of learning in which students are actively or experientially
involved in the learning process. Following active learning techniques will be adopted
for the course.
1. Muddiest topic: Faculty will find out the least understood point/topic in the session. This
topic is then further explained to ensure that it is understood well.
2. Think pair share: To encourage peer learning think pair share strategy will be used.
3. Quiz time: Between the session faculty will ask some questions to check understanding of
the class and doubt solving.
4. Group Discussion: Group discussion can be done during the class.
5. Blended Learning: Students will be introduced to the topic at home while the in-depth
topics, applications and numerical problems will be discussed by the faculty in the lecture
session. Outline for preliminary study to be done for each unit will be provided prior to
commencement of each unit. Preliminary study material (video links, presentation, notes
etc) will be made available on the student portal.

11. Course Material


Following course material is uploaded on the student portal: (give student portal link)
● Course Policy
● Lecture Notes / Presentation
● Lecture Videos
● Books / Reference Books / NPTEL video lectures link
● Assignments
● Lab Manuals, Test images database link
● List of Program Outcomes

12. Course Outcome Attainment

Following means will be used to assess attainment of course learning outcomes.


● Use of formal evaluation components of continuous evaluation, assignments,
laboratory work, semester end examination
● Informal feedback during course conduction

13. Academic Integrity Statement

Students are expected to carry out assigned work under Internal Continuous
Assessment (ICA) independently. Copying in any form is not acceptable and will invite
strict disciplinary action. Evaluation of corresponding component will be affected
proportionately in such cases. Plagiarism detection software will be used to check
plagiarism wherever applicable. Academic integrity is expected from students in all
components of course assessment.

Page 9 of 9

You might also like