MS 101 Algorithms Instructor Neelima Gupta nguptacs du
- Slides: 10
MS 101: Algorithms Instructor Neelima Gupta ngupta@cs. du. ac. in
Table of Contents • About the course • Mathematical Induction • Asymptotic Notation
Assumption/ Pre-requisite • Some exposure to – Algorithm development - at least sorting and searching – Analysis of algorithms - least sorting and searching ------- The Big O, Omega and Theta Notations – Proving the correctness of algorithms – Solving recurrence relations We will review these topics but will go a little fast … Those who do not have this background are requested to work harder in the initial weeks and come at par with the rest
Syllabus • Review of algorithm design techniques like Iterative Techniques and Divide & Conquer through Sorting, Searching and Selection problems. • Review of Lower Bounding techniques: decision trees, adversary. • String Processing: KMP, Boyre-Moore, Rabin Karp algorithms. • Introduction to randomized algorithms: random numbers, randomized quick sort, randomly built binary search tree. • Number Theoretic Algorithms: GCD, addition and multiplication of two large numbers, polynomial arithmetic, Fast-Fourier transforms. • Advanced Techniques to analyze algorithms: Use and study advanced data structures union-find ( Disjoint Set Structure), Fibonacci heaps. • Graph algorithms: Matching and Flows. • Parallel algorithms: Basic techniques for sorting, searching and merging in parallel. • Geometric algorithms: Point location, Convex hulls and Voronoi diagrams. • Complexity Theory: Classes P, NP-Hard, NP Complete. • Approximation Algorithms: Introduction through examples.
Books • • • T. H. Cormen, C. E. Leiserson, R. L. Rivest, and C. Stein, Introduction to Algorithms, Mc. Graw-Hill, 2002. Sara Baase, Computer Algorithms: Introduction to Design and Analysis, Addison Wesley, 1999 Vijay V. Vazirani, Approximation Algorithms, Springer-Verlag, France, 2006. Jaohn Kleinberg and Eva Tardos, Algorithm Design, F P Preparata and M I Shamos, Computational Geometry: An Introduction Springer, 1993.
The Course • Purpose: a rigorous introduction to the design and analysis of algorithms – Not a lab or programming course – Not a math course, either • The course involves a lot of self-study. Off n On topics will be given for self-study which will be part of syllabus for exams.
The Course • Format – Three lectures/week – Two groups of Tutorials (details will follow) – Homework most weeks • Problem sets – Two Minors + one final exam(Major)
Grading policy – Homework Assignment : 15% – Minor 1: 15% – Minor 2: 15% – Major : 50% – Attendance : 5%
Tutorial • • Group 1 : Roll No 1 -15, Group leader – Roll No 1 Group 2 : Roll No 16 -30, Group leader – Roll No 16 Group Leaders can be changed/rotated, if the need be First half an hr – students doubts will be taken( 2 marks out of 5 for attendance will be for the interaction during this period) Next half an hr – a problem will be given to be solved in 15 min + 15 min of evaluation ---- Please stick to time. . This will be graded, to be counted under homework assignment. Sometimes the problem/s may be given for home, but that’s only my decision. . No request will be granted in this regard. To be able to stick to timings. . I would request you to collect your doubts and mail to your group leader who will collect similar problems into one and mail the final list to me a day before at ngupta@cs. du. ac. in, FAILING which your doubts will not be taken up in the tutorial class.
• The course is tough • Don’t worry, we’ll make it interesting. ALL THE BEST