You must be logged in to take this course → LOGIN | REGISTER NOW
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.
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: 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 | ||
Assessment | |||
Submit Your Assignment | 00:00:00 | ||
Certification | 00:00:00 |
Course Reviews
No Reviews found for this course.