Skip to content

Visualize Python, Java, JavaScript, TypeScript, Ruby, C, and C++ code execution in your Web browser

License

Notifications You must be signed in to change notification settings

ajesse11x/OnlinePythonTutor

 
 

Repository files navigation

Python Tutor -- http://pythontutor.com/ -- helps people overcome a fundamental barrier to learning programming: understanding what happens as the computer executes each line of a program's source code. Using this tool, you can write Python, Java, JavaScript, TypeScript, Ruby, C, and C++ programs in your Web browser and visualize what the computer is doing step-by-step as it executes those programs.

This tool was created by Philip Guo in January 2010. See project history.

The latest development version of the code is in v5-unity, although lots of legacy documentation still resides in v3.

All documentation is viewable online at: https://github.com/pgbovine/OnlinePythonTutor/tree/master/v3/docs

Quick Start

BY FAR the most preferred way to use Python Tutor is via the official website, since it contains the latest updates: http://pythontutor.com/

You can use iframe embedding to easily embed visualizations on your webpage.

If you want to run locally on your own computer, to run Python visualizations try:

pip install bottle # make sure the bottle webserver (http://bottlepy.org/) is installed
cd OnlinePythonTutor/v5-unity/
python bottle_server.py

You should see the visualizer at: http://localhost:8003/visualize.html

... and the live programming environment at: http://localhost:8003/live.html

However, it can be hard to run your own visualizer locally for non-Python languages, since there are complex dependencies in v4-cokapi/ that I haven't yet cleanly packaged up. By default, the local version you run will call my own server to run the non-Python backends, so please be mindful of your bandwidth usage.

For further directions, see Overview for Developers or explore the rest of the docs.

Acknowledgments

For code or security contributions

  • John DeNero - for helping with the official Python 3 port and lots of code patches
  • Chris Horne - https://github.com/lahwran - for security tips
  • Joshua Landau - [email protected] - for security tips
  • David Wyde - https://davidwyde.com/ - for security tips
  • Peter Wentworth and his students - for working on the original Python 3 fork circa 2010/2011
  • Brad Miller - for adding pop-up question dialogs to visualizations, and other bug fixes
  • David Pritchard and Will Gwozdz - for the Java visualizer and other frontend enhancements
  • Peter Robinson - for v3/make_visualizations.py
  • Chris Meyers - for custom visualizations such as v3/matrix.py and v3/htmlFrame.py
  • Irene Chen - for holistic visualization mode -- v3/js/holistic.js

For general advice and feedback about this project:

  • Ned Batchelder
  • Jennifer Campbell
  • John Dalbey
  • John DeNero
  • Fredo Durand
  • Michael Ernst
  • David Evans
  • Paul Gries
  • Mark Guzdial
  • Adam Hartz
  • Sean Lip
  • Tomas Lozano-Perez
  • Bertram Ludaescher
  • Brad Miller
  • Rob Miller
  • Peter Norvig
  • Andrew Petersen
  • David Pritchard
  • Suzanne Rivoire
  • Guido van Rossum
  • Peter Wentworth
  • David Wilkins

... and many, many more!

About

Visualize Python, Java, JavaScript, TypeScript, Ruby, C, and C++ code execution in your Web browser

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 72.6%
  • JavaScript 8.9%
  • Roff 4.3%
  • HTML 4.1%
  • C++ 3.0%
  • Java 1.3%
  • Other 5.8%