forked from hcientist/OnlinePythonTutor
-
Notifications
You must be signed in to change notification settings - Fork 0
/
README
190 lines (144 loc) · 6.92 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
Online Python Tutor is a free educational tool created by Philip Guo
that helps students 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, a teacher or student
can write Python, Java, or JavaScript code in the Web browser and visualize
what the computer is doing step-by-step as it executes that code.
http://pythontutor.com/
https://github.com/pgbovine/OnlinePythonTutor/
======
Copyright (C) Philip J. Guo ([email protected])
Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:
The above copyright notice and this permission notice shall be included
in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
======
All documentation is viewable online at:
https://github.com/pgbovine/OnlinePythonTutor/tree/master/v3/docs
The v3/ sub-directory contains the latest version of the code.
---
History:
v1-v2/
Online Python Tutor version 1 - released on January 19, 2010
"Release" email to 15 friends:
Subject: version 0.0000001alpha of my online Python tutor
Body:
'''
hi python fans (and non-fans) ...
this is what i've been hacking on for the past few days instead of
doing my research ;) i'm planning to use it as a platform for
creating interactive online programming tutorials as part of a
volunteer project ...
http://python.pgrind.com/
it'd be great to get your feedback on what i have so far. i'd love
to hear suggestions or complaints. thanks in advance!
please don't share this link yet, mostly because my app is still
buggy and insecure (i definitely don't want random peoples from the
internet trying to hack it right now!)
pg
'''
Online Python Tutor version 2 - released on October 4, 2011
"Release" email to 13 friends:
Subject: Re: version 0.0000001alpha of my online Python tutor
Body:
'''
Dear subset of people who cared about my prior email from almost 2
years ago ...
I've recently kicked it up a notch with a "2.0" version and am about
to do a public release soon. I'd really appreciate any feedback,
criticism, and especially bug reports on Internet Explorer ;)
http://people.csail.mit.edu/pgbovine/opt-prerelease/
Please don't share the link yet since it will be dead soon when I
move this app to its permanent home. I just want to get some early
feedback to eliminate the obviously embarrassing bugs before launch.
THANKS!
pg
'''
v3/
Online Python Tutor version 3 - Released on September 18, 2012
to 153,000+ people on Google+:
https://plus.google.com/+ResearchatGoogle/posts/cseo9qi7LWq
"Release" announcement from the Research @ Google G+ account:
'''
Online Python Tutor: Web-Based Program Visualization for CS Education
As part of his CS education work at Google, +Philip Guo has been
developing an open-source educational tool called Online Python Tutor
(http://www.pythontutor.com). This tool enables teachers and students
to write Python programs directly in the web browser and then
single-step forwards and backwards to visualize what the computer is
doing as it executes those programs.
Program visualization for CS education is nothing new -- researchers
have been developing these sorts of tools for decades. However, most
of these tools never reach far beyond the confines of the researchers'
home universities due to the difficulty of installing and configuring
the visualization software. What makes Online Python Tutor unique and
effective is that it's the first known tool to adapt time-tested ideas
from the research literature (e.g., rendering of box-and-pointer
diagrams) for a web-based environment. Now anyone with a modern
browser can create, explore, and share their program visualizations by
simply visiting a web URL.
This ease of access has been a major contributor to adoption: So far,
over 100,000 people have used Online Python Tutor to understand and
debug their programs, often as a supplement to learning from
textbooks, lecture notes, and online programming tutorials. In
addition, instructors in over a dozen universities such as MIT, UC
Berkeley, and the University of Washington have used it for teaching
introductory computer science courses.
But this is just the beginning. Philip and his colleagues are now
building an online authoring environment so that, within the next few
months, teachers and students will be able to save their code snippets
and add annotations, discussion threads, lessons, and interactive
exercises on top of the associated visualizations.
They are also actively seeking partnerships with educators at all
grade levels to deploy and improve Online Python Tutor. Please contact
Philip directly or re-share this post with educators who might be
interested in working with this tool in any capacity.
Visit www.pythontutor.com to learn more and to start visualizing your
Python programs now!
'''
v4-cokapi/
2015-01-24 - started a new version (based on v3 code base) to expand
Online Python Tutor to support multiple languages such as JavaScript
and Java. Note that this contains only backend code, so we still rely
on v3/ for the frontend (and the original Python backend)
---
Acknowledgments
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
Peter Wentworth and his students - for working on the original Python 3 fork circa 2011
Brad Miller - for adding pop-up question dialogs to visualizations
David Pritchard and Will Gwozdz - for the Java frontend 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 advice and feedback from an instructor's perspective:
Jennifer Campbell
John Dalbey
Fredo Durand
Michael Ernst
David Evans
Paul Gries
Adam Hartz
Tomas Lozano-Perez
Bertram Ludaescher
Brad Miller
Rob Miller
Peter Norvig
Andrew Petersen
David Pritchard
Suzanne Rivoire
David Wilkins
... and many more!