## Introduction to Algorithms

**Instructor**: Ramgopal Mettu

This course will survey the design and analysis of algorithms. We will study several basic algorithmic paradigms (e.g. divide-and-conquer, dynamic programming, the greedy approach and randomization), their application to core problems in graph theory and optimization, as well as analysis of time and space complexity. Our focus will be on understanding these paradigms and studying the algorithmic problems that can be solved using that particular paradigm with respect to particular application areas. We will cover the following topics in this course:

- Asymptotic Notation and Computational Models
- Divide-and-Conquer Algorithms
- Greedy Algorithms
- Dynamic Programming
- Graph Algorithms
- Network Flows and Linear Programming
- Computational Tractability and Complexity

For each of these, we will consider a number of different application areas (e.g. divide-and-conquer algorithms for scientific computing, sorting, etc.). At the end of this course, students should be able to:

- Apply the appropriate paradigm of algorithm design to a given computational problem.
- Reason about the worst-case behavior and correctness of a given algorithm, and how these might compare to alternative approaches to the given problem.
- Be proficient in the application of basic algorithm approaches (e.g. divide-and-conquer, the greedy stragety, dynamic programming, etc.) as they apply to a number of different application areas (e.g. scientific computing, networks, scheduling, data analysis, etc.).

### Prerequisites

You must have completed CMPS 1500, CMPS 1600 prior to enrolling, and MATH 2170 is a co-requisite.### Meeting Time and Place

**Lectures**: TuTh 9:30-10:45p, Stanley Thomas 302

**Problem Sessions (as needed)**: Th 11:00-12:15p, Stanley Thomas 302

### Contact Information

Instructor: | Ramgopal Mettu |

Telephone: | 504.865.5804 |

Office: | Stanley Thomas 303E |

Email: | rmettu@tulane.edu |

Office Hours: | TuTh 11-12p or by appointment |

*Template design by Andreas Viklund*