You must be logged in to take this course → LOGIN | REGISTER NOW

The algorithm is the set of rules that are followed by calculations and processes by computers. Learning how to design and analyze algorithms will put you in an advantage for your professional growth and development.

This **[course_title]** will introduce you the teaching techniques focusing on the design and analysis of efficient algorithm with emphasis on the methods of application. You will be provided with information on dynamic programming, complexity, etc. here.

**Assessment**

This course does not involve any written exams. Students need to answer 5 assignment questions to complete the course, the answers will be in the form of written work in pdf or word. Students can write the answers in their own time. Each answer needs to be 200 words (1 Page). Once the answers are submitted, the tutor will check and assess the work.

**Certification**

Edukite courses are free to study. To successfully complete a course you must submit all the assignment of the course as part of the assessment. Upon successful completion of a course, you can choose to make your achievement formal by obtaining your Certificate at a cost of £49.

Having an Official Edukite Certification is a great way to celebrate and share your success. You can:

- Add the certificate to your CV or resume and brighten up your career
- Show it to prove your success

Course Credit: MIT

### Course Curriculum

Lecture 1: Overview, Interval Scheduling | 00:24:00 | ||

Lecture 2: Divide & Conquer: Convex Hull, Median Finding | 00:21:00 | ||

Lecture 3: Divide & Conquer: FFT | 00:21:00 | ||

Lecture 4: Divide & Conquer: van Emde Boas Trees | 00:20:00 | ||

Lecture 5: Amortization: Amortized Analysis | 00:16:00 | ||

Lecture 6: Randomization: Matrix Multiply, Quicksort | 00:22:00 | ||

Lecture 7: Randomization: Skip Lists | 00:21:00 | ||

Lecture 8: Randomization: Universal & Perfect Hashing | 00:22:00 | ||

Lecture 9: Augmentation: Range Trees | 00:25:00 | ||

Lecture 10: Dynamic Programming: Advanced DP | 00:20:00 | ||

Lecture 11: Dynamic Programming: All-Pairs Shortest Paths | 00:22:00 | ||

Lecture 12: Greedy Algorithms: Minimum Spanning Tree | 00:22:00 | ||

Lecture 13: Incremental Improvement: Max Flow, Min Cut | 00:23:00 | ||

Lecture 14: Incremental Improvement: Matching | 00:23:00 | ||

Lecture 15: Linear Programming: LP, reductions, Simplex | 01:22:00 | ||

Lecture 16: Complexity: P, NP, NP-completeness, Reductions | 01:25:00 | ||

Lecture 17: Complexity: Approximation Algorithms | 01:21:00 | ||

Lecture 18: Complexity: Fixed-Parameter Algorithms | 01:17:00 | ||

Lecture 19: Synchronous Distributed Algorithms: Symmetry-Breaking. Shortest-Paths Spanning Trees | 01:17:00 | ||

Lecture 20: Asynchronous Distributed Algorithms: Shortest-Paths Spanning Tree | 01:12:00 | ||

Lecture 21: Cryptography: Hash Functions | 01:22:00 | ||

Lecture 22: Cryptography: Encryption | 01:24:00 | ||

Lecture 23: Cache-Oblivious Algorithms: Medians & Matrices | 01:20:00 | ||

Lecture 24: Cache-Oblivious Algorithms: Searching & Sorting | 01:17:00 | ||

Assessment | |||

Submit Your Assignment | 00:00:00 |

### Course Reviews

No Reviews found for this course.

**374 STUDENTS ENROLLED**