Learn by Doing

Learn Java, algorithms, and more

Solve programming challenges in the browser

Jump right in to the topics you're interested in

Sign Up for Free to Start Learning
Java1

Java

Learn and practice Java with this online tutorial and challenges!

Learn Programming with Java
Simple loop0

Programming Practice

Practice programming by solving challenges.

Logic and Loops Practice
Fractal icon

Algorithms

Learn Algorithms and Data Structures by Solving Challenges. Pick a topic and Learn by Doing!

Basic Data Structures
Ruby code

Learn by Example

Learn or reference new languages with example code and challenges.

Learn Python by Example
Internet globe

Web Development

Learn how to create web applications.

About Programming
Bayes theorem

Mathematics

Learn Combinations and Probability.

Combinations & Permutations
Simple orbit icon
Motion and Gravity

All Modules »

See more topics to learn.

Contact Us