You are on page 1of 3

M.A.J.U.

Mohammad Ali Jinnah University


Islamabad Campus
Course No.: CS3163 Course Title: Design & Analysis of Algorithms Instructor: Omara Abdul Hamid Email Address: omara@jinnah.edu.pk Term (Semester): Spring 2011 Duration (in weeks): 16 Objectives: The objective of this course is to develop fundamental skills in designing and analyzing algorithms. Algorithm design has grown into a mature discipline with standard and powerful techniques and a sound mathematical basis. This course presents some fundamental concepts involved in the design and analysis of computer algorithms. We will learn the basic algorithm design techniques through concrete examples. The algorithms discussed concern classical problems in computer science and real problems that arise frequently in computer applications -- chosen from a variety of domains including sorting, searching, selection, string matching, graph algorithms, scheduling, geometric and numeric algorithms etc. This course will focus on the design and analysis of algorithms, although some implementation issues will also be considered. Course Pre-Requisite/Co-Requisite: Data Structures Discrete Mathematics Reference Books/Materials: 1. Introduction to the Design & Analysis of Algorithms By Anany Levitin 2. Foundations of Algorithms By Richard E. Neapolitan, Kumarss Naimipour, Northeastern Illinois University 2. Cormen, Leiserson and Rivest, Introduction to Algorithms, MIT Press,

Lecture Schedule (weekly): WEEK# 1 TOPICS i. Introduction of the course, Objectives, Motivation, Course Overview ii. Analysis of Algorithms, Time Complexity Analysis, Space Complexity Analysis, Asymptotic Notations i. Mathematical Analysis of Non-Recursive Algorithms. ii. Analysis of recursive Algorithms i. Analysis of recursive Algorithms ii. Divide & Conquer i. Merge Sort Analysis. ii. Quick Sort Analysis i. Strassens Matrix Multiplication, ii. Multiplication of large Integers i. Class Test 1 ii. Sorting in Linear Time, Radix Sort i. Sorting in Linear Time, Radix Sort ii. Dynamic Programming i. Binomial Coefficient ii. Chained matrix Multiplications MidTerm i. Floyds Algorithm for Shortest Paths ii. Optimal Binary Search i. The Travelling Sales Person Problem ii. Introduction to Greedy Approach i. Minimum Spanning Trees ii. Dijkstras Algorthms i. Scheduling ii. Greedy Approach Versus Dynamic Programming i. Knapsack Problem ii. Backtracking Technique i. Class Test 2 ii. N-Queen Problem iii. N-Queen Problem iv. Graph Coloring i. The Hamiltonian Circuits Problem. ii. The Sum-of-Subsets Problem i. Introduction to Computational Complexity and Intractability ii. Theory of NP

2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18

Evaluation Criteria:

Mid term Class Tests Final Quizzes (unannounced) Project Lab Test (unannounced) Assignments (individual)

20% 20% 20% 10% 10% 10% 10%