Welcome to the self-paced course, Algorithms: Design and Analysis! Algorithms are the heart of computer science, and the subject has countless practical applications as well as the intellectual depth. This specialization is an introduction to algorithms for learners with at least a little programming experience. The specialization is rigorous but emphasizes the big picture and conceptual understanding over low-level implementation and the mathematical details.

**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: Stanford University

### Course Curriculum

Why Study Algorithms? | 00:04:00 | ||

Integer Multiplication | 00:09:00 | ||

Karatsuba Multiplication | 00:13:00 | ||

About the Course | 00:17:00 | ||

Merge Sort: Motivation and Example | 00:09:00 | ||

Merge Sort: Pseudocode | 00:13:00 | ||

Merge Sort: Analysis – Part 1 | 00:09:00 | ||

Guiding Principles for Analysis of Algorithms | 00:15:00 | ||

ASYMPTOTIC ANALYSIS | 00:14:00 | ||

Big-Oh Notation | 00:04:00 | ||

Basic Examples | 00:07:00 | ||

Big Omega and Theta | 00:07:00 | ||

Additional Examples (Optional) | 00:08:00 | ||

Algorithm for Counting Inversions I | 00:13:00 | ||

Algorithm for Counting Inversions II | 00:17:00 | ||

Strassen’s Subcubic Matrix Multiplication Algorithm | 00:22:00 | ||

Algorithm for Closest Pair I | 00:32:00 | ||

Algorithm for Closest Pair II | 00:19:00 | ||

Motivation | 00:08:00 | ||

Formal Statement | 00:10:00 | ||

Examples | 00:13:00 | ||

Proof I | 00:10:00 | ||

Interpretation of the 3 Cases | 00:11:00 | ||

Proof II | 00:16:00 | ||

Quicksort: Overview | 00:12:00 | ||

Partitioning Around a Pivot | 00:25:00 | ||

Correctness of Quicksort [Review – Optional] | 00:11:00 | ||

Choosing a Good Pivot | 00:22:00 | ||

Analysis I: A Decomposition Principle | 00:22:00 | ||

Analysis II: The Key Insight | 00:12:00 | ||

Analysis III: Final Calculations | 00:09:00 | ||

Probability Review I | 00:26:00 | ||

Probability Review II | 00:17:00 | ||

Randomized Select – Algorithm | 00:22:00 | ||

Randomized Selection – Analysis | 00:21:00 | ||

Deterministic Selection – Algorithm | 00:17:00 | ||

Deterministic Selection – Analysis I | 00:22:00 | ||

Deterministic Selection – Analysis II | 00:13:00 | ||

Omega(n log n) Lower Bound for Comparison-Based Sorting | 00:14:00 | ||

Graphs and Minimum Cuts | 00:16:00 | ||

Graph Representations | 00:14:00 | ||

Random Contraction Algorithm | 00:09:00 | ||

Analysis of Contraction Algorithm | 00:30:00 | ||

Counting Minimum Cuts | 00:07:00 | ||

Graph Search – Overview | 00:23:00 | ||

Breadth-First Search (BFS): The Basics | 00:14:00 | ||

BFS and Shortest Paths | 00:08:00 | ||

BFS and Undirected Connectivity | 00:13:00 | ||

Depth-First Search (DFS): The Basics | 00:07:00 | ||

Topological Sort | 00:22:00 | ||

Computing Strong Components: The Algorithm | 00:29:00 | ||

Computing Strong Components: The Analysis | 00:26:00 | ||

Structure of the Web | 00:19:00 | ||

Dijkstra’s Shortest-Path Algorithm | 00:21:00 | ||

Dijkstra’s Algorithm: Examples | 00:13:00 | ||

Correctness of Dijkstra’s Algorithm | 00:19:00 | ||

Dijkstra’s Algorithm: Implementation and Running Time | 00:26:00 | ||

Data Structures: Overview | 00:05:00 | ||

Heaps: Operations and Applications | 00:18:00 | ||

Heaps: Implementation Details | 00:21:00 | ||

Balanced Search Trees: Operations and Applications | 00:11:00 | ||

Binary Search Tree Basics I | 00:13:00 | ||

Binary Search Tree Basics II | 00:30:00 | ||

Red-Black Trees | 00:21:00 | ||

Rotations | 00:08:00 | ||

Insertion in a Red-Black Tree | 00:15:00 | ||

Hash Tables: Operations and Applications | 00:19:00 | ||

Hash Tables: Implementation Details I | 00:19:00 | ||

Hash Tables: Implementation Details II | 00:21:00 | ||

Pathological Data Sets and Universal Hashing Motivation | 00:22:00 | ||

Universal Hashing: Definition and Example | 00:26:00 | ||

Universal Hashing: Analysis of Chaining | 00:19:00 | ||

Hash Table Performance with Open Addressing | 00:16:00 | ||

Bloom Filters: The Basics | 00:15:00 | ||

Bloom Filters: Heuristic Analysis | 00:13:00 | ||

Assessment | |||

Submit Your Assignment | 00:00:00 | ||

Certification | 00:00:00 |

### Course Reviews

No Reviews found for this course.

**7 STUDENTS ENROLLED**