Table of Contents
1. Introduction to Web Programming
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. HTML Fundamentals
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 webpage
3. More HTML
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. CSS Fundamentals
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 webpage
5. More CSS
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. JavaScript Fundamentals
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. JavaScript in the Browser
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 (XMLHttpRequest)
8. More JavaScript
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. Mobile Web Development
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. Node.js
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. React
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. jQuery
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. PHP Fundamentals
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. More 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. Relational Databases and SQL
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
16. Web Accessibility
16.1 Introduction to accessibility
16.2 Accessibility tools
16.3 Page structure
16.4 WAI-ARIA
16.5 Colors
16.6 Images
16.7 Links
16.8 Text
16.9 Forms
Teach full-stack development with this fully interactive introduction to key web programming concepts
Web Programming introduces full-stack development of web applications using the latest web standards.
- Covers client-side technologies such as HTML, CSS, JavaScript, React, and server-side technologies including Node.js, PHP and relational databases
- Provides interactive HTML, CSS, and JavaScript practice problems with built-in auto-grading that run right in the zyBook, giving students instant feedback and saving instructors time
- Provides the ability to run React code directly within the zyBook
- Includes a new zyLab IDE that simplifies how students write and submit their lab solutions
- Adopters have access to a test bank with more than 500 multiple-choice questions
Lead author Professor Frank McCown demonstrates the new zyLabs interface:
What is a zyBook?
Web Programming is a web-native, interactive zyBook that helps students visualize concepts to learn faster and more effectively than with a traditional textbook. (Check out our research.)
Since 2012, over 1,700 academic institutions have adopted web-native zyBooks to transform their STEM education.
zyBooks benefit students and instructors:
- Instructor benefits
- Customize your course by reorganizing existing content or adding your own
- Continuous publication model updates your course with the latest content and technologies
- Robust reporting gives you insight into students’ progress, reading and participation
- Save time with auto-graded labs and challenge activities that seamlessly integrate with your LMS gradebook
- Student benefits
- Learning questions and other content serve as an interactive form of reading
- Instant feedback on labs and homework
- Concepts come to life through extensive animations embedded into the interactive content
- Save chapters as PDFs to reference the material at any time
See the new React tools:
Author
Frank McCown
Professor of Computer Science, Harding University