CS502 - Fundamentals of Algorithms Course Page Mcqs Q & A Video Downloads Course Category: Computer Science/Information Technology Course Level: Imdregraduate Credit Hours: 3 Pre-requisites: CS401

# Course Synopsis

This course is designed to provide students with an understanding of the principles and techniques used in the design and analysis of algorithms. The course is primarily theoretical and does not require programming, but it does require understanding of the notion of a mathematical proof and some knowledge of elementary discrete mathematics. We will discuss and analyze a variety of data structures and algorithms chosen for their importance and their illustration of fundamental concepts. We will emphasize analyzing the worst-case running time of an algorithm as a function of input size. We will also spend some time exploring the boundary between feasible computations, taken to be those doable in polynomial time, and infeasible computations

# Course Learning Outcomes

At the end of this course you should be able to :
• Analyze the worst-case running time of an algorithm as a function of input size
• Solve Recurrence relations
• Understand and implement Divide and Conquer strategy
• Understand the concepts of Dynamic programming
• Understand the concepts of Greedy Algorithm
• Understand the concepts of Graph traversing
• Understand and explain basics of Complexity theory

# Course Contents

Analyzing the worst-case running time of an algorithm as a function of input size, solve recurrence relations, Basics of Divide and Conquer strategy, Understand the concepts of Dynamic programming, Understand the concepts of Greedy Algorithm, Understand the concepts of Graph traversing, Understand the concepts of MST and their algorithms, Understand the algorithms for computing shortest path, Basics of Complexity theory.

List of Algorithms
General Link to course related material
Using Prim Algorithm With The Adjoining Array
Dijkstra's Algorithm Animation
Big-O Complexities of common algorithms used in Computer Science
Breadth First Search/Depth First Search Animations
Dictionary of Algorithms and Data Structures
Animations of Algorithms
Sorting Algorithm Animations
Dynamic Programming
 Course Instructor Dr. Sohail Aslam Ph.D, University of Illinois, at Urbana-Champaign Javascript is disable - Webestools - Vote Service (notation module) Books Introduction to Algorithms by Thomas H.Cormen, Leiserson, Rivest, and Stein