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: MWF 2:00-2:50p, Stanley Thomas 302Problem Sessions: Th 11:00-12:15p, Gibson 325
Contact Information
Instructor: | Ramgopal Mettu |
Telephone: | 504.865.5804 |
Office: | Stanley Thomas 303E |
Email: | rmettu@tulane.edu |
Office Hours: | M 3-4p or by appointment |
Teaching Assistant: | Majid Mirzanezhad |
Office: | ST 309 |
Office Hours: | Tu 10:00-11:30 |
Template design by Andreas Viklund