logo Practice-It logo

purple cow
Hugh Heifer, the Practice-It mascot

Practice-It version 4.0.10 (2017/1/4)

Practice-It is a web application to help you practice solving Java programming problems online.

To use Practice-It, first create an account, then choose a problem from our list. Type a solution and submit it to our server. The system will test it and tell you whether your solution is correct.

Marty Stepp, of Stanford University Computer Science, is the primary developer of Practice-It, although Practice-It is an independent tool not directly affiliated with Stanford University nor any other university. Marty runs a similar site, CodeStepByStep.com, that offers a different selection of coding problems for Java, C++ and Python.

Current contributors to Practice-It also include:

  • Alexander Miller, University of Washington
  • Melissa Galloway, University of Washington
  • Ryan Rowe, University of Washington
  • Whitaker Brand, University of Washington

Some notable past contributors to the development and administration of Practice-it are:

  • Katlyn Edwards
  • Zack Cava
  • Jessica Miller

Also thanks to:

  • Zorah Fung for drawing the Practice-It logo image and mascot
  • Glen Herrmannsfeldt from Caltech for contacting us with many bug fixes and suggestions for improvement to the quality of the system
  • Countless other teaching assistants and colleagues who added problems

Practice-It is inspired by similar tools such as CodingBat, JavaBall, and CodeWrite.

Our Privacy Policy

What's New:

  • [2017/1/4] v4.0.10 posted.
    • Fixed bug where submit button could be spammed
    • Added CSV download support
    • Relaxed the way certain solutions are evaluated
    • Fixed numerous content issues with problems
    • Show problem solved status in search page
  • [2016/10/11] v4.0.8 posted.
    • Fixed numerous content issues with problems
    • Other small miscellaneous bug fixes
  • [2016/09/06] v4.0.7 posted.
    • Added BJP4 problems. (Big thanks to Melissa Galloway for helping with this.)
    • Improved performance of problem list page
    • Improved layout of some pages
    • Contact form now automatically includes problem information
    • Various problem bug fixes
  • [2016/08/23] v4.0.6 posted.
    • Fixed scrolling on solution box
    • Problems that return arrays now print out full array
    • Certain problems that enforce immutable parameters are fixed
    • Problems that require writing to a PrintStream are fixed
    • Problems that compare maps and sets no longer enforce an order
    • Other small formatting and content fixes
    • Removed link to old Practice-it
  • [2016/08/09] v4.0.5 posted.
    • Fix for problems that returned arrays
    • Fix for some problems that returned other types
    • Fix for problems that throw exceptions
    • Longer usernames are now allowed
  • [2016/08/01] v4.0.4 posted.
    • Administrator features fixes
    • Style tweaks
  • [2016/07/21] v4.0.3 posted.
    • Important security updates.
    • Fixed some array problems.
    • Fixed some problems with images.
    • "Favorite" button works again.
    • Fix formatting issues with solution box.
  • [2016/07/12] v4.0.2 posted.
    • Fixed problems with collections of integers.
    • Fixed problems with Deque.
    • Other small bug fixes.
  • [2016/07/09] v4.0.1 posted.
    • Changed versioning scheme. Current major version is 4.
    • Fixed problems where array is returned.
    • Fixed CSE 373 problems.
    • Problems with randomness now test more accurately.
    • Problem number displayed in problem view.
    • Fixed bug when creating new account where usernames appeared not to be available.
    • Many other bug fixes for problems.
  • [2016/05/25] v1.0b posted. Major changes to site UI. Partial AWS integration. Preparations for open-sourcing codebase. Bug fix for DrawingPanel problems. Transitioned from Prototype to jQuery. Allow username changes.
  • [2016/02/19] v0.6.2 posted. Bug fixes with C++ compiler errors. Bug fixes for Python syntax highlighting.
  • [2015/12/18] v0.6.1 posted. Bug fixes and improved CSS on mobile devices. Several problems added.
  • [2015/11/30] v0.6.0 posted. Initial version of asynchronous job queue added. This will improve performance during high-traffic times and facilitate later work to integrate AWS / cloud features into the system.
  • [2015/11/24] v0.5.4 posted. Improved icons; redesigned UI for test runs. New refactored compiler error / exception output for Java/C++/Python including exception stack traces.
  • [2015/11/23] v0.5.3 posted. Initial Python support.
  • [2015/11/19] v0.5.0 posted. UI cleanup.
  • [2015/09/01] Initial site created.

Is there a problem? Contact a site administrator.