Course: AMT 211 2.0 Design and Analysis of Algorithms (Compulsory)
Course content: Mathematics for the Analysis of Algorithms; Binomial Identities, Recurrence Relations, Operator Methods, Asymptotic Analysis; Introduction to Algorithm Design, Validation and Analysis; Analysis of Algorithms: Best, Average, and Worst Case Running Times, Big O, Little o, Ω (Omega), and Θ (Theta) Notations, Complexity classes; Time Complexity of Searching and Shorting Algorithms: Sequential and Binary Search Algorithms, Sorting Algorithms, Breadth First and Depth First Search Algorithms; Algorithm Design Strategies: Divide and Conquer Techniques, Dynamic Programming, Greedy Algorithms
Recommended Readings: Thomas H. Cormen, Charles E. Leiserson, and Ronald L. Rivest, Introduction to Algorithms, 3rd Edition, MIT Press, 2009.