zyBook: Web Programming with zyLabs

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 form widgets
3.4 Additional form 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: Styled band web page

5.1 Flexbox
5.2 Grid layout
5.3 Positioning elements
5.4 Special effects
5.5 Animation
5.6 Styling forms
5.7 Sass
5.8 Example: Styled Restaurant Reviews

6.1 Syntax and variables
6.2 Arithmetic
6.3 Conditionals
6.4 More conditionals
6.5 Loops
6.6 Functions
6.7 Scope and the global object
6.8 Arrays
6.9 Objects
6.10 Maps
6.11 String object
6.12 Date object
6.13 Math object
6.14 Exception handling

7.1 Using JavaScript with HTML
7.2 Document Object Model (DOM)
7.3 More DOM modification
7.4 Event-driven programming
7.5 Timers
7.6 Modifying CSS with JavaScript
7.7 Form validation
7.8 JavaScript Object Notation (JSON)
7.9 XMLHttpRequest (Ajax)
7.10 Using third-party web APIs (JavaScript)
7.11 Browser differences: JavaScript
7.12 Example: Lights Out game
7.13 Example: Weather Comparison

8.1 Regular expressions
8.2 Classes
8.3 Classes (ES6)
8.4 Classes (ES13)
8.5 Inner functions, outer functions, and function scope
8.6 Closures
8.7 Modules
8.8 Strict mode
8.9 Web storage
8.10 Canvas drawing
8.11 Canvas transformations and animation
8.12 WebSockets
8.13 Promises
8.14 async and await
8.15 Fetch API
8.16 Example: Lights Out game with canvas
8.17 Example: Weather Comparison (fetch)

9.1 Mobile websites and browsers
9.2 Mobile development tools
9.3 Viewport
9.4 Media queries
9.5 Responsive images
9.6 Bootstrap
9.7 Example: Responsive band webpage

10.1 Full-stack development (Node)
10.2 Getting started with Node.js
10.3 Express
10.4 Express request data
10.5 Pug
10.6 Relational databases and SQL (Node)
10.7 MySQL (Node)
10.8 mysql module (Node)
10.9 MongoDB
10.10 Mongoose
10.11 Creating RESTful web APIs (Node)
10.12 Using RESTful web APIs with Fetch
10.13 Third-party web APIs (Node)
10.14 Token-based user authentication (Node)
10.15 Password hashing (Node)

11.1 Getting started with React
11.2 JSX
11.3 Components
11.4 Event handling
11.5 State
11.6 Conditional rendering
11.7 Lists
11.8 Forms
11.9 Example: Todo List
11.10 Router
11.11 Styling
11.12 React Bootstrap
11.13 Fetching data
11.14 Example: Message Board back-end
11.15 Example: Message Board front-end (Part 1)
11.16 Example: Message Board front-end (Part 2)

12.1 Getting started with jQuery
12.2 Selectors
12.3 Events
12.4 Styles and animation
12.5 DOM manipulation
12.6 Ajax
12.7 Using third-party web APIs (jQuery)
12.8 Using RESTful web APIs with jQuery
12.9 Plugins
12.10 Example: Weather Comparison (jQuery)

13.1 Full-stack development (PHP)
13.2 Getting started with PHP
13.3 Arithmetic and comparisons (PHP)
13.4 Conditionals (PHP)
13.5 Loops (PHP)
13.6 Arrays (PHP)
13.7 Functions (PHP)
13.8 Includes (PHP)
13.9 Classes and objects (PHP)
13.10 String, date/time, and math functions (PHP)
13.11 Submitting forms (PHP)

14.1 Regular expressions (PHP)
14.2 Error handling (PHP)
14.3 File handling (PHP)
14.4 Cookies and sessions (PHP)
14.5 Relational databases and SQL (PHP)
14.6 MySQL (PHP)
14.7 MySQLi (PHP)
14.8 PHP Data Objects (PHP)
14.9 User authentication (PHP)
14.10 Using third-party web APIs (PHP)

15.1 Relational databases
15.2 Structured Query Language (SQL)
15.3 Creating, altering, and deleting tables
15.4 Inserting rows
15.5 Selecting rows
15.6 SQL functions
15.7 Joining tables
15.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 latest web standards
  • Numerous animations and interactive question sets
  • Topics include HTML, CSS, JavaScript, mobile web, Node.js, React, databases
  • Introduces full-stack development of web applications
  • Over 150 seamlessly integrated, auto-generated and auto-graded challenge questions
  • With test banks

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 highly-interactive introduction to Web Programming using the latest web standards. It covers full-stack development of web applications, 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, PHP, databases). Dozens of embedded HTML, CSS, and JavaScript exercises run directly in the zyBook.

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.