Skip available courses
This course focuses on the:
- fundamentals of computer algorithms,
- emphasizing methods useful in practice.
- We look into the algorithm analysis as a way to understand behavior of computer programs as a function of its input size.
- Using the big-O notation, we classify algorithms by their efficiency.
- We look into basic algorithm strategies and approaches to problem solving.
- Some of these approaches include the divide and conquer method, dynamic programming, and greedy programming paradigms.
- Sorting and searching algorithms are discussed in detail as they form part of a solution to a large number of problems solved using computers.
- We also provide an introduction to the graph theory and graph algorithms as they are also used in many computer-based applications today.
- We conclude the course with a look into a special class of problems called the NP-complete problems.