About Code Shrew
Code Shrew is a platform for learning and practicing basic concepts of programming. It enables people to create fun drawings and animations using computer code. It has a simple Python-like syntax and is designed to teach modern object-oriented programing techniques: one draws by creating objects and animates by changing their properties. This way, the resulting animations, while fantastic in their own right, can also be seen as intuitive real-time visualizations of the code's logic.
The software is accompanied by a course using the platform to present a set of fundamental programming concepts. Each lesson is based around a single central idea which is presented in a video, expanded in a text form, and then reinforced by interactive examples, which students can play with freely. We subscribe to the constructionist learning theory. We want to give students the necessary tools to realize their own creative ideas, instead of forcing them to follow predefined paths.
Ludwik Trammer built the tool and the site, and Jamie Nunez created the lessons and challenges. We started the site as a project for a graduate class at Georgia Tech - cs6460 Educational Technology. If you want to know more, you can read our paper about Code Shrew.
We proudly use the following technologies (and many others):
- Django (Python 3) - the server-side framework,
- PostgreSQL - the database,
- Bulma - the CSS framework,
- Skulpt - the in-browser Python interpreter,
- svg.js - the graphics library,
- Font Awesome - the icons (both on the site and in the icons module),
- Code Mirror - the code editor widget,
- Cloud Flare - the CDN and caching provider,