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

Daa Courseoutline

Uploaded by

Muhammad Shahbaz
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)
36 views

Daa Courseoutline

Uploaded by

Muhammad Shahbaz
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/ 5

Namal University Mianwali

Department of Computer Science

COURSE OUTLINE – Spring 2024

1. COURSE DETAILS
Title: Design and Analysis of Algorithms
Code: CS-241
Credit(s): 3
Pre-requisite(s): Data Structures
Co-requisite(s): None

2. INSTRUCTOR DETAILS
Name: Mr. Abdul Rafay
Lecture Timings: As per Time Table
Office Location: CS Faculty Cabins
Office Telephone: +92 459 236995 Ext: 179
Office Hours: As per shared schedule.
E-mail: [email protected]

3. COURSE RELEVANT DETAILS


Course Description:

This course provides introduction to Analysis of Algorithms (AoA). Foundations of


Algorithms, design paradigms are explored in greater depth, and more advanced techniques
for solving computational problems are presented. Topics include design and analysis of
diverse problem-solving techniques such as divided-and-conquer, brute force approach,
greedy approach, dynamic programming, shortest path, maximum flow etc. The analysis
covers topic such as informal analysis of time and space complexity, asymptotic notations,
complexity classes. Solve problems using graph algorithms, and implement sorting, searching
and string-matching algorithms. Grading is based on quizzes, mid-term and final term exams.
Course Objectives
The main goal of the course is to familiarize the students with new algorithm techniques and
then motivate them to design own algorithms for various problems, also to know about
analysing algorithms regarding time complexity.
The course encompasses the following goals:
 Understand the concept of Algorithms, design, and representation of algorithms.
 Understand the analysis of algorithms. Different types such as methods for algorithms
analysis.
 Learn types and analysis of diverse algorithm techniques like divide and conquer, greedy,
dynamic programming, etc.
 Learn the different notations for formal analysis of algorithms and analysis of complexity
classes.
 Learn the role of data structures in design and evaluation of different algorithms.
 Learn to design and develop complex algorithms for various types of data such as graph
and text for solving real world problems.

Learning Outcomes
Course
Learning CLO Statement Taxonomy Level
Outcome
CLO-1 Understand the concepts and skills of algorithm
analysis and design. Analyze the behavior of an Understanding
algorithm using asymptomatic analysis for time
and space complexity. List and contrast
complexity concepts.
CLO-2 Apply algorithm strategies (brute-force,
divide-and-conquer, greedy approach, dynamic Analyzing
programming) for problem solving and their
formal analysis.
CLO-3 Apply graph based and string/Text relevant
algorithms and their analysis. Applying

Program Learning Outcomes (PLOs):


 PLO-1: Academic Education
 PLO-2: Knowledge for Solving Computing Problems
 PLO-3: Problem Analysis
MAPPING OF CLOs TO PROGRAM LEARNING OUTCOMES

CLOs/PLOs CLO:1 CLO:2 CLO:3


PLO 1: 
PLO 2: 
PLO 3: 
4. LECTURE BREAKUP
Week No. Topics Covered in Class Course
Assessments
Surprise Quizzes
1 Role of Algorithms in Computing, Analyzing Algorithms,
Designing Algorithms, Growth of Functions, Asymptotic
Notation, Standard Notations and Common Functions, Time
Complexity (Big O, Theta, Omega, little o, omega), Space
Complexity.
2 Sorting Problem: Insertion Sort (Naïve Based Approach),
Analysis of Insertion Sort Algorithm.
Divide and Conquer Rule: Binary Search, Comparison of
Powering of a number by naïve and divide and conquer rule.
3 .Matrix Multiplication: Strassen’s Algorithm, Analysis of Strassen
Algorithm, Comparison of matrix multiplication using divide and
conquer rule and Strassen’s Algorithm.
4 Lower Bound for Sorting Algorithm: Decision Trees.
Quiz 1
Linear Time Sorting: Counting Sort, Radix Sort, Bucket Sort.
5 Sorting using Divide and Conquer Rule: Merge Sort, Heap
Sort (One by One insertion and Heapify method), and Priority
Queue.
6 Sorting using Divide and Conquer Rule: Quick Sort (Best,
Average and Worst case complexities).
Quiz 2
Medians and Order Statistics: Binary Search Trees, Querying
a Binary Search Tree, Insertion and Deletion.
7 Red-Black Tree: Properties of Red-Black Trees, Rotations, Assignment 1
8 Red-Black Trees: Insertion and Deletion of Red Black Tree.
9 Mid-term Exam
10 Graph Representation: Adjacency Matrix, Adjacency lists,
Directed or Undirected Graphs.
Graph Traversal Techniques: Breadth-First Search (BFS),
Depth First Search (DFS).
11 Dynamic Programming: Optimal Binary Search Trees.
Greedy Algorithms: Elements of The Greedy Strategy,
Huffman Codes.

12 Shortest Paths Algorithms:


Single-Source Shortest Path Algorithms: Dijkstra’s Algorithm
(Undirected Graphs), The Bellman-Ford Algorithm (Single-
Source Shortest Paths in Directed Acyclic Graphs).
13 All-Pairs Shortest Paths: Floyd-Warshall Algorithm for Dense
Quiz 3
Graphs.
14 All-Pairs Shortest Paths: Johnson‘s Algorithm for Sparse
Graphs. Assignment 2

15 Maximum Flow: Ford-Fulkerson Method. Quiz 4


16 String Matching: Naive String-Matching Algorithm.
17 Revision and Left overs.
18 Final Exam

5. TEACHING METHODOLOGY
 Most of the lectures will be highly interactive.

 Discovery-oriented discussions will take place and active participation in concepts,


reasons and logic behind algorithms and methodology to solve problems will be
carried out.
 In written tests like surprise quizzes, midterm and final exam paper, focus will on be
checking the reason behind concepts, logic behind design of algorithms and analysis
of algorithms.

6. TEACHING MATERIAL
Text Books and reference material.
Textbook
1. Introduction to Algorithms by Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford
Stein. The MIT Press (Fourth Edition).

Reference Books
2. The Design and Analysis of Algorithms by Nitin U. Katson Publishers.
3. The Design and Analysis of Algorithms by Anany Levitin. Pearson Publishers.

7. (A) ONLINE RESOURCES

QOBE.

(B) DETAIL OF TECHNOLOGY INVOLVED

(C) DESIGN/SKILLS TECHNIQUES THAT WILL BE PRACTICED


Designing and understanding of the existing algorithms.

8. COURSE ASSESSMENT AND EVALUATION

No Assessments Instruments Grade


Weight
% CLO CLO2 CLO3
1
1 Quizzes 20   
2 Assignments 05   
Midterm 30  
3 Final Examination 45   

9. UNIVERSITY POLICIES
The students are required to fully understand and observe the following policies of the university.
Seventy-Five percent (75%) attendance is mandatory for the lectures delivered in the course.
For further details, please refer to university policies mentioned in student handbook and undergraduate academic
regulations of Namal Institute Mianwali.

10. VERIFICATION
(i) I verify that the content of this document is correct and up-to-date.

Mr. Abdul Rafay _ ___________________________ _____________


Instructor’s Name and Signature Date

(ii) I have reviewed course-outline and state that it complies with Namal Institute policies and guidelines.

Dr. Malik Ali Shahid__________________________ _____________


Name and Signature of Head of Department Date

You might also like