Information on our two JavaScript books, as well as sample code, errata, additional exercises, student work samples, and bonus material.
This text covers client-side JavaScript, starting from scratch, and is intended as a primary text for a CS1 course. The first half of the book focuses on helping its readers develop fundamental programming skills. Later chapters explore advanced topics including event-driven applications, distributed systems, and 2-D and 3-D graphics.
You can find all of the code from the text on github, though we've hosted a handful of applications here for you to run directly:
JavaScript is an evolving language, and can be used for more than just web applications. We've kept our text short by focusing on JavaScript's role in client-side applications for the desktop and mobile web, but there is much more to the language and even to the JavaScript culture. We've provided some short sections for instructors who wish to add material beyond the client-side JavaScript covered in the text:
Here are two projects done by our students which you are free to copy and extend.
We strongly suggest that readers keep up with the latest developments in JavaScript by visiting conference sites for JSConf, txjs, the jQuery Conference, and Full Frontal. Many of the conference talks are available in video format on the conference sites and on various channels (e.g., JSConf and JSConf.eu on bliptv, and txjs on vimeo).
For homework submissions, we like both github and jsfiddle.
A nice JavaScript shell is codeBoot.
And here is a seemingly random, and certainly incomplete, collection of even more links of interest to JavaScript programmers.
This 94-page text introduces the JavaScript language.