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

This branch is 2428 commits ahead of hcientist/OnlinePythonTutor:master.

Folders and files

NameName
Last commit message
Last commit date
Jul 27, 2016
Dec 16, 2014
Mar 22, 2018
Apr 13, 2018
Apr 7, 2018
Jul 27, 2016
Feb 11, 2015
Jun 9, 2016
Mar 19, 2018
Mar 18, 2018
Mar 22, 2018

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 - joshua@landau.ws - 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%