ldct / isicp

Interactive Structure and Interpretation of Computer Programs

Home Page:http://www.xuanji.li/isicp/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Interactive SICP

screenshot

Structure and Interpretation of Computer Programs now in an interactive textbook form!

Click on (almost) any code fragment to edit. Ctrl-Enter will re-run the script.

Contributing

NOTE: a lot of the code lives in a separate repository, web-worker-interpreter

This project is a work-in-progress and we need your help!

  • Report any bugs, typos etc that you find
  • Mark-up more code fragments and exercises! I'm currently in the middle of chapter 2-2
  • Write more exercise autograders!
  • Add new features!

The chapter and section files here will be generated by render_all.sh using files in content/ as input. Please make changes there.

todo

  • Display hints as to why user did not pass an exercise
  • Make code changes persist between page reloads by linking to a google account

Contributing

iSICP is built on the web-worker-interpreter/coding.js library. We use the CodeMirror editor and a custom scheme interpreter.

If you just wish to help port more of SICP to this site, here is how to create an interactive code fragment.

<div id="scheme-times-size">
(* 5 size)
</div>
<script>
prompt("scheme-times-size", ["scheme-define-size"]);
</script>

the div contains the initial text. The second argument to prompt is optional and specifies dependencies.

About

Interactive Structure and Interpretation of Computer Programs

http://www.xuanji.li/isicp/

License:MIT License


Languages

Language:HTML 98.9%Language:JavaScript 0.7%Language:CSS 0.3%Language:Python 0.1%Language:Shell 0.0%