About this Specialization

79,180 recent views
Computer science legend Donald Knuth once said “I don’t understand things unless I try to program them.” We also believe that the best way to learn an algorithm is to program it. However, many excellent books and online courses on algorithms, that excel in introducing algorithmic ideas, have not yet succeeded in teaching you how to implement algorithms, the crucial computer science skill that you have to master at your next job interview. We tried to fill this gap by forming a diverse team of instructors that includes world-leading experts in theoretical and applied algorithms at UCSD (Daniel Kane, Alexander Kulikov, and Pavel Pevzner) and a former software engineer at Google (Neil Rhodes). This unique combination of skills makes this Specialization different from other excellent MOOCs on algorithms that are all developed by theoretical computer scientists. While these MOOCs focus on theory, our Specialization is a mix of algorithmic theory/practice/applications with software engineering. You will learn algorithms by implementing nearly 100 coding problems in a programming language of your choice. To the best of knowledge, no other online course in Algorithms comes close to offering you a wealth of programming challenges (and puzzles!) that you may face at your next job interview. We invested over 3000 hours into designing our challenges as an alternative to multiple choice questions that you usually find in MOOCs.
Shareable Certificate
Earn a Certificate upon completion
100% online courses
Start instantly and learn at your own schedule.
Coursera Labs
Includes hands on learning projects.
Learn more about Coursera Labs External Link
Flexible Schedule
Set and maintain flexible deadlines.
Intermediate Level
Approximately 8 months to complete
Suggested pace of 6 hours/week
English
Shareable Certificate
Earn a Certificate upon completion
100% online courses
Start instantly and learn at your own schedule.
Coursera Labs
Includes hands on learning projects.
Learn more about Coursera Labs External Link
Flexible Schedule
Set and maintain flexible deadlines.
Intermediate Level
Approximately 8 months to complete
Suggested pace of 6 hours/week
English

How the Specialization Works

Take Courses

A Coursera Specialization is a series of courses that helps you master a skill. To begin, enroll in the Specialization directly, or review its courses and choose the one you'd like to start with. When you subscribe to a course that is part of a Specialization, you’re automatically subscribed to the full Specialization. It’s okay to complete just one course — you can pause your learning or end your subscription at any time. Visit your learner dashboard to track your course enrollments and your progress.

Hands-on Project

Every Specialization includes a hands-on project. You'll need to successfully finish the project(s) to complete the Specialization and earn your certificate. If the Specialization includes a separate course for the hands-on project, you'll need to finish each of the other courses before you can start it.

Earn a Certificate

When you finish every course and complete the hands-on project, you'll earn a Certificate that you can share with prospective employers and your professional network.

There are 6 Courses in this Specialization

Course1

Course 1

Algorithmic Toolbox

4.6
stars
12,127 ratings
Course2

Course 2

Data Structures

4.6
stars
5,154 ratings
Course3

Course 3

Algorithms on Graphs

4.7
stars
2,182 ratings
Course4

Course 4

Algorithms on Strings

4.5
stars
1,020 ratings

Offered by

Placeholder

University of California San Diego

Industry Partners
Placeholder
Placeholder
Placeholder

Frequently Asked Questions

More questions? Visit the Learner Help Center.