Congratulations! You’ve finished the course! Or, perhaps, you’re eager to see the mountain of information that went into generating this course. Either way, here is a list of different objects that helped me immensely. In each category, they are listed more or less in descending order of importance.



  • Haverbeke, Marijn. Eloquent JavaScript. 2nd Ed. San Francisco: No Starch Press, 2015. The companion book for this course. Enough detail about JavaScript for a future computer scientist but also remembering that novices are reading the book.
  • Crockford, Douglas. JavaScript: The Good Parts. Sebastopol, CA: O’Reilly Media, 2008. Showing its age, but a slender volume full of advice worth following. Crockford has made a career of convincing programmers to take JavaScript seriously, and this book is part of that process.
  • Brown, Todd. Learning JavaScript. 3rd Ed. Sebastopol, CA: O’Reilly Media, 2016. The first book on this list to tackle ES6 as a central part of its body.



  • Crockford, Douglas. “The Early Years.” Crockford on JavaScript. 2010. Crockford takes us on a walk through the history of computer programming up to the birth of JavaScript. In a talk that often veers to the far too technical for our audience, he nevertheless drives two important insights home: that programmers, the very people who would benefit most from innovation, are often those least receptive to it, and that obsolete technologies fade away slowly, making innovation difficult.
  • Crockford, Douglas. “And Then There Was JavaScript.” Crockford on JavaScript. 2010. Crockford continues the history, moving now through the first, wild years of JavaScript.
  • Burke, James. “Faith in Numbers.” Connections. 1978. In his classic, causal way, Burke draws a line from Roman-era water wheels to computer programming, the prehistory to Crockford’s lectures.


  • Atom.
  • Git.
  • Leaflet. A JavaScript map maker.
  • jQuery. A JavaScript library to simplify writing JavaScript for the browser.
  • Bootstrap.
  • Brave. A browser.
  • Vim. Despite this course’s dependence on Atom, the actual course was written with vim. Originally released 25 years ago, vim is a text editor that requires enormous patience at first. In my opinion, the steep learning curve is worth it for many reasons, but I begrudge no one who looks at it and shakes their head in disbelief.

Other Languages


  • RubyMonk. An online tutorial to Ruby that forces you to write your own code before moving to the next step. Because you are writing live Ruby, mistakes raise exceptions and give useful error messages.