Algorithmic Design and Techniques

Provided by The University of California, San Diego (UCSanDiegoX)
Learn
Free
Upgrade
$150 USD

Intermediate
See prerequisites

Learn how to design algorithms, solve computational problems and implement solutions efficiently.

Course Format:Instructor-Led
Start Date:Mar 23, 2019

What you will learn

  • Essential algorithmic techniques - greedy algorithms, divide and conquer, binary search, sorting, dynamic programming
  • Best practices of implementing algorithms efficiently
  • Ways of testing and debugging programs

Overview

In this course, part of the Algorithms and Data Structures MicroMasters program, you will learn basic algorithmic techniques and ideas for computational problems, which arise in practical applications such as sorting and searching, divide and conquer, greedy algorithms and dynamic programming.

This course will cover theories, including:

  • how to sort data and how it helps for searching;
  • how to break a large problem into pieces and solve them recursively;
  • when it makes sense to proceed greedily;
  • how dynamic programming is used in genomic studies.

You will practice solving computational problems, designing new algorithms, and implementing solutions efficiently (so that they run in less than a second).

Before you start

  • Basic knowledge of at least one programming language: loops, arrays, stacks, recursion.
  • Basic knowledge of mathematics: proof by induction, proof by contradiction.
  • Instructor-Led: course contains assignments and exams that have specific due dates, and you complete the course within a defined time period.
  • Course ends: Mar 23, 2019
Of all edX learners:
73% are employed
Of all edX learners:
45% have children
Based on internal survey results
302,697 people are learning on edX today