Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Creating interactive learning interfaces at Khan Academy

spicyj
September 15, 2014

Creating interactive learning interfaces at Khan Academy

For @Scale 2014 on September 15, 2014.

spicyj

September 15, 2014
Tweet

More Decks by spicyj

Other Decks in Technology

Transcript

  1. <div class="vars"> <var id="X">randRange(5, 10)</var> <var id="Y">randRange(5, 10)</var> </div> !

    <div class="problem"> <p>Bob has <var>X</var> apples...</p> </div>
  2. <label> <input checked name="dashradio" onclick="javascript: KhanUtil.currentGraph.graph.dasharray = ''; KhanUtil.currentGraph.graph.update(); "

    type="radio" value="solid"> Solid line </label> <label> <input name="dashradio" onclick="javascript: KhanUtil.currentGraph.graph.dasharray = '- '; KhanUtil.currentGraph.graph.update(); " type="radio" value="dashed"> Dashed line </label>
  3. For diagrams, we want… • Simple to create • Consistent

    look and feel • Flexibility to draw anything
  4. var MissionDashboard = React.createClass({ render: function() { return ( <div

    className="dashboard-root"> <MissionProgress mission={this.props.mission} /> <TaskArea mission={this.props.mission} /> </div> ); } });
  5. f ( x ) = Z 1 1 ˆ f

    ( ⇠ ) e 2 ⇡i⇠x d⇠
  6. • Used in production since last summer • Beautiful math

    typesetting • About 50x faster than MathJax • http://khan.github.io/KaTeX/