ldct/isicp

Interactive Structure and Interpretation of Computer Programs

HTML

1,161

467 commits

updated Jan 21, 2020

See the code

README

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.

ldct/isicp

Interactive Structure and Interpretation of Computer Programs

HTML

1,161

467 commits

updated Jan 21, 2020

See the code

README

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.

Significant stargazers

Jun Wu

207 followers · starred Jan 2014

Chayoung You

285 followers · starred Nov 2014

James Sturtevant

214 followers · starred Feb 2019

Avinash Sajjanshetty

1,433 followers · starred Feb 2019