pennapps

blockat: a block-based web interpreter for learning Python

The blockat website is designed to allow students to easily learn Python. The website allows students to program with a custom block-based language, which is transpiled to Python. There are a few existing solutions for this, but none offer a comprehensive learning suite that provides the full power of the Python language to students in a block-based form. The block language introduced also has the extensibility to be integrated with different Python modules and packages, leveraging the massive community of open-source Python software. Most importantly, all of the code for this project is open-source, allowing students and educators to look inside the hood and gain complete control over their learning.

Blockat is implemented entirely client-side and is hosted on an AWS EC2 instance. The blocks are created in pure HTML/CSS, which is directly converted to Python syntax in an embedded text editor. The user can run the Python through Skulpt and view the result on the page. Blockat's block-based editor supports all major features of the Python programming language, including support for importing a few modules like math and numpy. If the user requires more advanced functionality that is not currently available in the web editor, blockat offers the ability to download the block code as either HTML or Python; the HTML can be re-uploaded to continue progress on an old block script.

As a learning tool, blockat strives to ease new students into serious programming. The block-based workflow is easy for new learners to visualize, while the direct connection with real Python code provides the power and versatility necessary to take their growth to the next level.

Built With

Share this project:

Updates