Table of Contents

1.1 Web history
1.2 IP addresses, domain names, and URLs
1.3 HTTP
1.4 Web trends
1.5 Introduction to HTML
1.6 Introduction to CSS
1.7 Introduction to JavaScript

2.1 HTML document structure
2.2 Basic HTML tags
2.3 Comments
2.4 Lists
2.5 Tables
2.6 Images
2.7 Links
2.8 Special characters
2.9 Example: Band web page

3.1 HTML containers
3.2 Forms
3.3 Common widgets
3.4 Additional widgets
3.5 Audio and video
3.6 < script > and < style >
3.7 HTML developer guidelines
3.8 Example: Restaurant reviews

4.1 Using CSS in HTML
4.2 Basic selectors
4.3 Advanced selectors
4.4 Common properties
4.5 Font and text properties
4.6 Box model
4.7 Example: Band web page with styling

5.1 Positioning elements
5.2 Special effects
5.3 Animation
5.4 Page layout
5.5 Styling forms
5.6 Sass

6.1 Syntax and variables
6.2 Arithmetic
6.3 Conditionals
6.4 Loops
6.5 Functions
6.6 Arrays
6.7 Objects
6.8 String, date, and math objects
6.9 Date object
6.10 Math object

7.1 Using JavaScript with HTML
7.2 Document Object Model (DOM)
7.3 Event-driven programming
7.4 Timers
7.5 Modifying CSS with JavaScript
7.6 XMLHttpRequest (Ajax)
7.7 Browser differences: JavaScript
7.8 XMLHttpRequest (Ajax)
7.9 Using third-party web APIs (JavaScript)
7.10 Browser differences: JavaScript
7.11 Example: Lightsource game
7.12 Example: Weather comparison

8.1 Regular expressions
8.2 Classes
8.3 Classes (ES6)
8.4 Inner functions, outer functions, and function scope
8.5 Closures
8.6 Canvas transformations and animation
8.7 WebSockets
8.6 Strict mode
8.7 Web storage
8.8 Canvas drawing
8.9 Canvas transformations and animations
8.10 WebSockets
8.11 Asynchronous JavaScript
8.12 Example: Lightsout game with Canvas drawing

9.1 Getting started
9.2 Selectors
9.3 Events
9.4 Styles and animation
9.5 DOM manipulation
9.6 Ajax
9.7 Plugins
9.8 Example: Weather comparison (using jQUERY)

10.1 Mobile websites and browsers
10.2 Mobile development tools
10.3 Viewport
10.4 Fluid layouts
10.5 Media queries
10.6 Responsive images
10.7 Example: Responsive band webpage

11.1 Full-stack development (Node)
11.2 Getting started with Node.js
11.3 Express
11.4 Pug
11.5 Relational databases (Node)
11.6 MySQL (Node)
11.7 MongoDB
11.8 Mongoose
11.9 Creating RESTful web APIs (Node)
11.10 Using RESTful web APIs (Node)
11.11 Third-party web APIs (Node)
11.12 Token-based user authentication (Node)
11.13 Password hashing (Node)

12.1 Full-stack development (PHP)
12.2 Getting started with PHP
12.3 Arithmetic and comparisons (PHP)
12.4 Conditionals and loops (PHP)
12.5 Arrays (PHP)
12.6 Functions (PHP)
12.7 Includes (PHP)
12.8 Classes and objects (PHP)
12.9 String, date/time, and math functions (PHP)
12.10 Submitting forms (PHP)

13.1 Regular expressions (PHP)
13.2 Error handling (PHP)
13.3 File handling (PHP)
13.4 Cookies and sessions (PHP)
13.5 Relational databases (PHP)
13.6 MySQL (PHP)
13.7 MySQLi (PHP)
13.8 PHP Data Objects (PHP)
13.9 User authentication (PHP)
13.10 Using third-party web APIs (PHP)

14.1 Relational databases
14.2 Structured query language (SQL)
14.3 Creating, altering, and deleting tables
14.4 Inserting rows
14.5 Selecting rows
14.6 SQL functions
14.7 Joining tables
14.8 Updating and deleting rows

What You’ll Find In This zyBook:

More action with less text.

  • Highly-interactive introduction to Web Programming using the HTML5 standard
  • Numerous animations and interactive question sets
  • Topics include HTML, CSS, JavaScript, Ajax, Mobile web, Node.js, databases
  • Introduces full-stack development of web applications
  • Over 150 seamlessly integrated, auto-generated and auto-graded challenge questions

Instructors: Interested in evaluating this zyBook for your class? Sign up for a Free Trial and check out the first chapter of any zyBook today!

The zyBooks Approach

Less text doesn’t mean less learning.

Provides an exceptionally-interactive introduction to Web Programming, with numerous embedded learning questions and animations. Instructors can quickly see which activities have been completed by students.

This zyBook provides a new, highly-interactive introduction to Web Programming using the HTML5 standard, which uses HTML, CSS, and JavaScript to create webpages and web applications. This zyBook emphasizes how HTML, CSS, and JavaScript separate document structure, document presentation, and web page interaction with the user, respectively, and provides highly-interactive learning of each of these languages. This material covers full-stack development of web application, including client-side technologies that run in the web browser (HTML, CSS, JavaScript) and server-side technologies that run on the web server (Node.js, databases).

“I have now been asked to teach Discrete Mathematics again … because of my past experience with zyBooks I agreed to teach this topic again only if I could use the zyBook again.”

Timothy StanleyLecturer, Utah Valley University

Key Contributors

Frank McCown
Associate Professor of Computer Science, Harding University

The full list of authors and contributors can be found in the zyBook’s About page.