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


Learn and practice Java with this online tutorial and challenges!

Learn Programming with Java
Internet globe

Web Development

Learn how to create web applications.

Intro to Creating Websites
Simple loop0

Programming Practice

Practice programming by solving challenges.

Logic and Loops Practice
Fractal icon


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

Basic Data Structures


Explore programming challenges from past contests.

Ruby code

Learn by Example

Learn or reference new languages with example code and challenges.

Learn Python by Example
Bayes theorem


Learn Combinations and Probability.

Combinations & Permutations
Simple orbit icon
Motion and Gravity
Contact Us