Course Description
This course introduces students to basic programming concepts through the use of ECMAScript (JavaScript) and the Document Object Model. Students will learn the history ECMAScript, and its role in contemporary websites and web applications. Basic and intermediate scripts will be created to solve common interface problems. Students will learn to evaluate existing libraries and scripts so that they can make informed decisions about their applicability for a given task. Students will learn best practice, unobtrusive DOM Scripting techniques.
Prerequisites
Students should have taken Web design 1 or have comparable knowledge. Students should also have or be in the process of acquiring some knowledge of forms in (X)HTML. Since form handling comes very close to the end of this course, it can be taken in parallel to Web design 2. If the students lack any previous programming skills, this course must be longer and teach general programming applied with ECMAScript. If students have basic programming skills, they only need to know how ECMAScript differs from other languages in syntax and features and the focus can rapidly shift towards programming for the web, the DOM and JavaScript as an added usability layer for web applications.Recommended Textbook(s)
- Yank, Kevin and Adams, Cameron. Simply JavaScript. Collingwood, Australia: Sitepoint, 2007. Primary suggestion for courses where no previous programming experience is required.
- Koch, Peter-Paul. PPK on JavaScript. Indianapolis: New Riders, 2006. Primary suggestion for courses where some programming experience is expected.
Recommended Reading
Overview
- Willison, Simon. A (Re-)Introduction to JavaScript. (On-line resource)
- JavaScript at Mozilla Developer Central
- Programming — the real basics! The first of 13 articles on JavaScript by Opera. All should be read!
Web standards, best practice perspective
- The JavaScript Manifesto
- Unobtrusive DHTML, and the power of unordered lists by Stuart Langridge (in which article the term “unobtrusive scripting” is coined)
- Ten good practices for writing JavaScript in 2005 by Bobby van der Sluis
- JavaScript: The World's Most Misunderstood Programming Language by Douglas Crockford
- Code Conventions for the JavaScript Programming Language
- Efficient JavaScript by Mark 'Tarquin' Wilton-Jones
- Wikipedia: Unobtrusive JavaScript with additional links in the article (checked 2008-06-23)
- Understanding Progressive Enhancement by Aaron Gustafson.
- Learn JavaScript before tasting the library kool-aid by Roger Johansson
- Rules for JavaScript Library Authors by Dean Edwards
Browser support
Tutorials
- From DHTML to DOM scripting by Christian Heilmann
- A Survey of the JavaScript Programming Language by Douglas Crockford
Technologies Required
- Browser with debugger. E.g. Firefox with Firebug
- Editor or IDE
- Server with server side scripting support for testing and AJAX. (Usually provided by the teacher.)
- JSlint (can be done on-line)
The JavaScript Shell (usually provided by the teacher) is also recommended.