Web Programming Step by Step

No tengo este libro, pero lo recomiendo a partir de su tabla de contenidos: Web Programming Step by Step.

Este libro sigue una estrategia de enseñanza de la programación web muy similar a la que yo empleo:

CHAPTER 1 THE INTERNET AND WORLD WIDE WEB

  • 1.1 WHAT IS THE INTERNET?
    • History
    • People and Organizations
    • Technologies
  • 1.2 THE WORLD WIDE WEB (WWW)
    • Clients and Servers
    • URLs and DNS
    • Hypertext Transmit Protocol (HTTP)
    • Languages of the Web

CHAPTER 2 HTML BASICS

  • 2.1 BASIC HTML
    • History
    • Page Structure
    • Block Elements
    • Inline Elements
  • 2.2 MORE HTML ELEMENTS
    • Lists
    • Tables
    • Quotations
    • Pre-Formatted Text
    • A Few Miscellaneous Elements
    • Audio and Video
  • 2.3 WEB STANDARDS
    • Why Follow Web Standards?
    • The W3C HTML Validator
    • Web Page Metadata

CHAPTER 3 CSS FOR STYLING

  • 3.1 BASIC CSS
    • CSS Syntax
    • Applying CSS to a Web Page
    • Color Properties
    • CSS Comments
  • 3.2 CSS PROPERTIES
    • Font Properties
    • Text Properties
    • Background Properties
    • List Properties
    • Table Properties
  • 3.3 MORE CSS SYNTAX
    • Style Inheritance and Conflicts
    • IDs and ID Selectors
    • Classes and Class Selectors
    • Pseudo-class Selectors
    • W3C CSS Validator
  • 3.3 CASE STUDY: TRAVELER TIMES REVISITED
    • HTML Content
    • Fonts and Colors
    • Text and List Properties
    • Targeting Elements with IDs and Classes
    • Final File Contents

CHAPTER 4 PAGE LAYOUT

  • 4.1 STYLING PAGE SECTIONS
    • Page Sections (div et al)
    • Spans of Text (span)
    • CSS Context Selectors
  • 4.2 INTRODUCTION TO LAYOUT
    • The CSS Box Model
    • Default Styles
    • Finding Box Model Problems with Firebug
  • 4.3 FLOATING ELEMENTS
    • The float Property
    • The clear Property
    • Making Floating Elements Fit
    • Multi-Column Layouts
  • 4.4 SIZING AND POSITIONING
    • Width and Height
    • Positioning
    • Z-indexing
    • Element Visibility
  • 4.5 CASE STUDY: ULTIMATE FRISBEE
    • Page Sections and General Styles
    • Images, Headings, and Lists
    • Page Layout
    • Final File Contents

CHAPTER 5 PHP

  • 5.1 SERVER-SIDE BASICS
    • Lifecycle of a Web Request
    • Introduction to PHP
  • 5.2 PHP BASIC SYNTAX
    • Syntax Errors
    • The print Statement
    • Types
    • Arithmetic
    • Variables
    • Strings
    • Comments
    • Boolean Logic
    • Control Statements
    • Errors and Debugging
  • 5.3 EMBEDDED PHP
    • Embedding PHP in HTML
    • Expression Blocks
  • 5.4 ADVANCED PHP SYNTAX
    • Functions
    • Including Files
    • Arrays
    • The foreach Loop
    • File I/O
    • Classes and Objects
  • 5.5 CASE STUDY: WORD OF THE DAY
    • Index Page
    • Word Definition Page
    • Final File Contents

CHAPTER 6 FORMS

  • 6.1 FORM BASICS
    • Parameterized Pages and Query Strings
    • A Simple Form
  • 6.2 FORM CONTROLS
    • Text Boxes
    • Checkboxes and Radio Buttons
    • Labels
    • Drop-down Menus and Lists
    • Reset Buttons
    • New Form Controls in HTML5
    • Grouping Controls (Field Sets)
    • Styling Forms
  • 6.3 SUBMITTING DATA
    • URL-encoding
    • Hidden Input Parameters
    • HTTP Requests: GET vs. POST
    • Uploading Files
  • 6.4 PROCESSING FORM DATA IN PHP
    • Superglobal Associative Arrays
    • Working with $_GET and $_POST
    • Processing Uploaded Files
  • 6.5 CASE STUDY: VOCAB QUIZ
    • Selecting Random Words
    • Submitting Guesses
    • Final File Contents

CHAPTER 7 WEB DESIGN

  • 7.1 USER-CENTERED DESIGN
    • The Typical User
    • Visual Design Concepts
    • The Design Process
  • 7.2 PAGE LAYOUT
    • General Appearance
    • Home Pages
    • Navigation and Links
    • Forms and UI Controls
  • 7.3 ACCESSIBILITY
    • Accessibility Issues
    • An Accessibility Checklist

CHAPTER 8 JAVASCRIPT

  • 8.1 KEY JAVASCRIPT CONCEPTS
    • Client-Side Scripting
    • Event-Driven Programming
    • A JavaScript Program
    • The Document Object Model (DOM)
  • 8.2 JAVASCRIPT SYNTAX
    • Types
    • Numbers and Arithmetic
    • Variables
    • Comments
    • Using DOM Objects
    • Debugging Common Errors
    • Strings
    • for Loops
    • The Math Object
    • Null and Undefined Values
  • 8.3 PROGRAM LOGIC
    • Comparison Operators
    • Conditional Statements: if/else
    • Boolean Values
    • Logical Operators
    • While Loops
  • 8.4 ADVANCED JAVASCRIPT SYNTAX
    • Scope and Global Variables
    • Arrays
    • Function Parameters and Returns
    • Input Dialog Boxes
  • 8.5 CASE STUDY: HANGMAN
    • Initial HTML/CSS Code
    • Choosing a Word with JavaScript
    • Making Guesses
    • Right and Wrong Guesses
    • Final File Contents

CHAPTER 9 THE DOCUMENT OBJECT MODEL (DOM)

  • 9.1 GLOBAL DOM OBJECTS
    • window.onload and Unobtrusive JavaScript
    • Anonymous Functions
    • The Keyword this
  • 9.2 DOM ELEMENT OBJECTS
    • Interacting with Text
    • Adjusting Styles
    • Unobtrusive Styling
  • 9.3 THE DOM TREE
    • DOM Nodes
    • Traversal Properties and Methods
    • Traversing Elements
    • Selecting Groups of Elements
    • Creating and Removing Nodes
  • 9.4 CASE STUDY: COLORED SQUARES
    • Initial HTML/CSS Code
    • Creating Squares
    • Add Squares, Change Colors
    • Clickable Squares
    • Final File Contents

CHAPTER 10 PROTOTYPE AND SCRIPTACULOUS

  • 10.1 PROTOTYPE
    • Introduction to Prototype
    • Language Improvements
    • Prototype and the DOM
    • Accessing Styles
    • Traversing the DOM
    • Prototype and Forms
  • 10.2 SCRIPTACULOUS
    • Visual Effects
    • Drag-and-Drop
    • Controls and Sounds

CHAPTER 11 EVENTS

  • 11.1 EVENT-HANDLING
    • The Event Object
    • Mouse Events
    • Keyboard and Text Events
    • Form Events
    • Page Events
    • Timer Events
  • 11.2 CASE STUDY: MULTIPLICATION QUIZ
    • Initial HTML/CSS Content
    • Problems and Guesses
    • Time Limits
    • Final File Contents

CHAPTER 12 AJAX, XML, and JSON

  • 12.1 AJAX CONCEPTS
    • History and Compatibility
  • 12.2 USING XMLHTTPREQUEST TO FETCH DATA
    • Synchronous Requests
    • Checking for Ajax Errors
    • Asynchronous Requests
    • Prototype’s Ajax Features
    • Ajax Security and Debugging
  • 12.3 XML
    • What is XML?
    • XML Document Structure, Schemas, and DTDs
    • Processing XML Data
  • 12.4 JSON
    • JavaScript Object Literals
    • JSON Data Format
    • Processing JSON Data
  • 12.5 CASE STUDY: ANIMAL GAME
    • Initial HTML/CSS Content
    • Fetching Question Data Using Ajax
    • End-of-Game and Adding Polish
    • Final File Contents

CHAPTER 13 RELATIONAL DATABASES AND SQL

  • 13.1 DATABASE BASICS
    • Motivation
    • Example Database: imdb
  • 13.2 SQL
    • Connecting to MySQL
    • Database/Table Information
    • The SELECT Statement
    • Filtering Results with the WHERE Clause
    • Ordering Results: ORDER BY
    • Aggregating Data: GROUP BY, HAVING
    • Modifying Data: INSERT, EDIT, and DELETE
  • 13.3 MULTI-TABLE QUERIES
    • Cartesian Product
    • Joins
    • Keys
    • Designing a Query
  • 13.4 QUERYING A DATABASE IN PHP
    • Connecting to a Database
    • Performing Queries
    • Error Checking
    • MySQL-specific Database Functions
  • 13.5 CASE STUDY: ADVENTURE RECOMMENDER
    • Index Page
    • Adventure Recommendations Page
    • Final File Contents

CHAPTER 14 COOKIES AND SESSIONS

  • 14.1 COOKIE BASICS
    • What is a Cookie?
    • Myths About Cookies
    • Lifecycle of a Cookie
    • How Cookies are Stored
  • 14.2 PROGRAMMING WITH COOKIES
    • Cookies in PHP
    • Cookies in JavaScript
    • A JavaScript Cookie Library
  • 14.3 SESSIONS
    • Lifecycle of a Session
    • Sessions in PHP
  • 14.4 CASE STUDY: USER LOGIN SYSTEM
    • Basic HTML/CSS Content
    • User Login Page
    • Grades and Teachers Pages
    • Restricting Access
    • Logging Out
    • Adding “Flash” Messages
    • Final File Contents

CHAPTER 15 WEB SECURITY

  • 15.1 SECURITY PRINCIPLES
    • Threats and Attacks
    • Thinking Like an Attacker
    • The Security Mindset
  • 15.2 CROSS-SITE SCRIPTING (XSS)
    • A Typical XSS Attack
    • Defending Against XSS
  • 15.3 VALIDATING INPUT DATA
    • Client-Side Validation
    • Server-Side Validation
    • Regular Expressions
    • Regular Expressions in HTML
    • Regular Expressions in PHP
    • Regular Expressions in JavaScript
  • 15.4 SQL INJECTION
    • Typical SQL Injection Attacks
    • Defending Against SQL Injection
  • 15.5 SESSION-BASED ATTACKS
    • Session Hijacking
    • Cross-Site Request Forgery (CSRF)
    • Defending Against CSRF

Profesor del Departamento de Lenguajes y Sistemas Informáticos de la Universidad de Alicante (España). Interesado en el desarrollo y la accesibilidad web.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *

*

This site uses Akismet to reduce spam. Learn how your comment data is processed.