Difference between revisions of "BayHac2017/CodeWorld"
(First draft of project info for CodeWorld) |
(add some more project ideas) |
||
Line 32: | Line 32: | ||
CodeWorld is a large project, and has a lot going on. Here's a list of tasks of reasonable scope for a weekend. |
CodeWorld is a large project, and has a lot going on. Here's a list of tasks of reasonable scope for a weekend. |
||
− | * Improving the editor with better autocomplete ([https://github.com/google/codeworld/issues/33 bug], [https://github.com/google/codeworld/issues/135 bug]), links between declarations and usage ([https://github.com/google/codeworld/issues/136 bug]), or other editor features ([https://github.com/google/codeworld/issues/134 bug], [https://github.com/google/codeworld/issues/10 bug]). |
+ | * Improving the editor with better autocomplete ([https://github.com/google/codeworld/issues/33 bug], [https://github.com/google/codeworld/issues/135 bug]), links between declarations and usage ([https://github.com/google/codeworld/issues/136 bug]), collaborative coding using together.js ([https://github.com/google/codeworld/issues/17 bug]), or other editor features ([https://github.com/google/codeworld/issues/134 bug], [https://github.com/google/codeworld/issues/10 bug]). |
* Exporting drawings and animations to image files, animated gifs, or video files. ([https://github.com/google/codeworld/issues/449 bug]) |
* Exporting drawings and animations to image files, animated gifs, or video files. ([https://github.com/google/codeworld/issues/449 bug]) |
||
* Debugging features ([https://github.com/google/codeworld/issues/21 bug], [https://github.com/google/codeworld/issues/20 bug], [https://github.com/google/codeworld/issues/424 bug]) |
* Debugging features ([https://github.com/google/codeworld/issues/21 bug], [https://github.com/google/codeworld/issues/20 bug], [https://github.com/google/codeworld/issues/424 bug]) |
||
* Better support for console-mode programs. ([https://github.com/google/codeworld/issues/254 bug]) |
* Better support for console-mode programs. ([https://github.com/google/codeworld/issues/254 bug]) |
||
* Constructive area geometry ([https://github.com/google/codeworld/issues/28 bug]) |
* Constructive area geometry ([https://github.com/google/codeworld/issues/28 bug]) |
||
− | * |
+ | * Improve multi-player game framework by using WebRTC ([https://github.com/google/codeworld/issues/391 bug]), implementing desync detection ([https://github.com/google/codeworld/issues/434 bug]), or adding smoothing for delayed events ([https://github.com/google/codeworld/issues/447 bug]) |
There are other possibilities, as well, if none of this catches your eye. |
There are other possibilities, as well, if none of this catches your eye. |
Revision as of 20:18, 12 March 2017
Project: | CodeWorld |
Description: | Educational computer programming environment using Haskell |
Maintainers/liaisons: | Chris Smith |
Source: | https://github.com/google/codeworld |
Website: | https://code.world/ |
What It Is
CodeWorld is a web-based development system for Haskell programming in education. The web site provides a code editor, in-browser preview, and options to load and save programming projects. The library is inspired by Gloss, and provides a purely functional API for drawing pictures, animations, and interactive programs.
The main intent of CodeWorld is to be used for middle school aged children. Because of this, it defaults to a simplified variant of Haskell. However, a full Haskell version is available and widely used.
Installing
Installation is done by cloning the repository, and then running install.sh
, then build.sh
, and finally run.sh
. Be aware that running install.sh
will delete your ~/.ghc
directory!
Installing takes some time (mostly building and installing node.js and GHCJS), but only needs to be done once. Future changes can just run the build and run scripts, which is considerably faster. I'll be happy to help with this process, either at BayHac or earlier.
Possible Projects
CodeWorld is a large project, and has a lot going on. Here's a list of tasks of reasonable scope for a weekend.
- Improving the editor with better autocomplete (bug, bug), links between declarations and usage (bug), collaborative coding using together.js (bug), or other editor features (bug, bug).
- Exporting drawings and animations to image files, animated gifs, or video files. (bug)
- Debugging features (bug, bug, bug)
- Better support for console-mode programs. (bug)
- Constructive area geometry (bug)
- Improve multi-player game framework by using WebRTC (bug), implementing desync detection (bug), or adding smoothing for delayed events (bug)
There are other possibilities, as well, if none of this catches your eye.