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.

Course Related Links

How Google Search Works, from Algorithms to answers
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 about Algorithms
Running times of various Algorithms with Graphs
Data structure
Sigma Notation
Course Instructor

Dr. Sohail Aslam
Ph.D, University of Illinois,
at Urbana-Champaign
Books

Introduction to Algorithms by Thomas H.Cormen, Leiserson, Rivest, and Stein