Back to Algorithms, Part I
Princeton University

Algorithms, Part I

This course covers the essential information that every serious programmer needs to know about algorithms and data structures, with emphasis on applications and scientific performance analysis of Java implementations. Part I covers elementary data structures, sorting, and searching algorithms. Part II focuses on graph- and string-processing algorithms. All the features of this course are available for free. People who are interested in digging deeper into the content may wish to obtain the textbook Algorithms, Fourth Edition (upon which the course is based) or visit the website algs4.cs.princeton.edu for a wealth of additional material. This course does not offer a certificate upon completion.

Status: Java Programming
Status: Theoretical Computer Science
IntermediateCourse54 hours

Featured reviews

MB

4.0Reviewed Nov 18, 2016

I think it is a good course. I have known more about time complexity of algorithms and some applications of different kinds of the algorithms. I have spent more time then I though for this course.

ZZ

5.0Reviewed Jul 6, 2025

I mean it is alright like, you have to use some LLM in order for you to understand the code in current version of Java or any language you use to learn here. Very good explanations are provided.

RP

5.0Reviewed Jun 10, 2017

Incredible learning experience. Every programmer in industry should take this course if only to dispel the idea that with the advent of cloud computing exponential algorithms can still ruin your day!

SP

5.0Reviewed Sep 8, 2020

It was an wonder ful course that makes me proud and I was little disappointed that I can't get my certification after completion of it I was really tried hard to get on to so provide certificate

PK

5.0Reviewed May 20, 2017

Really helpful in understanding concepts in algorithms and data structures.I would suggest if another course with similar quality has been made available for students who wish to learn Java course.

GH

5.0Reviewed Jul 2, 2019

Excellent course, great material and the structure of the class allowed me to learn in depth and practice independently. I also appreciated the complexity of the automated assignment evaluation.

CS

5.0Reviewed Oct 26, 2021

Incredible learning experience. Every programmer in industry should take this course if only to dispel the idea that with the advent of cloud computing exponential algorithms can still ruin your day!

TT

5.0Reviewed Aug 31, 2023

The fact that it's free is just crazy And don't get discouraged by the fact that it's in Java, it doesn't really matter, you don't need in-depth knowledge of java to write the stuff required here.

J

5.0Reviewed Aug 29, 2022

Easy to learn & fun Java excercise questions! After completing the course I now feel I have a more correct understanding of the fundamental data structures and more knowledge about algorithms

HM

5.0Reviewed May 9, 2019

The best online course I've taken so far. The autograder really does its job! The tests are so thorough that it always takes me several attempts to finish an assignment, but it is always worth it!

CS

5.0Reviewed Jun 1, 2020

Great lectures. Lectures are a faster pace than most, which helped keep me engaged. Assignments are challenging yet well-polished, and the automated assignment grader provides helpful feedback.

JJ

5.0Reviewed Jun 8, 2020

The course is good and the concepts are clear to understand. Best course to choose if you want to learn Algorithms completely. Each and every concept is explained with good number of examples.