0% found this document useful (0 votes)
63 views

F-32 Lesson Plan - Design and Analysis of Algorithm - Revised

This document provides a lesson plan for a course on Design and Analysis of Algorithms. The 3-credit course introduces students to algorithms and their analysis. Topics covered include asymptotic analysis using Big-O notation, sorting algorithms, recursion, algorithm design techniques like divide-and-conquer, greedy algorithms, and dynamic programming. The course aims to help students analyze time and space complexity of algorithms and identify appropriate algorithms to solve problems. Assessment includes exams, assignments, and a student presentation. Required textbooks and references are also listed.

Uploaded by

Fasih Satti
Copyright
© © All Rights Reserved
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
63 views

F-32 Lesson Plan - Design and Analysis of Algorithm - Revised

This document provides a lesson plan for a course on Design and Analysis of Algorithms. The 3-credit course introduces students to algorithms and their analysis. Topics covered include asymptotic analysis using Big-O notation, sorting algorithms, recursion, algorithm design techniques like divide-and-conquer, greedy algorithms, and dynamic programming. The course aims to help students analyze time and space complexity of algorithms and identify appropriate algorithms to solve problems. Assessment includes exams, assignments, and a student presentation. Required textbooks and references are also listed.

Uploaded by

Fasih Satti
Copyright
© © All Rights Reserved
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 8

Form # IST-F-32/04

Institute of Space Technology Date of Issue 08-February-2020


CS No: KICIST-CS-CC-LP-01
Lesson Plan
Page No. 1 of 8

DEPARTMENT & PROGRAM: BS Computer Science

COURSE CODE-COURSE NAME: Course Code- Design and Analysis of Algorithm CR: 3-0

COURSE DESCRIPTION:

This is an introductory course on the designing of algorithms and their analysis. Students are introduced to the
concept of Algorithm and its Analysis. Introduction; role of algorithms in computing, Analysis on nature of
input and size of input Asymptotic notations; Big-O, Big Ω, Big Θ, little-o, little-ω, Sorting Algorithm
analysis, loop invariants, Recursion and recurrence relations; Algorithm Design Techniques, Brute Force
Approach, Divide-and-conquer approach; Merge, Quick Sort, Greedy approach; Dynamic programming;
Elements of Dynamic Programming, Search trees; Heaps; Hashing; Graph algorithms, shortest paths, sparse
graphs, String matching; Introduction to complexity classes.

PRE-REQUISITE: Data Structure and Algorithm

CO-REQUISITE: Nil

TEXT AND MATERIALS:

Textbooks

1. Thomas H. Coremen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein, “Introduction to Algorithm”
Third Edition the MIT Press Cambridge, Massach.
2. R. Sedgewick, P. Flajot, “Analysis of Algorithms”, National Book Foundation.
3. Jon Kleinberg, Eva Tardos, “Algorithm Design”, (1st edition, 2013/2014)
4. Robert Sedgewick, Kevin Wayne, “Algorithms”, (4th edition, 2011)

References Material:

1. A. Levitin, “Introduction to Design analysis of Algorithms”, Pearson Education Inc.


2. R.E.Neapolitan, K.Naimipour, “Fundamentals of Algorithms”, Heat and Compny.

RELEVANT PROGRAM LEARNING OUTCOME:

The course is designed so that students will achieve the PLO/s:

1. PLO-02: Apply knowledge of computing fundamentals, knowledge of a computing specialization, and


mathematics, science, and domain knowledge appropriate for the computing specialization.
2. PLO-03: Problem Analysis: An ability to identify, formulates, research literature, and analyze
complex computing problems reaching substantiated conclusions using first principles of mathematics,
computer sciences and relevant domain disciplines.
Form # IST-F-32/04
Institute of Space Technology Date of Issue 08-February-2020
CS No: KICIST-CS-CC-LP-01
Lesson Plan
Page No. 2 of 8

3. PLO-04: Design/Development of Solutions: Design and evaluate solutions for complex computing
problems, and design and evaluate systems, components, or processes that meet specified needs with
appropriate consideration for public health and safety, cultural, societal, and environmental
considerations.
4. PLO-10: Life-long Learning: Recognize the need, and have the ability, to engage in independent
learning for continual development as a computing professional.

COURSE LEARNING OUTCOMES:

At the end of this course the students will be able to:

1. Development of the algorithms while explaining that what is meant by “best”, “expected”, and “worst” case
behavior of an algorithm.
2. Identifications of the specific characteristics of data and/or other conditions or assumptions that lead to
different behaviors.
3. Determine informally the time and space complexity of simple algorithms
4. List and contrast standard complexity classes
5. Use big O, Omega, Theta notation formally to give asymptotic upper bounds on time and space complexity
of algorithms
6. Use of the strategies (brute-force, greedy, divide-and-conquer, and dynamic programming) to solve an
appropriate problem
7. Solve problems using graph algorithms, including single-source and all-pairs shortest paths, and at least one
minimum spanning tree algorithm
8. Trace and/or implement a string-matching algorithm.

MAPPING BETWEEN PLO VS CLO


PLO No.
2 3 4 10
CLO No.
1 
2 
3 
4 
5 
6 
7 
8 

PRACTICAL APPLICATIONS:

This course is a computing course and serves as a link between theoretical designs of problems with its
practical implementation in any programming language. At the end of this course, the students are capable to
Form # IST-F-32/04
Institute of Space Technology Date of Issue 08-February-2020
CS No: KICIST-CS-CC-LP-01
Lesson Plan
Page No. 3 of 8

provide best solution to real world problems. The fundamentals concepts delivered in this course will be used
in their final year degree project.

LECTURE PLAN:

Instruction 80%
Discussion 15%
Presentation/Tutorial 5%

Module Topic Reference Weeks

I. Introduction to Algorithm and Analysis 1

1.1. Introduction to Computer Algorithms and its Text Book 1


application domain. (Chapter 1)
1.2. Specification techniques of algorithm,
natural language specification and pseudo Text Book 2
code specification. (Chapters 1)
1.3. Algorithm analysis (Time Efficiency, Space
Efficiency and Correctness).
1.4. Classification of Time Efficiencies (Best
Case, Average Case and Worst Case).
1.5. Approaches for calculating time efficiency,
i.e., empirical, analytical and visualization
approaches.
1.6. Case study.
Mathematical Preliminaries
II. 2-3
1.7. Introduction to Set Theory and its various
operations i.e., union intersection, difference Text Book 1
and Cartesian product and its application in (Chapter 1)
algorithm design.
Text Book 2
1.8. Introduction to Combination and
(Chapters 3)
Permutation concept.
1.9. Introduction to Mathematical Functions and
its various types.
1.10. Introduction to Summations i.e.,
Arithmetic, Geometric and Harmonic Series
and summations.
1.11. Introduction to Probability Theory its
laws.
Form # IST-F-32/04
Institute of Space Technology Date of Issue 08-February-2020
CS No: KICIST-CS-CC-LP-01
Lesson Plan
Page No. 4 of 8

1.12. The concept of equi-probable events


and expected cost.
1.13. Probability applications in Design and
Analysis of Algorithm.
III. Asymptotic Analysis 4-6

1.14. Introduction to Asymptotic analysis and Text Book 1


its Objective, Asymptotic Notations. (Chapter 3)
1.15. Definition of Big-Oh (O), Big-Omega
(Ω) and Theta Notations by using inequality Text Book 2
theory and their solved examples. (Chapters 4)
1.16. Asymptotic Notations Theorems and
their proofs.
1.17. Set builder notation definitions of
asymptotic notions.
1.18. Asymptotic Notations definitions Using
Limits (Calculus).
1.19. Definition of Big-Oh, Big-Omega,
Theta, Small-Oh and Small-Omega
notations and solved examples.
1.20. Theorems concerning these notations
and their proofs.
1.21. Set builder notation definitions by
limits.
1.22. Analysis of Summations
Recurrence
IV. 7-8
1.23. Introduction to divide and conquer
recurrence and Substitution method for Text Book 1
solving these recurrences with solved (Chapter 1)
examples. Text Book 2
1.24. Recursion Tree Method for Solving (Chapters 2 & 3)
Divide and Conquer recurrence with solved
examples.
1.25. Introduction to General Theorem and
its formal proof for verifying Substitution
method result of divide and conquer
recurrences with examples recurrence and
Iterative method for solving it with
examples.
1.26. Introduction to divide and conquer
recurrence and Substitution method for
Form # IST-F-32/04
Institute of Space Technology Date of Issue 08-February-2020
CS No: KICIST-CS-CC-LP-01
Lesson Plan
Page No. 5 of 8

solving these recurrences with solved


examples.
1.27. Recursion Tree Method for Solving
Divide and Conquer recurrence with solved
examples.
1.28. Introduction to General Theorem and
its formal proof for verifying Substitution
method result of divide and conquer
recurrences with examples.
V. Sorting Techniques and Their Analysis
9-10
1.29. Introduction to Quick Sort Algorithm,
Pivot Selection, Partitioning. Text Book 1
1.30. Pseudo code for partitioning and (Chapter 6 & 7)
sorting, Visualization of Quick sort.
1.31. Analysis of Quick Sort, Best case Text Book 2
analysis, Worst case analysis and Average (Chapters 3 & 6)
Case analysis.
1.32. Introduction to heap Sort, Binary Heap,
Completeness property, Order Property.
1.33. Heap Operations, Heap Fixing, Heap
Building, Heap Sorting.
1.34. Analysis of Heap Sorting, Heap Fixing
Analysis, Heap Building Analysis, Heap
Sorting Analysis.
Graph Algorithms
VI. 11-13
1.35. What is meant by graph, different types
of graph .i.e., Directed Graph, Undirected Text Book 1
Graphs, Weighted Directed Graph, and (Chapter 22 & 23)
Weighted Undirected Graph?
1.36. Graph Representation, Adjacency
Matrix Representation, Adjacency Link List
Representation.
1.37. Introduction to Graph Traversal, Depth
First Search (DFS): Strategy, Applications
of DFS, DFS Visualization and DFS
Analysis.
1.38. Breadth First Search (BFS): Strategy,
Applications of BFS, BFS Visualization and
BFS Analysis.
1.39. What is meant by spanning tree, and
Form # IST-F-32/04
Institute of Space Technology Date of Issue 08-February-2020
CS No: KICIST-CS-CC-LP-01
Lesson Plan
Page No. 6 of 8

how the minimum spanning tree is defined?


1.40. Kruskal’s Algorithm for Calculating
MST and its Analysis.

1.41. Prim’s Algorithms for Calculating MST


and its Analysis.
Dynamic Programming
VII. 14
1.42. Introduction to Dynamic Programming,
Optimality Principal, Applications of Text Book 1
Dynamic Programming. (Chapter 24)
1.43. Introduction to All pairs shortest path
problem.
1.44. Floyd Warshal algorithm for all pairs
shortest problem with examples.
1.45. Analysis of Floyd Warshal algorithm.

VIII. String Matching


15
8.1. Introduction to String Matching techniques Text Book I
and its applications in Computer Science. (Chapter 32)
8.2. Naïve String matching algorithm and its
analysis.
8.3. FSA String matching algorithm and its
analysis.

IX. Greedy Algorithm


Text Book I 16
9.1. Introduction to Greedy algorithms, singles
source single destination path algorithm. (Chapter 24)
9.2. Dijkstra’s Algorithm for Calculating
Shortest path form single source to single
destination with examples.
9.3. Analysis of Dijkstra’s algorithm.
Final Examination 17
COURSE TARGETS:

Learning PLOs to
Module No. CLO No. Teaching Methodology Assessment Methodology Domain target
with Level
Form # IST-F-32/04
Institute of Space Technology Date of Issue 08-February-2020
CS No: KICIST-CS-CC-LP-01
Lesson Plan
Page No. 7 of 8

I 1 Lectures + Discussions + Quizzes/ OHT /Assignment C-1 PLO-2


Class Work

Lectures + Discussions + Quizzes/ Final /Assignment/


III + V 2 C-2 PLO-3
Class Work OHT

Lectures + Discussions + Quizzes/ Assignment/ OHT


I 3 C-3 PLO-2
Class Work

Lectures + Discussions + Quizzes/ Assignment/ OHT


III 4 C-4 PLO-4
Class Work
V+VII+VIII 5 Lectures + Discussions Quizzes/ Final/ Assignment C-5 PLO-10
+IX + Class Work
IV 6 Lectures + Discussions + Quizzes/ Assignment/ OHT C-6 PLO-4
Class Work
VI+VII+IX 7 Lectures + Discussions + Quizzes/ Assignment/ Final C-7 PLO-4
Class Work

VIII 8 Lectures + Discussions + Quizzes/ Assignment/ Final C-8 PLO-10


Class Work

ASSESMENT:

The course will include four thirty mints tests during the semester. In addition, assignments at the end of two
or three consecutive module(s) may be set. A comprehensive final examination over the all modules, of at
least 3 hours duration, will be set at the end of the course. Evaluation & student grades will be based on
following factors.

Assignments 15%
Quizzes 10%
OHT Exam 25%
Final Exam 50%
____________________________
Total 100%

Name with Sign Mr. Fahim Khan, Assistant Professor


Written By
Date
Name with Sign Dr. Sakeena Javaid, Assistant Professor
Reviewed By
Date 28/01/2021
Form # IST-F-32/04
Institute of Space Technology Date of Issue 08-February-2020
CS No: KICIST-CS-CC-LP-01
Lesson Plan
Page No. 8 of 8

Name with Sign Dr. Altaf Hussain, HoD Computer Science


Approved By
Date

You might also like