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

Design and Analysis of Algorithms CS 241

The document outlines the course CS 241: Design and Analysis of Algorithms, which includes a comprehensive study of algorithms, their analysis, and design techniques. Key topics covered include asymptotic notations, sorting algorithms, dynamic programming, and graph algorithms, with an emphasis on time and space complexity. The course consists of programming assignments, a mid-term exam, and a final exam, with a grading policy of 30% for the mid-term and 70% for the final.

Uploaded by

hamefij140
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)
6 views

Design and Analysis of Algorithms CS 241

The document outlines the course CS 241: Design and Analysis of Algorithms, which includes a comprehensive study of algorithms, their analysis, and design techniques. Key topics covered include asymptotic notations, sorting algorithms, dynamic programming, and graph algorithms, with an emphasis on time and space complexity. The course consists of programming assignments, a mid-term exam, and a final exam, with a grading policy of 30% for the mid-term and 70% for the final.

Uploaded by

hamefij140
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/ 2

Rev: September 08,

Course Outline: CS 241 Credit Hours: 2-1


2022

Design and Analysis of Algorithms

Text Book:

Introduction to Algorithms (Latest edition) by Thomas H. Corman,


Charles E. Leiserson,
Ronald L. Rivest and Clifford Stein

Reference Books:

1. Algorithm Design, (1st edition, 2013/2014), Jon Kleinberg, Eva Tardos,


2. Algorithms, (4th edition, 2011), Robert Sedgewick, Kevin Wayne

Course Description:

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

Course Objectives:

The course is driven by a series of extensive programming


assignments that actively engage the students in exploring the insight
of algorithms. An emphasis will be given to the time and space
complexity of the algorithm. At the end of the course, the students
should be able to design and implement time and space efficient
algorithms

Pre-requisite: Data Structures & Algorithms


Rev: September 08,
Course Outline: CS 241 Credit Hours: 2-1
2022

Grading Policy:-

Mid Term 30 %
Final Term 70 %

Week-wise Breakdown:

Week Topic/Activities Chapter


1
Introduction to Algorithms
2
Time and Space Complexity
3
Asymptotic Analysis
4
Recurrence
5 Recursive Algorithms
6 Sorting Algorithms, Insertion sort, selection sort,
Bubble sort,
7 Quick sort , merge sort, shell sort
8
Search Algorithms

Mid Term Exams


9 String Matching
10 Heap Tree and Sort
11
Universal Hashing
12 Divide and Conquer
13
Dynamic Programming
14 Amortized Analysis
15
Greedy Approach
16
Graph Theory

Final Exam

You might also like