DZone
Web Dev Zone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
  • Refcardz
  • Trend Reports
  • Webinars
  • Zones
  • |
    • Agile
    • AI
    • Big Data
    • Cloud
    • Database
    • DevOps
    • Integration
    • IoT
    • Java
    • Microservices
    • Open Source
    • Performance
    • Security
    • Web Dev
DZone > Web Dev Zone > Online Python Tutor

Online Python Tutor

Chris Smith user avatar by
Chris Smith
·
Feb. 20, 12 · Web Dev Zone · Interview
Like (0)
Save
Tweet
6.36K Views

Join the DZone community and get the full member experience.

Join For Free
Philip J. Guo, a Stanford Computer Science Ph.D. student and Python enthusiast, published an online Python tutor that allows the user to type Python scripts into a web browser, execute them, and the user can view the run-time state of the data structures by single-stepping forwards and backwards.

Using this tool, teachers and students can write small Python code snippets together and see what happens to the data structures when the code gets executed.

-- Philip J. Guo

While the application uses a HTML/JavaScript front-end, the back-end is "pure-Python", and the two communicate through AJAX calls.  The application supports Python 2.5 through CGI, but is prone to fail on other Python 2.X and does not support Python 3.X.

The application has five main goals:


Learn

"The Online Python Tutor provides a rich visualization of variables, heap objects, and stack frames" as a HTML diagram, properly displaying aliasing relationships.



Solve

By providing a web-based interface where users can write solutions and test codes, the Online Python Tutor allows users to practice programming problems similar to those they would face in the real world and know immediately whether or not their coding was correct, and how to fix incorrect code.




Debug


Using the Online Python Tutor's bidirectional single-stepping and data structure visualization capabilities, students can practice debugging, an important skill which is rarely covered in web-based programming problems.

-- Philip J. Guo

Optimize

Students can refactor already-correct programs to improve run speed and reduce instructions.  This allows them to work on problems like, "Optimize this program so that it terminates correctly after running less than 50 line of Python code."

Create

The Tutor offers a "Create" feature that allows teaches to easily create practice problems through a lightweight plain text format.

I plan to add support for semantic constraints like 'don't allow the program to create any auxiliary data structures', which could be used for problems like 'merge these two lists in-place without creating any new temporary lists'.

-- Philip J. Guo

Learn more about the Online Python Tutor.
Python (language)

Opinions expressed by DZone contributors are their own.

Popular on DZone

  • How to Submit a Post to DZone
  • Hard Things in Computer Science
  • DZone's Article Submission Guidelines
  • Top 7 Features in Jakarta EE 10 Release

Comments

Web Dev Partner Resources

X

ABOUT US

  • About DZone
  • Send feedback
  • Careers
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • MVB Program
  • Become a Contributor
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 600 Park Offices Drive
  • Suite 300
  • Durham, NC 27709
  • support@dzone.com
  • +1 (919) 678-0300

Let's be friends:

DZone.com is powered by 

AnswerHub logo