codeworld, 使用Haskell的教育计算机编程环境

分享于 

6分钟阅读

GitHub

  繁體 雙語
Educational computer programming environment using Haskell
  • 源代码名称:codeworld
  • 源代码网址:http://www.github.com/google/codeworld
  • codeworld源代码文档
  • codeworld源代码下载
  • Git URL:
    git://www.github.com/google/codeworld.git
    Git Clone代码到本地:
    git clone http://www.github.com/google/codeworld
    Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/google/codeworld
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
    
    CodeWorld

    CodeWorld是一个使用Haskell的教育环境。 它为几何图形。动画。交互式和多玩家游戏提供了简单的数学模型。 基于web的编程环境使用零设置编辑器和编译器支持这里教育任务,轻松共享项目,并且能够使用GHCJS在浏览器中运行程序,从而使程序更加容易。

    有几种可用的CodeWorld变体:

    状态

    CodeWorld是稳定的,已经在学校中使用多年 ! 请参见的用户页部分列表。 我们在不断改进环境。 必要时,在典型的( 美国 ) K-12 学术期间进行断开更改,以最小化现有类的中断。

    谷歌发布CodeWorld的代码,但CodeWorld不是官方的谷歌项目,谷歌不支持它。 相反,应该向 codeworld询问项目或者代码的问题,讨论邮件列表。 此外,还可以使用 http://help.code.world 提供一个学生友好的问答论坛,以解决有关编写的问题,而不是关于构建或者修改CodeWorld本身问题的问题。

    启动

    只需访问 https://code.world 即可开始。

    不需要下载或者安装任何使用CodeWorld的东西。 如果你喜欢 fork 和修改CodeWorld环境,或者贡献更改,这个存储库将非常有用。

    讨论并了解更多信息

    要讨论并听取关于CodeWorld的公告,请订阅 https://groups.google.com/forum/#!forum/codeworld-discuss的邮件列表。

    邮件列表应用于:

    • 听到有关即将发生的更改和功能的公告和讨论。
    • 询问有关使用系统的问题,并反馈你的经验。
    • 分享使用站点,相关课堂活动和更多的有趣方法。

    若要报告 Bug 或者文件正式功能请求,请尝试 https://github.com/google/codeworld/issues。

    有一些文件参与了CodeWorld的工作。 你将需要同意捐赠者许可协议。 有关详细信息,请参阅 CONTRIBUTING.md。

    插件生成和部署

    构建和运行CodeWorld可以能是一个很长的过程,但是可以使用 root 目录中的安装脚本。 按步骤说明的步骤如下:

    • 阅读这些警告,下面解释。
    • 更改到项目的root 目录。
    • 运行 ./install.sh 以设置项目。
    • 运行 ./run.sh 以启动服务器。

    你现在可以访问 http://localhost:8080的CodeWorld系统。

    如果更改 CodeWorld,则可以在不重新生成依赖项的情况下重新生成它:

    • 更改到项目的root 目录。
    • 运行 ./build.sh 只需使用以前安装的工具和库重新编译 CodeWorld。
    • 运行 ./run.sh 以启动服务器。

    警告

    泄漏GHCJS沙箱

    安装过程在 codeworld/build 中安装了大部分文件,但它会破坏 ~/.ghc~/.ghcjs~/.cabal。 我建议你将CodeWorld作为专用用户帐户运行,以避免导致其他Haskell安装问题。 如果没有,请注意你将丢失你的用户包数据库。

    有关详细信息,请参阅 Bug #4.

    Google API密钥

    CodeWorld允许用户使用Google帐户进行身份验证,并保存他们的项目。 要使这个特性生效,你需要获得一个Google键,并将它的存储在 web/clientId.txt 中。 如果不这样做,登录和保存功能将不能正常工作,但是它的余的站点将可以用。

    交换空间

    如果在虚拟服务器上安装 CodeWorld,请注意,这些服务器上的默认内存通常对于GHC来说是不够的。 在安装过程中CodeWorld需要编译非常大的Haskell项目。 以下应足以解决你遇到的任何out-of-memory问题:

    
    $ sudo dd if=/dev/zero of=/swap bs=1024 count=2097152
    
    
    $ sudo mkswap/swap
    
    
    $ sudo swapon/swap
    
    
    
    

    这将创建一个 2 GB的交换文件来增加可用的虚拟内存。 使用交换文件安装可能比较慢,但它将成功。 ( 除非你打算在CodeWorld中编写非常大的程序,否则在运行服务器之后移除交换文件通常是安全的。)


    COM  envi  环境  Haskell  
    相关文章