• No products in the cart.

Algorithms are the core of most technologies used in contemporary computers. Practical applications of algorithms are ubiquitous. This [course_title] examines the characteristics of algorithms that lead to efficient computer solutions for discrete problems. A variety of different algorithm classes and design techniques, including divide and conquer, greedy, dynamic programming, and backtracking, are introduced and compared. Design and analysis of randomized algorithms is introduced, along with strategies for dealing with computationally hard problems.


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.


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: Open Culture

Course Curriculum

Module: 01
Introduction to the course and algorithm complexity 00:49:00
Big-Oh, Omega and Theta notation 00:48:00
Time analysis of Mergesort 00:50:00
A more complex recurrence relation and counting inversions 00:53:00
Counting inversions; Fast integer multiplication 00:48:00
Module: 02
Fast integer multiplication, randomized selection and median finding 00:58:00
More on randomized selection and median finding 00:52:00
Expected number of comparisons in randomized select 00:50:00
Greedy algorithms: Picking largest set of non-overlapping intervals 00:51:00
Greedy algorithms: The classroom scheduling problem 00:17:00
Module: 03
Dijkstra’s shortest path algorithm 00:42:00
Start of minimum spanning tree problem 00:49:00
Correctness of Kruskal’s algorithm. 00:27:00
Recursive programming and memoization 00:48:00
Intro to dynamic programming, weighted interval problems 00:50:00
Module: 04
Intro to the RNA folding problem and recurrences 00:50:00
Dynamic programming for RNA folding. 00:50:00
Dynamic programming for shortest path problem 00:38:00
Floyd-Warshall algorithm for all-pairs shortest path 00:48:00
The unique-decipherability problem 00:52:00
Module: 05
Unique-Decipherability. Graph algorithm and proof of correctness 00:51:00
Linear-time pattern matching. Z-values and Z-algorithm 00:52:00
Finish of Linear-time pattern matching 00:52:00
Introduction to approximation algorithms 00:48:00
Introduction to P and NP 00:50:00
Module: 06
An intuitive view of NP 00:48:00
Major theorems of NP-completeness 00:50:00
Coping with NP-completeness 00:40:00
Submit Your Assignment 00:00:00
Certification 00:00:00

Course Reviews


9 ratings
  • 5 stars0
  • 4 stars0
  • 3 stars0
  • 2 stars0
  • 1 stars0

No Reviews found for this course.

©2021 Edukite. All Rights Resereved
EduKite is a part of Ebrahim College, Charity commission reg no. 1108141