0% found this document useful (0 votes)
74 views7 pages

BSDCH ZC317 AlgorithmDesign 1-2022

This document outlines an Algorithm Design course, including its description, objectives, textbooks, modules, and learning outcomes. The course enables students to learn algorithm design techniques like divide and conquer, greedy algorithms, dynamic programming, and backtracking. It covers analyzing algorithms' performance, best/worst/average cases, and choosing the most efficient algorithm. The course contains 9 modules covering topics such as algorithm analysis, sorting techniques, graph algorithms, NP-complete problems, and randomized algorithms. Students will learn to write algorithms' asymptotic performance, solve recurrence relations, classify problem hardness, and choose an appropriate design technique. A contact session plan outlines 3 sessions to cover key topics from the course content.

Uploaded by

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

BSDCH ZC317 AlgorithmDesign 1-2022

This document outlines an Algorithm Design course, including its description, objectives, textbooks, modules, and learning outcomes. The course enables students to learn algorithm design techniques like divide and conquer, greedy algorithms, dynamic programming, and backtracking. It covers analyzing algorithms' performance, best/worst/average cases, and choosing the most efficient algorithm. The course contains 9 modules covering topics such as algorithm analysis, sorting techniques, graph algorithms, NP-complete problems, and randomized algorithms. Students will learn to write algorithms' asymptotic performance, solve recurrence relations, classify problem hardness, and choose an appropriate design technique. A contact session plan outlines 3 sessions to cover key topics from the course content.

Uploaded by

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

BIRLA INSTITUTE OF TECHNOLOGY & SCIENCE, PILANI

WORK INTEGRATED LEARNING PROGRAMMES


COURSE HANDOUT
Part A: Content Design
Course Title Algorithm Design
Course No(s) BSDCH ZC317
Credit Units 3
Course Author
Version No 1.2
Date August 2021

Course Description
This course enables the students to learn how to effectively construct and apply techniques for
analyzing algorithms including sorting, searching etc. Gain an understanding of various algorithm design
techniques like divide and conquer, greedy, dynamic programming, backtracking and work on
algorithms’ best worst and average case analysis. This course requires understanding of basic
programming and data structures.

Course Objectives
No Objective

CO1 To analyze the asymptotic performance of an algorithm.

CO2 To perform best case, worst case and average case analysis for a given algorithm

CO3 To demonstrate systematic techniques and approaches for constructing simple C programs.

CO4 To understand different algorithmic paradigms such as divide and conquer, greedy, dynamic
programming, etc. and apply them.

CO5 To be able to choose, among many possible algorithms to solve a problem, the most efficient
algorithm for the intended application.

Text Book(s)
No Author(s), Title, Edition, Publishing House
T1 Thomas H Cormen, Charles E Leiserson, Ronald L Rivest, Clifford Stein., Introduction to
Algorithms, Third Edition,2010
T2 Michael T Goodrich & Roberto Tamassia, Algorithm Design, Wiley Singapore Edition,2002
Reference Book(s) & other resources
No Author(s), Title, Edition, Publishing House
R1 Jon Kleinberg, Eva Tardos, Algorithm Design, First Design, Pearson,2012

R2 E. Horowitz, Sartaj Sahni and S. Rajasekaran. Fundamentals of Computer Algorithms Second


Edition, University Press, 2007

Content Structure
No Title of the Module References
M1 Introduction to Algorithms and its Analysis T1:Ch1,Ch2,
 RAM model Ch3, Ch4
 Asymptotic Notations
 Analyzing Recursive Algorithms
 Recurrence Relation & Master algorithm T2: Ch1
 Sorting (Comparing sorting techniques in terms of time complexity)

M2 Design Techniques: Divide and conquer


 Design Principles and Strategy
T1:Ch4, Ch5,
 Analyzing Divide and Conquer Algorithms Ch7
 Integer Multiplication Problem
 Sorting Problem T2: Ch4, Ch5
o Merge Sort Algorithm
o Quick Sort Algorithm
R2:Ch3
 Searching Problem and Binary Search Algorithm
 Probabilistic analysis (average case analysis)
M3 Graph terminologies & Algorithms
 Terms and Definitions T2:Ch6,
 Properties
 Representations (Edge List, Adjacency list, Adjacency Matrix) T1: Ch22
 Graph Traversals (Depth First and Breadth First Search )
 DFS with timestamp
M4 Design Techniques: Greedy Algorithms T1: Ch. 23
• Design Principles and Strategy T1: Ch. 24.3
• Minimum Spanning tree
o Prim’s
T1: Ch. 16.3
o Kruskal’s R2:Ch. 4.3
• Shortest path problems
o Djikstra’s
• Huffman encoding
• Fractional knapsack problem
M5 Design Techniques: Dynamic Programming
• Design Principles and Strategy T1: Ch. 15.2
• Matrix chain multiplication
• All pairs Shortest path- Floyd-warshall
T1: Ch. 25.2
• 0/1 knapsack problem R2: Ch. 15.5
• Rod cutting problem T1: Ch. 15.1
• Longest common sub sequence T1: Ch. 15.4
• Bellman ford T1: Ch. 24.1
M6 Design Techniques: Backtracking R2: Ch. 7.1
• Introduction to state space R2: Ch. 7.2
• n-queen problem (4 and 8 queen problem)
• Graph Coloring problem
R2: Ch. 7.4
• Sum of subset R2: Ch. 7.3
• Hamilton cycle R2: Ch. 7.5
M7 Design Techniques: Branch & Bound
• Least Cost Search
R2: Ch. 8.3
• FIFO Branch and Bound
• LC Branch and Bound
• Job sequencing with timebound (deadlines) R2: Ch. 8.2
• Traveling salesman problem
• 0-1 knapsack problem
M8 Introduction to P,NP Complete, NP Hard problems T2: Ch. 13.3.1,
• Definition of P and NP classes and examples
13.3.3, 13.3.5
• Understanding NP-Completeness
• NP-Hardness
T1: Ch. 34.1,
• Satisfiability Problem(SAT) 34.2, 34.3,
• Polynomial time reducibility 34.4, 34.5.1,
• Problems in NP-Complete and using polynomial time reductions 34.5.3
 3-SAT
 Clique and Set-Cover R2: Ch.11
 Hamiltonian Cycle

M9 Introduction to randomized algorithms T1:Ch.7.3


 Randomized quick sort,
 Min cut algorithm
 Random permutation I T1: Ch. 33.3
 Convex hull

Learning Outcomes:
No Learning Outcomes

LO1 Upon completion of this course students will be able to write the performance of any algorithm
using asymptotic notations and argue about the correctness of an algorithm.

L02 Students will be able to frame recurrence equations for divide and conquer problems and solve
them.

LO3 Students will be able to classify the hardness of a decision problem in terms of different
complexity classes.

LO4 Students will be able to choose an algorithm design technique for any given problem and prove
its correctness
Part B: Contact Session Plan

Academic Term First Semester 2022-2023


HCL BSc Cohort-3 Sem-5 (November 2022 to April 2023)
Course Title Algorithm Design
Course No BSDCH ZC317
Lead Instructor C Rakesh Prasanna

Contact List of Topic Title Text/Ref


Session (from content structure in Part A) Book/external
(2Hrs) resource
1 Introduction to Algorithms and its Analysis T1:Ch1, Ch3
 RAM model T2: Ch1
 Asymptotic Notations
 Analyzing Recursive Algorithms

2  Recurrence Relation & Master algorithm T1: Ch2, Ch4


 Sorting (Comparing sorting techniques in terms of time
Complexity)

3 Design Techniques: Divide and conquer T1:Ch4, Ch5,


 Design Principles and Strategy
 Analyzing Divide and Conquer Algorithms
T2: Ch4
 Integer Multiplication Problem
 Sorting Problem
o Merge Sort Algorithm R2:Ch3
o Quick Sort Algorithm
 Searching Problem and Binary Search Algorithm
 Probabilistic analysis (average case analysis)

4  Quick Sort Algorithm T1: Ch 5


 Searching Problem and Binary Search Algorithm
R2:Ch3
 Probabilistic analysis (average case analysis)

5 Graph terminologies & Algorithms T2:Ch6,


• Terms and Definitions T1: Ch22
• Properties
• Representations (Edge List, Adjacency list, Adjacency
Matrix)
• Graph Traversals (Depth First and Breadth First Search )
• DFS with timestamp

6 Design Techniques: Greedy Algorithms T1: Ch. 23


• Design Principles and Strategy T1: Ch. 24.3
• Minimum Spanning tree
o Prim’s
o Kruskal’s
7 • Shortest path problems T1: Ch. 16.3
o Djikstra’s R2:Ch. 4.3
• Huffman encoding
• Fractional knapsack problem

8 Design Techniques: Dynamic Programming


• Design Principles and Strategy T1: Ch. 15.2
• Matrix chain multiplication T1: Ch. 25.2
• All pairs Shortest path- Floyd-warshall

9 • 0/1 knapsack problem R2: Ch. 15.5


• Rod cutting problem T1: Ch. 15.1
• Longest common sub sequence
• Shortest Path-Bellman ford
T1: Ch. 15.4
T1: Ch. 24.1

10 Design Techniques: Backtracking R2: Ch. 7.1


• Introduction to state space R2: Ch. 7.2
• n-queen problem (4 and 8 queen problem)

11 • Graph Coloring problem R2: Ch. 7.4


• Sum of subset R2: Ch. 7.3
• Hamilton cycle
R2: Ch. 7.5

12 Design Techniques: Branch & Bound R2: Ch. 8


• Least Cost Search
• FIFO Branch and Bound
• LC Branch and Bound

13 Design Techniques: Branch & Bound R2: Ch. 8.3


• Job sequencing with timebound (deadlines) R2: Ch. 8.2
• Traveling salesman problem
• 0-1 knapsack problem

14 Introduction to P,NP Complete, NP Hard problems T2: Ch. 13.3.1, 13.3.3,


• Definition of P and NP classes and examples 13.3.5
• Understanding NP-Completeness
• NP-Hardness
• Satisfiability Problem(SAT)

15  Polynomial time reducibility T1: Ch. 34.1, 34.2, 34.3,


 Problems in NP-Complete and using polynomial time 34.4, 34.5.1,
reductions 34.5.3
o 3-SAT R2: Ch.11
o Clique and Set-Cover
o Hamiltonian Cycle

16 Introduction to randomized algorithms


• Randomized quick sort, T1:Ch.7.3
• Min cut algorithm
T1: Ch. 33.3
• Random permutation I
• Convex hull
Lab Details
Lab Lab Objective Lab Content
No Sheet/Capsule Reference
Access URL
1  Software(s) or Tool(s) required: C / C++ / Virtual T1,
Java/Python Labs T2
 Dependencies/Pre-requisites : Linux / Windows and
 System Requirements: Just programming R2
requirement in C/C++/ Java/Python
 Open source/ Freeware/ Proprietary: Open source

Evaluation Scheme

Legend: EC = Evaluation Component

No Name Type Duration Weight Day, Date, Session, Time


EC-1 Quiz-I Open Book 5 TBD

Quiz-II Open Book 5 TBD

Assignment I Open Book 10 TBD

Assignment II Open Book 10 TBD

EC-2 Mid-Semester Test Open Book 2 hours 30 31/12/2022 FN 10.00 AM to


12.00 PM
EC-3 Comprehensive Open Book 3 hours 40 25/03/2023 FN 9.00 AM to
Exam 12.00 PM

Note - Evaluation components can be tailored depending on the proposed model.

Important Information

Syllabus for Mid-Semester Test (Open Book): Topics in Weeks 1-8


Syllabus for Comprehensive Exam (Open Book): All topics given in plan of study
Evaluation Guidelines:
1. EC-1 consists of either two Assignments or three Quizzes. Announcements
regarding the same will be made in a timely manner.
2. For Closed Book tests: No books or reference material of any kind will be
permitted. Laptops/Mobiles of any kind are not allowed. Exchange of any material
is not allowed.
3. For Open Book exams: Use of prescribed and reference text books, in original
(not photocopies) is permitted. Class notes/slides as reference material in filed or
bound form is permitted. However, loose sheets of paper will not be allowed. Use
of calculators is permitted in all exams. Laptops/Mobiles of any kind are not
allowed. Exchange of any material is not allowed.
4. If a student is unable to appear for the Regular Test/Exam due to genuine
exigencies, the student should follow the procedure to apply for the Make-Up
Test/Exam. The genuineness of the reason for absence in the Regular Exam shall
be assessed prior to giving permission to appear for the Make-up Exam. Make-Up
Test/Exam will be conducted only at selected exam centres on the dates to be
announced later.
It shall be the responsibility of the individual student to be regular in maintaining the
self-study schedule as given in the course handout, attend the lectures, and take all the
prescribed evaluation components such as Assignment/Quiz, Mid-Semester Test and
Comprehensive Exam according to the evaluation scheme provided in the handout.

You might also like