jsdares is an experimental learning environment, created by Jan Paul Posma for a masters dissertation at the University of Oxford. The code is available under the MIT license.
- Collaborative platform for anyone to create and solve programming puzzles: "dares".
- Custom parser for a subset of Javascript: "js--".
- Runtime that saves everything, and allows moving through the program execution with ease, inspired by Omniscient Debugger.
- Advanced interface for making games that allows going back in time, visualises how the code maps to the output, and makes it easy to tinker with the code, inspired by Bret Victor.
- Robot environment for learning the basics of programming, based on the Logo turtle and Karel the Robot.
- Canvas and console environments based on the standard browser components.
- Extensive set of code examples.
- Basic set of dares which challenge learners to make shorter programs using the concepts they are learning, inspired by Code Golf.
- Cohesively designed experience.
- Install node.js.
- Install mongodb.
- Install dependencies:
npm install
. - Install the grunt client:
npm install -g grunt-cli
. - Start mongodb:
mongod
. - Run grunt:
grunt
. - Done!
To load the default dares, register a user with username janpaul123 and restart the server. Automatically dares will be created for this user, and the user will get admin rights.
- Clayer, a direct interaction library based on BVlayer.
- Robot, a robot applet based on the robot environment.
First of all, reporting issues and fixing bugs is always great!
Right now the focus is on refactoring the codebase to make it more modular, so we can easily extract components to other projects and integrate new functionality. If you want to use functionality from jsdares in your own project, you can help extracting it. And integrating your own and new functionality into jsdares is of course also very welcome! Just drop me a line at [email protected].