<!DOCTYPE html>
<html>
<head>
<meta name="author" content="Carsten Pfeffer">
<meta name="copyight" content="(c)2012 Carsten Pfeffer">
<meta name="language" content="en">
<meta name="keywords" content="Python, learning Python, emscripten, cpython, codemirror, empythoned, python training, web ide">
<meta name="description" content="Browser side Python training suite">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title> Think Python - About </title>
<link rel="stylesheet" href="main.css" type="text/css">
<style type="text/css">
h4
{
margin: 5px auto;
}
</style>
</head>
<body>
<div id="maincontainer" style="padding-top: 40px;">
<img src="img/closebutton.svg" id="closebutton" style="padding: 8px;"
onclick="window.location = 'index.html';"
onmouseover="this.src='img/closebutton_hover.svg'"
onmouseout="this.src='img/closebutton.svg'"/>
<div style="width: 90%; height: 90%; text-align: justify; margin: auto; padding: 25px; padding-top: 0; overflow: auto;">
<h1 style="margin-top: 0;">About Think Python</h1>
<p>
<i>Think Python</i> intends to be an interactive online learning environment for
Python. It consists of two parts: A small IDE which is able to run your Python code
in the browser without installing any plugins and an interactive training system
which can contain explainations, questions and practical tasks.
</p>
<p>
<h2>How does it work?</h2>
<h4>Running Python</h4>
To run Python in the browser the Project
<a href="https://github.com/replit/empythoned/" target="_blank">Empythoned</a> is used.
The CPython interpreter is compiled to LLVM which is compiled to JavaScript by
<a href="https://github.com/kripken/emscripten" target="_blank">Emscripten</a>.
That means that running Python in the browser is significantly slower than running it
in the native Python environment. Nevertheless it is a great advantage to be able to
run and develop python scripts on any computer without being forced to install the
Python runtime environment.
Empythoned and Emscripten are licensed under the
<a href="http://www.opensource.org/licenses/mit-license.php" target="_blank">MIT license</a>.
<h4>Syntax Highlighting</h4>
The IDE has a syntax highlighting editor which uses <a href="http://www.codemirror.net">Code Mirror</a>
for highlighting. <i>Code Mirror</i> is published under an MIT-style
<a href="editor/LICENSE" target="_blank">license</a>.
<h2>Limitations</h2>
Currently not every module of the Python standard library is supported. Also
<span style="font-family: monospace;">stdin</span> does not work yet, so you can't use the functions
<span style="font-family: monospace;">input</span> or <span style="font-family: monospace;">raw_input</span>.
<h2>Who iniciated the project?</h2>
This project was iniciated for a "Languages and Translators" class at California Polytechnic State University,
San Luis Obispo (<a href="http://www.calpoly.edu">Cal Poly Website</a>). For more information please visit
<a href="http://sourceforge.net/projects/thinkpython/" target="_blank">http://sourceforge.net/projects/thinkpython/</a> or
contact me (<a href="mailto://tuschcarsten@web.de">Carsten Pfeffer</a>).
</p>
</div>
</div>
</body>
</html>