Introduction
This course provides an introduction to JavaScript, allowing you to extend your knowledge of how to create web pages and how to program. Although the main target audience is those who have already been exposed to HTML, CSS, and programming, the course materials include additional background for those with less experience.
Goals in design of the course
- Allow quick progression through well-understood concepts to reach new ideas.
- Stress aspects of JavaScript that may differ from languages previously studied.
- Present materials in an order so that, as much as possible, code in examples is restricted to what has already been taught.
- Explain concepts primarily using web pages as examples.
For this reason, the ordering and pacing of modules may seem unorthodox. For example, branching, iteration, and arrays are covered quite late in the course in order that other web-specific material is mastered first. Early modules have few exercises, with the expectation that much of the material covers well-understood concepts, which readers will be able to practice on their own as much as suits their individual needs.
HTML and CSS background
The materials have been created based on the assumption that you have background in HTML and CSS equivalent to that covered in the companion course Web basics. You are advised to learn that material first in order to be able to fully understand all the examples and exercises.
To help you keep clear which language is being used when, we use colour-coding so that JavaScript has one colour (like this: alert
), HTML another (like this: <p>
), and CSS yet another (like this: font-size
). Terms that are commonly used in various programming languages, but not necessarily JavaScript, appear in grey (like this: print
).
Programming background
If you have no previous programming experience, you might wish to first complete Python from scratch in order to obtain practice in programming concepts.
Subsequent modules will provide brief reviews of concepts (for those who need a few reminders) and links to the relevant language-independent course materials from Python from scratch (for those who need more in-depth background in one or more areas). Those with background can easily skip past the review material.