Self-contained modules to teach introductory web design and development